|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
semcheck_expr_visitor Class ReferenceExpression checker.
More...
|
Public Member Functions | |
virtual void | at_const (constNode *the_const) |
virtual void | at_id (idNode *the_id) |
virtual void | at_binary (binaryNode *the_binary) |
virtual void | at_unary (unaryNode *the_unary) |
virtual void | at_cast (castNode *the_cast) |
virtual void | at_comma (commaNode *the_comma) |
virtual void | at_ternary (ternaryNode *the_ternary) |
virtual void | at_call (callNode *the_call) |
virtual void | at_initializer (initializerNode *the_initializer) |
"at_" methods | |
These methods define the functions that should be performed when different classes of Nodes are visited. The most specific "at_" method that matches a given Node's class will be called. | |
virtual void | at_node (Node *the_node) |
virtual void | at_unit (unitNode *the_unit) |
virtual void | at_def (defNode *the_def) |
virtual void | at_decl (declNode *the_decl) |
virtual void | at_subdecl (subdeclNode *the_subdecl) |
virtual void | at_proc (procNode *the_proc) |
virtual void | at_type (typeNode *the_type) |
virtual void | at_prim (primNode *the_prim) |
virtual void | at_tdef (tdefNode *the_tdef) |
virtual void | at_ptr (ptrNode *the_ptr) |
virtual void | at_array (arrayNode *the_array) |
virtual void | at_func (funcNode *the_func) |
virtual void | at_sue (sueNode *the_sue) |
virtual void | at_struct (structNode *the_struct) |
virtual void | at_union (unionNode *the_union) |
virtual void | at_enum (enumNode *the_enum) |
virtual void | at_suespec (suespecNode *the_suespec) |
virtual void | at_expr (exprNode *the_expr) |
virtual void | at_index (indexNode *the_index) |
virtual void | at_stmt (stmtNode *the_stmt) |
virtual void | at_block (blockNode *the_block) |
virtual void | at_basicblock (basicblockNode *the_basicblock) |
virtual void | at_exprstmt (exprstmtNode *the_exprstmt) |
virtual void | at_target (targetNode *the_target) |
virtual void | at_label (labelNode *the_label) |
virtual void | at_case (caseNode *the_case) |
virtual void | at_selection (selectionNode *the_selection) |
virtual void | at_if (ifNode *the_if) |
virtual void | at_switch (switchNode *the_switch) |
virtual void | at_loop (loopNode *the_loop) |
virtual void | at_while (whileNode *the_while) |
virtual void | at_do (doNode *the_do) |
virtual void | at_for (forNode *the_for) |
virtual void | at_jump (jumpNode *the_jump) |
virtual void | at_goto (gotoNode *the_goto) |
virtual void | at_continue (continueNode *the_continue) |
virtual void | at_break (breakNode *the_break) |
virtual void | at_return (returnNode *the_return) |
virtual void | at_attrib (attribNode *the_attrib) |
virtual void | at_operand (operandNode *the_oper) |
virtual void | at_conditiongoto (conditiongotoNode *the_condgoto) |
virtual void | at_threeAddr (threeAddrNode *the_3addr) |
virtual void | at_text (textNode *the_text) |
Static Public Member Functions | |
void | check (exprNode *e) |
void | check (unitNode *u) |
Private Member Functions | |
typeNode * | default_type () |
typeNode * | check_binary (unsigned int opid, exprNode *lhs, exprNode *rhs, exprNode **new_lhs, exprNode **new_rhs) |
typeNode * | check_unary (unsigned int opid, exprNode *ex, exprNode **new_ex) |
semcheck_expr_visitor () |
Definition at line 75 of file semcheck.h.
|
Definition at line 92 of file semcheck.h. |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 142 of file visitor.h. References Visitor::at_type(). Referenced by arrayNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 253 of file visitor.h. References Visitor::at_stmt(). Referenced by attribNode::visit(). |
|
Definition at line 202 of file visitor.h. References Visitor::at_block(). Referenced by basicblockNode::visit(). |
|
Reimplemented from Visitor. Definition at line 214 of file semcheck.cc. References Array, check_binary(), ref_clone_changer::clone(), Node::coord(), default_type(), binaryNode::get_left(), binaryNode::get_right(), Operator::id(), Operator::Index, exprNode::integral_promotions(), typeNode::is_integer(), binaryNode::left(), exprNode::no_tdef_type(), binaryNode::op(), Ptr, binaryNode::right(), CBZ::SyntaxError(), Node::typ(), exprNode::type(), typeNode::type(), and Node::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 199 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_basicblock(), and blockNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 247 of file visitor.h. References Visitor::at_jump(). Referenced by breakNode::visit(). |
|
Reimplemented from Visitor. Definition at line 366 of file semcheck.cc. References callNode::args(), Array, Node::coord(), Func, list_visitor(), callNode::name(), typeNode::no_tdef_type(), exprNode::no_tdef_type(), Ptr, CBZ::SyntaxError(), Node::typ(), exprNode::type(), and Node::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 214 of file visitor.h. References Visitor::at_target(). Referenced by caseNode::visit(). |
|
Reimplemented from Visitor. Definition at line 315 of file semcheck.cc. References castNode::expr(), and Node::visit(). |
|
Reimplemented from Visitor. Definition at line 330 of file semcheck.cc. References commaNode::exprs(), list_visitor(), and exprNode::type(). |
|
Definition at line 259 of file visitor.h. References Visitor::at_goto(). Referenced by conditiongotoNode::visit(). |
|
Reimplemented from Visitor. Definition at line 192 of file semcheck.cc. |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 244 of file visitor.h. References Visitor::at_jump(). Referenced by continueNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 121 of file visitor.h. References Visitor::at_def(). Referenced by Visitor::at_subdecl(), and declNode::visit(). |
|
Definition at line 118 of file visitor.h. References Visitor::at_node(). Referenced by Visitor::at_decl(), and Visitor::at_proc(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 232 of file visitor.h. References Visitor::at_loop(). Referenced by doNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 157 of file visitor.h. References Visitor::at_sue(). Referenced by enumNode::visit(). |
|
Definition at line 163 of file visitor.h. References Visitor::at_node(). Referenced by Visitor::at_binary(), Visitor::at_call(), Visitor::at_cast(), Visitor::at_comma(), Visitor::at_index(), Visitor::at_initializer(), Visitor::at_operand(), Visitor::at_ternary(), Visitor::at_unary(), and metaexprNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 205 of file visitor.h. References Visitor::at_stmt(). Referenced by exprstmtNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 235 of file visitor.h. References Visitor::at_loop(). Referenced by forNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 145 of file visitor.h. References Visitor::at_type(). Referenced by funcNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 241 of file visitor.h. References Visitor::at_jump(). Referenced by Visitor::at_conditiongoto(), and gotoNode::visit(). |
|
Reimplemented from Visitor. Definition at line 197 of file semcheck.cc. References idNode::decl(), default_type(), and exprNode::type(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 220 of file visitor.h. References Visitor::at_selection(). Referenced by ifNode::visit(). |
|
Definition at line 166 of file visitor.h. References Visitor::at_expr(). Referenced by Visitor::at_const(), and Visitor::at_id(). |
|
Reimplemented from Visitor. Definition at line 411 of file semcheck.cc. References initializerNode::exprs(), and list_visitor(). |
|
Definition at line 238 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_break(), Visitor::at_continue(), Visitor::at_goto(), and Visitor::at_return(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 211 of file visitor.h. References Visitor::at_target(). Referenced by labelNode::visit(). |
|
Definition at line 226 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_do(), Visitor::at_for(), and Visitor::at_while(). |
|
Definition at line 111 of file visitor.h. Referenced by Visitor::at_def(), Visitor::at_expr(), Visitor::at_stmt(), Visitor::at_text(), Visitor::at_type(), and Visitor::at_unit(). |
|
Definition at line 256 of file visitor.h. References Visitor::at_expr(). Referenced by operandNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 133 of file visitor.h. References Visitor::at_type(). Referenced by primNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 127 of file visitor.h. References Visitor::at_def(). Referenced by procNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 139 of file visitor.h. References Visitor::at_type(). Referenced by ptrNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 250 of file visitor.h. References Visitor::at_jump(). Referenced by returnNode::visit(). |
|
Definition at line 217 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_if(), and Visitor::at_switch(). |
|
Definition at line 196 of file visitor.h. References Visitor::at_node(). Referenced by Visitor::at_attrib(), Visitor::at_block(), Visitor::at_exprstmt(), Visitor::at_jump(), Visitor::at_loop(), Visitor::at_selection(), Visitor::at_target(), Visitor::at_threeAddr(), and metastmtNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 151 of file visitor.h. References Visitor::at_sue(). Referenced by structNode::visit(). |
|
Definition at line 124 of file visitor.h. References Visitor::at_decl(). Referenced by subdeclNode::visit(). |
|
Reimplemented in print_tree_visitor. Definition at line 148 of file visitor.h. References Visitor::at_type(). Referenced by Visitor::at_enum(), Visitor::at_struct(), and Visitor::at_union(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 160 of file visitor.h. References Visitor::at_type(). Referenced by suespecNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 223 of file visitor.h. References Visitor::at_selection(). Referenced by switchNode::visit(). |
|
Definition at line 208 of file visitor.h. References Visitor::at_stmt(). Referenced by Visitor::at_case(), and Visitor::at_label(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 136 of file visitor.h. References Visitor::at_type(). Referenced by tdefNode::visit(). |
|
Reimplemented from Visitor. Definition at line 346 of file semcheck.cc. References ternaryNode::cond(), ternaryNode::false_br(), ternaryNode::true_br(), exprNode::type(), and Node::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 265 of file visitor.h. References Visitor::at_node(). Referenced by textNode::visit(). |
|
Definition at line 262 of file visitor.h. References Visitor::at_stmt(). Referenced by threeAddrNode::visit(). |
|
Definition at line 130 of file visitor.h. References Visitor::at_node(). Referenced by Visitor::at_array(), Visitor::at_func(), Visitor::at_prim(), Visitor::at_ptr(), Visitor::at_sue(), Visitor::at_suespec(), and Visitor::at_tdef(). |
|
Reimplemented from Visitor. Definition at line 278 of file semcheck.cc. References check_unary(), unaryNode::expr(), unaryNode::get_expr(), Operator::id(), unaryNode::op(), Operator::SIZEOF, unaryNode::sizeof_type(), exprNode::type(), and Node::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 154 of file visitor.h. References Visitor::at_sue(). Referenced by unionNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 115 of file visitor.h. References Visitor::at_node(). Referenced by unitNode::visit(). |
|
Reimplemented in tree_visitor, and print_tree_visitor. Definition at line 229 of file visitor.h. References Visitor::at_loop(). Referenced by whileNode::visit(). |
|
|
|
Definition at line 174 of file semcheck.cc. References Node::visit(), and Node::walk(). Referenced by semcheck_walker::at_case(), semcheck_walker::at_decl(), semcheck_walker::at_exprstmt(), semcheck_walker::at_for(), semcheck_walker::at_loop(), semcheck_walker::at_return(), semcheck_walker::at_selection(), semcheck_walker::at_suespec(), and arrayNode::qualified_equal_to(). |
|
|
|
Definition at line 1130 of file semcheck.cc. Referenced by at_binary(), at_id(), check_binary(), and check_unary(). |
Generated on August 27, 2003
Back to the C-Breeze home page