PandA-2024.02
|
This struct specifies the case_label_expr node. More...
#include <tree_node.hpp>
Public Types | |
enum | { GETID =(expr_node) = 0, GETID =(expr_node) = 0, GETID =(expr_node) = 0 } |
visitor enum More... | |
Public Types inherited from expr_node | |
enum | { GETID =(srcp) = 0, GETID =(srcp) = 0 } |
visitor enum More... | |
Public Types inherited from WeightedNode | |
enum | { GETID =(tree_node) = 0 } |
visitor enum More... | |
Public Member Functions | |
case_label_expr (unsigned int i) | |
constructor More... | |
void | visit (tree_node_visitor *const v) const override |
Redefinition of get_kind_text. More... | |
Public Member Functions inherited from expr_node | |
expr_node (unsigned int i) | |
constructor More... | |
Public Member Functions inherited from srcp | |
srcp () | |
constructor More... | |
virtual | ~srcp () |
Destructor. More... | |
Public Member Functions inherited from WeightedNode | |
WeightedNode (unsigned int i) | |
Constructor. More... | |
Public Member Functions inherited from tree_node | |
tree_node (unsigned int i) | |
Constructor. More... | |
virtual | ~tree_node ()=default |
Destructor. More... | |
virtual enum kind | get_kind () const =0 |
Virtual function returning the type of the actual class. More... | |
virtual std::string | get_kind_text () const =0 |
Virtual function returning the name of the actual class. More... | |
std::string | ToString () const |
Print this node as string in gimple format. More... | |
Data Fields | |
tree_nodeRef | op0 |
op0 is the operand 0 (macro CASE_LOW) of the case label expression More... | |
tree_nodeRef | op1 |
op1 is the operand 1 (macro CASE_HIGH) of the case label expression More... | |
bool | default_flag |
default_flag is true if the label is a 'default' label More... | |
tree_nodeRef | got |
got field is the operand 2 (macro CASE_LABEL) of the case label expression More... | |
Data Fields inherited from expr_node | |
tree_nodeRef | type |
type of the expression More... | |
Data Fields inherited from srcp | |
std::string | include_name |
include_name is a filename string, this can be the location of a reference, if no definition has been seen. More... | |
unsigned int | line_number |
line_number holds a line number. More... | |
unsigned int | column_number |
column_number holds the column number. More... | |
Data Fields inherited from tree_node | |
const unsigned int | index |
Represent the index read from the raw file and the index-1 of the vector of tree_node associated to the functions vector present in the tree_manager. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from tree_node | |
static enum kind | get_kind (const std::string &name) |
Given a string, return the corresponding kind. More... | |
static std::string | GetString (const enum kind k) |
Given a kind, return the corresponding string. More... | |
This struct specifies the case_label_expr node.
Used to represent a case label. The operands are CASE_LOW (operand 0) and CASE_HIGH (operand 1), respectively. If CASE_LOW is NULL_TREE, the label is a 'default' label. If CASE_HIGH is NULL_TREE, the label is a normal case label.CASE_LABEL (operand 2) is the corresponding LABEL_DECL. The tree walker structure of this node is: #(TOK_CASE_LABEL_EXPR type op (op)? (TOK_DEFAULT)? got);
Definition at line 2011 of file tree_node.hpp.
anonymous enum |
|
inlineexplicit |
constructor
Definition at line 2014 of file tree_node.hpp.
|
overridevirtual |
Redefinition of get_kind_text.
Redefinition of get_kind. virtual function used to traverse the tree_node data structure.
v | is a reference to the tree_node visitor class |
Reimplemented from expr_node.
Definition at line 633 of file tree_node.cpp.
References ALL_VISIT, gimple_call::visit(), VISIT_MEMBER, and VISIT_SC.
bool case_label_expr::default_flag |
default_flag is true if the label is a 'default' label
Definition at line 2025 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef case_label_expr::got |
got field is the operand 2 (macro CASE_LABEL) of the case label expression
Definition at line 2028 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef case_label_expr::op0 |
op0 is the operand 0 (macro CASE_LOW) of the case label expression
Definition at line 2019 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef case_label_expr::op1 |
op1 is the operand 1 (macro CASE_HIGH) of the case label expression
Definition at line 2022 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().