Changes in src/Parser/ParseNode.h [1db21619:2871210]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
r1db21619 r2871210 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Jul 14 14:58:25 201513 // Update Count : 9112 // Last Modified On : Thu Jul 2 17:57:05 2015 13 // Update Count : 84 14 14 // 15 15 … … 265 265 class DeclarationNode : public ParseNode { 266 266 public: 267 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic };267 enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute }; 268 268 enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, }; 269 269 enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary }; … … 352 352 std::string name; 353 353 std::list< StorageClass > storageClasses; 354 std::list< std::string > attributes;355 354 ExpressionNode *bitfieldWidth; 356 355 InitializerNode *initializer; … … 359 358 360 359 static UniqueName anonymous; 361 }; // DeclarationNode360 }; 362 361 363 362 class StatementNode : public ParseNode { … … 381 380 static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false ); 382 381 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; } 382 void set_control( ExpressionNode * ); 383 StatementNode * set_block( StatementNode * ); 384 385 ExpressionNode *get_control() const ; 386 StatementNode *get_block() const; 387 StatementNode::Type get_type() const; 390 388 391 389 StatementNode *add_label( const std::string * ); 392 const std::list<std::string> &get_labels() const { return labels; }390 std::list<std::string> *get_labels() const; 393 391 394 392 void addDeclaration( DeclarationNode *newDecl ) { decl = newDecl; } … … 411 409 ExpressionNode *control; 412 410 StatementNode *block; 413 std::list<std::string> labels;411 std::list<std::string> *labels; 414 412 std::string *target; // target label for jump statements 415 413 DeclarationNode *decl; 416 414 417 415 bool isCatchRest; 418 }; // StatementNode416 }; 419 417 420 418 class CompoundStmtNode : public StatementNode {
Note:
See TracChangeset
for help on using the changeset viewer.