Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Statement.h

    rde62360d ra61fea9a  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 11:44:27 2015
    13 // Update Count     : 20
     12// Last Modified On : Wed Jun  3 11:55:15 2015
     13// Update Count     : 6
    1414//
    1515
     
    2828
    2929        std::list<Label> & get_labels() { return labels; }
    30         const std::list<Label> & get_labels() const { return labels; }
    3130
    3231        virtual Statement *clone() const = 0;
    3332        virtual void accept( Visitor &v ) = 0;
    3433        virtual Statement *acceptMutator( Mutator &m ) = 0;
    35         virtual void print( std::ostream &os, int indent = 0 ) const;
     34        virtual void print( std::ostream &os, int indent = 0 );
    3635  protected:
    3736        std::list<Label> labels;
     
    4948        virtual void accept( Visitor &v ) { v.visit( this ); }
    5049        virtual CompoundStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    51         virtual void print( std::ostream &os, int indent = 0 ) const;
     50        virtual void print( std::ostream &os, int indent = 0 );
    5251  private:
    5352        std::list<Statement*> kids;
     
    6564        virtual void accept( Visitor &v ) { v.visit( this ); }
    6665        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    67         virtual void print( std::ostream &os, int indent = 0 ) const;
     66        virtual void print( std::ostream &os, int indent = 0 );
    6867  private:
    6968        Expression *expr;
     
    8584        virtual void accept( Visitor &v ) { v.visit( this ); }
    8685        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    87         virtual void print( std::ostream &os, int indent = 0 ) const;
     86        virtual void print( std::ostream &os, int indent = 0 );
    8887  private:
    8988        Expression *condition;
     
    107106
    108107        virtual SwitchStmt *clone() const { return new SwitchStmt( *this ); }
    109         virtual void print( std::ostream &os, int indent = 0 ) const;
     108        virtual void print( std::ostream &os, int indent = 0 );
    110109  private:
    111110        Expression * condition;
     
    128127
    129128        virtual ChooseStmt *clone() const { return new ChooseStmt( *this ); }
    130         virtual void print( std::ostream &os, int indent = 0 ) const;
     129        virtual void print( std::ostream &os, int indent = 0 );
    131130  private:
    132131        Expression *condition;
     
    142141
    143142        virtual FallthruStmt *clone() const { return new FallthruStmt( *this ); }
    144         virtual void print( std::ostream &os, int indent = 0 ) const;
     143        virtual void print( std::ostream &os, int indent = 0 );
    145144};
    146145
     
    151150        virtual ~CaseStmt();
    152151
    153         static CaseStmt * makeDefault( std::list<Label> labels = std::list<Label>(),
    154                 std::list<Statement *> stmts = std::list<Statement *>() );
    155 
    156         bool isDefault() const { return _isDefault; }
     152        bool isDefault() { return _isDefault; }
    157153        void set_default(bool b) { _isDefault = b; }
    158154
     
    167163
    168164        virtual CaseStmt *clone() const { return new CaseStmt( *this ); }
    169         virtual void print( std::ostream &os, int indent = 0 ) const;
     165        virtual void print( std::ostream &os, int indent = 0 );
    170166  private:
    171167        Expression * condition;
     
    190186        virtual void accept( Visitor &v ) { v.visit( this ); }
    191187        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    192         virtual void print( std::ostream &os, int indent = 0 ) const;
     188        virtual void print( std::ostream &os, int indent = 0 );
    193189  private:
    194190        Expression *condition;
     
    215211        virtual void accept( Visitor &v ) { v.visit( this ); }
    216212        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    217         virtual void print( std::ostream &os, int indent = 0 ) const;
     213        virtual void print( std::ostream &os, int indent = 0 );
    218214  private:
    219215        Statement *initialization;
     
    225221class BranchStmt : public Statement {
    226222  public:
    227         enum Type { Goto = 0, Break, Continue };
     223        enum Type { Goto = 0 , Break, Continue };
    228224
    229225        BranchStmt( std::list<Label> labels, Label target, Type ) throw (SemanticError);
     
    244240        virtual void accept( Visitor &v ) { v.visit( this ); }
    245241        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    246         virtual void print( std::ostream &os, int indent = 0 ) const;
     242        virtual void print( std::ostream &os, int indent = 0 );
    247243  private:
    248244        static const char *brType[];
     
    264260        virtual void accept( Visitor &v ) { v.visit( this ); }
    265261        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    266         virtual void print( std::ostream &os, int indent = 0 ) const;
     262        virtual void print( std::ostream &os, int indent = 0 );
    267263  private:
    268264        Expression *expr;
     
    280276        virtual void accept( Visitor &v ) { v.visit( this ); }
    281277        virtual NullStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    282         virtual void print( std::ostream &os, int indent = 0 ) const;
     278        virtual void print( std::ostream &os, int indent = 0 );
    283279       
    284280  private:
     
    301297        virtual void accept( Visitor &v ) { v.visit( this ); }
    302298        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    303         virtual void print( std::ostream &os, int indent = 0 ) const;
     299        virtual void print( std::ostream &os, int indent = 0 );
    304300       
    305301  private:
     
    323319        virtual void accept( Visitor &v ) { v.visit( this ); }
    324320        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    325         virtual void print( std::ostream &os, int indent = 0 ) const;
     321        virtual void print( std::ostream &os, int indent = 0 );
    326322       
    327323  private:
     
    342338        virtual void accept( Visitor &v ) { v.visit( this ); }
    343339        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    344         virtual void print( std::ostream &os, int indent = 0 ) const;
     340        virtual void print( std::ostream &os, int indent = 0 );
    345341  private:
    346342        CompoundStmt *block;
     
    361357        virtual void accept( Visitor &v ) { v.visit( this ); }
    362358        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    363         virtual void print( std::ostream &os, int indent = 0 ) const;
     359        virtual void print( std::ostream &os, int indent = 0 );
    364360  private:
    365361        Declaration *decl;
Note: See TracChangeset for help on using the changeset viewer.