Changeset 1b0020a for src/Parser/ParseNode.h
- Timestamp:
- Aug 5, 2016, 10:12:01 AM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 242d458, c331406
- Parents:
- 4e2a1137 (diff), dae881f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
r4e2a1137 r1b0020a 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jul 24 02:17:00201613 // Update Count : 2 6912 // Last Modified On : Fri Aug 5 07:49:32 2016 13 // Update Count : 288 14 14 // 15 15 … … 225 225 }; 226 226 227 Expression *build_cast( TypeValueNode * arg, ExpressionNode *expr_node ); 228 Expression *build_fieldSel( ExpressionNode *expr_node, VarRefNode *member ); 229 Expression *build_pfieldSel( ExpressionNode *expr_node, VarRefNode *member ); 230 Expression *build_addressOf( ExpressionNode *expr_node ); 231 Expression *build_sizeOf( ExpressionNode *expr_node ); 232 Expression *build_alignOf( ExpressionNode *expr_node ); 233 Expression *build_offsetOf( TypeValueNode * arg, VarRefNode *member ); 234 Expression *build_and( ExpressionNode *expr_node1, ExpressionNode *expr_node2 ); 235 Expression *build_and_or( ExpressionNode *expr_node1, ExpressionNode *expr_node2, bool kind ); 236 Expression *build_opr1( OperatorNode::Type op, ExpressionNode *expr_node ); 237 Expression *build_opr2( OperatorNode::Type op, ExpressionNode *expr_node1, ExpressionNode *expr_node2 ); 238 Expression *build_cond( ExpressionNode *expr_node1, ExpressionNode *expr_node2, ExpressionNode *expr_node3 ); 239 Expression *build_comma( ExpressionNode *expr_node1, ExpressionNode *expr_node2 ); 240 241 class CompositeExprNode2 : public ExpressionNode { 242 public: 243 CompositeExprNode2( Expression *expr ); 244 CompositeExprNode2( const CompositeExprNode2 &other ); 245 virtual ~CompositeExprNode2(); 246 247 virtual CompositeExprNode2 *clone() const { return new CompositeExprNode2( *this ); } 248 virtual Expression *build() const { return expr->clone(); } 249 250 virtual void print( std::ostream &, int indent = 0) const; 251 virtual void printOneLine( std::ostream &, int indent = 0) const; 252 private: 253 Expression *expr; 254 }; 255 227 256 class CompositeExprNode : public ExpressionNode { 228 257 public: … … 290 319 private: 291 320 std::list< Label > labels; 292 };293 294 class CommaExprNode : public CompositeExprNode {295 public:296 CommaExprNode();297 CommaExprNode( ExpressionNode * );298 CommaExprNode( ExpressionNode *, ExpressionNode * );299 CommaExprNode( const CommaExprNode &other );300 301 // virtual CommaExprNode *add_to_list( ExpressionNode * );302 virtual CommaExprNode *clone() const { return new CommaExprNode( *this ); }303 321 }; 304 322 … … 533 551 }; 534 552 535 class NullStmtNode : public CompoundStmtNode {536 public:537 Statement *build() const;538 void print( std::ostream &, int indent = 0 ) const;539 };540 541 553 class InitializerNode : public ParseNode { 542 554 public:
Note: See TracChangeset
for help on using the changeset viewer.