Ignore:
Timestamp:
Jun 24, 2015, 4:12:31 PM (9 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
1869adf
Parents:
94b4364 (diff), de62360d (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.
Message:

Merge branch 'master' into resolver

Conflicts:

src/CodeGen/CodeGenerator.cc
src/Parser/ExpressionNode.cc
src/ResolvExpr/Resolver.cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Statement.h

    r94b4364 r94e0864d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun  4 14:03:31 2015
    13 // Update Count     : 14
     12// Last Modified On : Tue Jun 23 11:44:27 2015
     13// Update Count     : 20
    1414//
    1515
     
    2828
    2929        std::list<Label> & get_labels() { return labels; }
     30        const std::list<Label> & get_labels() const { return labels; }
    3031
    3132        virtual Statement *clone() const = 0;
    3233        virtual void accept( Visitor &v ) = 0;
    3334        virtual Statement *acceptMutator( Mutator &m ) = 0;
    34         virtual void print( std::ostream &os, int indent = 0 );
     35        virtual void print( std::ostream &os, int indent = 0 ) const;
    3536  protected:
    3637        std::list<Label> labels;
     
    4849        virtual void accept( Visitor &v ) { v.visit( this ); }
    4950        virtual CompoundStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    50         virtual void print( std::ostream &os, int indent = 0 );
     51        virtual void print( std::ostream &os, int indent = 0 ) const;
    5152  private:
    5253        std::list<Statement*> kids;
     
    6465        virtual void accept( Visitor &v ) { v.visit( this ); }
    6566        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    66         virtual void print( std::ostream &os, int indent = 0 );
     67        virtual void print( std::ostream &os, int indent = 0 ) const;
    6768  private:
    6869        Expression *expr;
     
    8485        virtual void accept( Visitor &v ) { v.visit( this ); }
    8586        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    86         virtual void print( std::ostream &os, int indent = 0 );
     87        virtual void print( std::ostream &os, int indent = 0 ) const;
    8788  private:
    8889        Expression *condition;
     
    106107
    107108        virtual SwitchStmt *clone() const { return new SwitchStmt( *this ); }
    108         virtual void print( std::ostream &os, int indent = 0 );
     109        virtual void print( std::ostream &os, int indent = 0 ) const;
    109110  private:
    110111        Expression * condition;
     
    127128
    128129        virtual ChooseStmt *clone() const { return new ChooseStmt( *this ); }
    129         virtual void print( std::ostream &os, int indent = 0 );
     130        virtual void print( std::ostream &os, int indent = 0 ) const;
    130131  private:
    131132        Expression *condition;
     
    141142
    142143        virtual FallthruStmt *clone() const { return new FallthruStmt( *this ); }
    143         virtual void print( std::ostream &os, int indent = 0 );
     144        virtual void print( std::ostream &os, int indent = 0 ) const;
    144145};
    145146
     
    153154                std::list<Statement *> stmts = std::list<Statement *>() );
    154155
    155         bool isDefault() { return _isDefault; }
     156        bool isDefault() const { return _isDefault; }
    156157        void set_default(bool b) { _isDefault = b; }
    157158
     
    166167
    167168        virtual CaseStmt *clone() const { return new CaseStmt( *this ); }
    168         virtual void print( std::ostream &os, int indent = 0 );
     169        virtual void print( std::ostream &os, int indent = 0 ) const;
    169170  private:
    170171        Expression * condition;
     
    189190        virtual void accept( Visitor &v ) { v.visit( this ); }
    190191        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    191         virtual void print( std::ostream &os, int indent = 0 );
     192        virtual void print( std::ostream &os, int indent = 0 ) const;
    192193  private:
    193194        Expression *condition;
     
    214215        virtual void accept( Visitor &v ) { v.visit( this ); }
    215216        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    216         virtual void print( std::ostream &os, int indent = 0 );
     217        virtual void print( std::ostream &os, int indent = 0 ) const;
    217218  private:
    218219        Statement *initialization;
     
    224225class BranchStmt : public Statement {
    225226  public:
    226         enum Type { Goto = 0 , Break, Continue };
     227        enum Type { Goto = 0, Break, Continue };
    227228
    228229        BranchStmt( std::list<Label> labels, Label target, Type ) throw (SemanticError);
     
    243244        virtual void accept( Visitor &v ) { v.visit( this ); }
    244245        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    245         virtual void print( std::ostream &os, int indent = 0 );
     246        virtual void print( std::ostream &os, int indent = 0 ) const;
    246247  private:
    247248        static const char *brType[];
     
    263264        virtual void accept( Visitor &v ) { v.visit( this ); }
    264265        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    265         virtual void print( std::ostream &os, int indent = 0 );
     266        virtual void print( std::ostream &os, int indent = 0 ) const;
    266267  private:
    267268        Expression *expr;
     
    279280        virtual void accept( Visitor &v ) { v.visit( this ); }
    280281        virtual NullStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    281         virtual void print( std::ostream &os, int indent = 0 );
     282        virtual void print( std::ostream &os, int indent = 0 ) const;
    282283       
    283284  private:
     
    300301        virtual void accept( Visitor &v ) { v.visit( this ); }
    301302        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    302         virtual void print( std::ostream &os, int indent = 0 );
     303        virtual void print( std::ostream &os, int indent = 0 ) const;
    303304       
    304305  private:
     
    322323        virtual void accept( Visitor &v ) { v.visit( this ); }
    323324        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    324         virtual void print( std::ostream &os, int indent = 0 );
     325        virtual void print( std::ostream &os, int indent = 0 ) const;
    325326       
    326327  private:
     
    341342        virtual void accept( Visitor &v ) { v.visit( this ); }
    342343        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    343         virtual void print( std::ostream &os, int indent = 0 );
     344        virtual void print( std::ostream &os, int indent = 0 ) const;
    344345  private:
    345346        CompoundStmt *block;
     
    360361        virtual void accept( Visitor &v ) { v.visit( this ); }
    361362        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    362         virtual void print( std::ostream &os, int indent = 0 );
     363        virtual void print( std::ostream &os, int indent = 0 ) const;
    363364  private:
    364365        Declaration *decl;
Note: See TracChangeset for help on using the changeset viewer.