Changes in src/Parser/ParseNode.h [2794fff:1db21619]
- File:
-
- 1 edited
-
src/Parser/ParseNode.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
r2794fff r1db21619 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Sat May 16 13:28:16 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Fri Jul 03 18:11:50201513 // Update Count : 8511 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 14 14:58:25 2015 13 // Update Count : 91 14 14 // 15 15 … … 162 162 Assign, MulAssn, DivAssn, ModAssn, PlusAssn, MinusAssn, LSAssn, RSAssn, AndAssn, 163 163 ERAssn, OrAssn, Index, FieldSel, PFieldSel, Range, 164 UnPlus, UnMinus, AddressOf, PointTo, Neg, BitNeg, Incr, IncrPost, Decr, DecrPost, LabelAddress, 165 Ctor, Dtor, 164 UnPlus, UnMinus, AddressOf, PointTo, Neg, BitNeg, Incr, IncrPost, Decr, DecrPost, LabelAddress 166 165 }; 167 166 … … 266 265 class DeclarationNode : public ParseNode { 267 266 public: 268 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic , Attribute};267 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic }; 269 268 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, }; 270 269 enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary }; … … 353 352 std::string name; 354 353 std::list< StorageClass > storageClasses; 354 std::list< std::string > attributes; 355 355 ExpressionNode *bitfieldWidth; 356 356 InitializerNode *initializer; … … 359 359 360 360 static UniqueName anonymous; 361 }; 361 }; // DeclarationNode 362 362 363 363 class StatementNode : public ParseNode { … … 381 381 static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false ); 382 382 383 void set_control( ExpressionNode * ); 384 StatementNode * set_block( StatementNode * ); 385 386 ExpressionNode *get_control() const ; 387 StatementNode *get_block() const; 388 StatementNode::Type get_type() const; 383 StatementNode *set_block( StatementNode *b ) { block = b; return this; } 384 StatementNode *get_block() const { return block; } 385 386 void set_control( ExpressionNode *c ) { control = c; } 387 ExpressionNode *get_control() const { return control; } 388 389 StatementNode::Type get_type() const { return type; } 389 390 390 391 StatementNode *add_label( const std::string * ); 391 std::list<std::string> *get_labels() const;392 const std::list<std::string> &get_labels() const { return labels; } 392 393 393 394 void addDeclaration( DeclarationNode *newDecl ) { decl = newDecl; } … … 410 411 ExpressionNode *control; 411 412 StatementNode *block; 412 std::list<std::string> *labels;413 std::list<std::string> labels; 413 414 std::string *target; // target label for jump statements 414 415 DeclarationNode *decl; 415 416 416 417 bool isCatchRest; 417 }; 418 }; // StatementNode 418 419 419 420 class CompoundStmtNode : public StatementNode {
Note:
See TracChangeset
for help on using the changeset viewer.