Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/ParseNode.h

    r1db21619 r2871210  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jul 14 14:58:25 2015
    13 // Update Count     : 91
     12// Last Modified On : Thu Jul  2 17:57:05 2015
     13// Update Count     : 84
    1414//
    1515
     
    265265class DeclarationNode : public ParseNode {
    266266  public:
    267         enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic };
     267        enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute };
    268268        enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, };
    269269        enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary };
     
    352352        std::string name;
    353353        std::list< StorageClass > storageClasses;
    354         std::list< std::string > attributes;
    355354        ExpressionNode *bitfieldWidth;
    356355        InitializerNode *initializer;
     
    359358
    360359        static UniqueName anonymous;
    361 }; // DeclarationNode
     360};
    362361
    363362class StatementNode : public ParseNode {
     
    381380        static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );
    382381
    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;
    390388
    391389        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;
    393391
    394392        void addDeclaration( DeclarationNode *newDecl ) { decl = newDecl; }
     
    411409        ExpressionNode *control;
    412410        StatementNode *block;
    413         std::list<std::string> labels;
     411        std::list<std::string> *labels;
    414412        std::string *target;                            // target label for jump statements
    415413        DeclarationNode *decl;
    416414
    417415        bool isCatchRest;
    418 }; // StatementNode
     416};
    419417
    420418class CompoundStmtNode : public StatementNode {
Note: See TracChangeset for help on using the changeset viewer.