Ignore:
Timestamp:
Oct 2, 2017, 4:39:42 PM (7 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
bf4b4cf
Parents:
a8555c5
Message:

Refactor tree print code to use Indenter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Expression.h

    ra8555c5 r50377a4  
    5858        virtual void accept( Visitor & v ) override = 0;
    5959        virtual Expression * acceptMutator( Mutator & m ) override = 0;
    60         virtual void print( std::ostream & os, int indent = 0 ) const override;
     60        virtual void print( std::ostream & os, Indenter indent = {} ) const override;
    6161};
    6262
     
    101101        virtual void accept( Visitor & v ) { v.visit( this ); }
    102102        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    103         virtual void print( std::ostream & os, int indent = 0 ) const;
     103        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    104104};
    105105
     
    119119        void set_function( Expression * newValue ) { function = newValue; }
    120120
    121         void set_args( std::list<Expression *> & listArgs ) { args = listArgs; }
    122121        std::list<Expression*>::iterator begin_args() { return args.begin(); }
    123122        std::list<Expression*>::iterator end_args() { return args.end(); }
     
    130129        virtual void accept( Visitor & v ) { v.visit( this ); }
    131130        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    132         virtual void print( std::ostream & os, int indent = 0 ) const;
    133         virtual void printArgs(std::ostream & os, int indent = 0) const;
     131        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    134132};
    135133
     
    149147        virtual void accept( Visitor & v ) { v.visit( this ); }
    150148        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    151         virtual void print( std::ostream & os, int indent = 0 ) const;
     149        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    152150};
    153151
     
    170168        virtual void accept( Visitor & v ) { v.visit( this ); }
    171169        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    172         virtual void print( std::ostream & os, int indent = 0 ) const;
     170        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    173171};
    174172
     
    186184        virtual void accept( Visitor & v ) { v.visit( this ); }
    187185        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    188         virtual void print( std::ostream & os, int indent = 0 ) const;
     186        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    189187};
    190188
     
    205203        virtual void accept( Visitor & v ) { v.visit( this ); }
    206204        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    207         virtual void print( std::ostream & os, int indent = 0 ) const;
     205        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    208206};
    209207
     
    223221        virtual void accept( Visitor & v ) { v.visit( this ); }
    224222        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    225         virtual void print( std::ostream & os, int indent = 0 ) const;
     223        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    226224};
    227225
     
    244242        virtual void accept( Visitor & v ) { v.visit( this ); }
    245243        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    246         virtual void print( std::ostream & os, int indent = 0 ) const;
     244        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    247245};
    248246
     
    266264        virtual void accept( Visitor & v ) { v.visit( this ); }
    267265        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    268         virtual void print( std::ostream & os, int indent = 0 ) const;
     266        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    269267};
    270268
     
    287285        virtual void accept( Visitor & v ) { v.visit( this ); }
    288286        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    289         virtual void print( std::ostream & os, int indent = 0 ) const;
     287        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    290288};
    291289
     
    305303        virtual void accept( Visitor & v ) { v.visit( this ); }
    306304        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    307         virtual void print( std::ostream & os, int indent = 0 ) const;
     305        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    308306};
    309307
     
    330328        virtual void accept( Visitor & v ) { v.visit( this ); }
    331329        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    332         virtual void print( std::ostream & os, int indent = 0 ) const;
     330        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    333331};
    334332
     
    355353        virtual void accept( Visitor & v ) { v.visit( this ); }
    356354        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    357         virtual void print( std::ostream & os, int indent = 0 ) const;
     355        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    358356};
    359357
     
    376374        virtual void accept( Visitor & v ) { v.visit( this ); }
    377375        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    378         virtual void print( std::ostream & os, int indent = 0 ) const;
     376        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    379377};
    380378
     
    397395        virtual void accept( Visitor & v ) { v.visit( this ); }
    398396        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    399         virtual void print( std::ostream & os, int indent = 0 ) const;
     397        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    400398};
    401399
     
    415413        virtual void accept( Visitor & v ) { v.visit( this ); }
    416414        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    417         virtual void print( std::ostream & os, int indent = 0 ) const;
     415        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    418416};
    419417
     
    443441        virtual void accept( Visitor & v ) { v.visit( this ); }
    444442        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    445         virtual void print( std::ostream & os, int indent = 0 ) const;
     443        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    446444};
    447445
     
    465463        virtual void accept( Visitor & v ) { v.visit( this ); }
    466464        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    467         virtual void print( std::ostream & os, int indent = 0 ) const;
     465        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    468466
    469467  private:
     
    492490        virtual void accept( Visitor & v ) { v.visit( this ); }
    493491        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    494         virtual void print( std::ostream & os, int indent = 0 ) const;
     492        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    495493};
    496494
     
    513511        virtual void accept( Visitor & v ) { v.visit( this ); }
    514512        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    515         virtual void print( std::ostream & os, int indent = 0 ) const;
     513        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    516514};
    517515
     
    531529        virtual void accept( Visitor & v ) { v.visit( this ); }
    532530        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    533         virtual void print( std::ostream & os, int indent = 0 ) const;
     531        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    534532};
    535533
     
    557555        virtual void accept( Visitor & v ) { v.visit( this ); }
    558556        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    559         virtual void print( std::ostream & os, int indent = 0 ) const;
     557        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    560558
    561559        // https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/Machine-Constraints.html#Machine-Constraints
     
    585583        virtual void accept( Visitor & v ) { v.visit( this ); }
    586584        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    587         virtual void print( std::ostream & os, int indent = 0 ) const;
     585        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    588586};
    589587
     
    603601        virtual void accept( Visitor & v ) { v.visit( this ); }
    604602        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    605         virtual void print( std::ostream & os, int indent = 0 ) const;
     603        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    606604};
    607605
     
    621619        virtual void accept( Visitor & v ) { v.visit( this ); }
    622620        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    623         virtual void print( std::ostream & os, int indent = 0 ) const;
     621        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    624622};
    625623
     
    640638        virtual void accept( Visitor & v ) { v.visit( this ); }
    641639        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    642         virtual void print( std::ostream & os, int indent = 0 ) const;
     640        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    643641};
    644642
     
    657655        virtual void accept( Visitor & v ) { v.visit( this ); }
    658656        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    659         virtual void print( std::ostream & os, int indent = 0 ) const;
     657        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    660658};
    661659
     
    674672        virtual void accept( Visitor & v ) { v.visit( this ); }
    675673        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    676         virtual void print( std::ostream & os, int indent = 0 ) const;
     674        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    677675};
    678676
     
    695693        virtual void accept( Visitor & v ) { v.visit( this ); }
    696694        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    697         virtual void print( std::ostream & os, int indent = 0 ) const;
     695        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    698696};
    699697
     
    713711        virtual void accept( Visitor & v ) { v.visit( this ); }
    714712        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    715         virtual void print( std::ostream & os, int indent = 0 ) const;
     713        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    716714};
    717715
     
    736734        virtual void accept( Visitor & v ) { v.visit( this ); }
    737735        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    738         virtual void print( std::ostream & os, int indent = 0 ) const;
     736        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    739737};
    740738
     
    763761        virtual void accept( Visitor & v ) { v.visit( this ); }
    764762        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    765         virtual void print( std::ostream & os, int indent = 0 ) const;
     763        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    766764
    767765private:
     
    797795        virtual void accept( Visitor & v ) { v.visit( this ); }
    798796        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    799         virtual void print( std::ostream & os, int indent = 0 ) const;
     797        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    800798};
    801799
     
    818816        virtual void accept( Visitor & v ) { v.visit( this ); }
    819817        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
    820         virtual void print( std::ostream & os, int indent = 0 ) const;
     818        virtual void print( std::ostream & os, Indenter indent = {} ) const;
    821819};
    822820
Note: See TracChangeset for help on using the changeset viewer.