Changeset 68195a6 for src/SynTree


Ignore:
Timestamp:
Oct 25, 2017, 4:07:31 PM (6 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:
bb666f64
Parents:
b45d4b2
Message:

Move inferParams print to Expression

Location:
src/SynTree
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/ApplicationExpr.cc

    rb45d4b2 r68195a6  
    6868}
    6969
    70 void printInferParams( const InferredParams & inferParams, std::ostream &os, Indenter indent, int level ) {
    71         if ( ! inferParams.empty() ) {
    72                 os << indent << "with inferred parameters " << level << ":" << std::endl;
    73                 for ( InferredParams::const_iterator i = inferParams.begin(); i != inferParams.end(); ++i ) {
    74                         os << indent+1;
    75                         Declaration::declFromId( i->second.decl )->printShort( os, indent+1 );
    76                         os << std::endl;
    77                         printInferParams( *i->second.inferParams, os, indent+1, level+1 );
    78                 } // for
    79         } // if
    80 }
    81 
    8270void ApplicationExpr::print( std::ostream &os, Indenter indent ) const {
    8371        os << "Application of" << std::endl << indent+1;
     
    8876                printAll( args, os, indent+1 );
    8977        } // if
    90         printInferParams( inferParams, os, indent+1, 0 );
    9178        Expression::print( os, indent );
    9279}
  • src/SynTree/Expression.cc

    rb45d4b2 r68195a6  
    3333#include "GenPoly/Lvalue.h"
    3434
     35void printInferParams( const InferredParams & inferParams, std::ostream &os, Indenter indent, int level ) {
     36        if ( ! inferParams.empty() ) {
     37                os << indent << "with inferred parameters " << level << ":" << std::endl;
     38                for ( InferredParams::const_iterator i = inferParams.begin(); i != inferParams.end(); ++i ) {
     39                        os << indent+1;
     40                        Declaration::declFromId( i->second.decl )->printShort( os, indent+1 );
     41                        os << std::endl;
     42                        printInferParams( *i->second.inferParams, os, indent+1, level+1 );
     43                } // for
     44        } // if
     45}
     46
    3547Expression::Expression() : result( 0 ), env( 0 ) {}
    3648
     
    4456
    4557void Expression::print( std::ostream &os, Indenter indent ) const {
     58        printInferParams( inferParams, os, indent+1, 0 );
     59
    4660        if ( env ) {
    4761                os << std::endl << indent << "... with environment:" << std::endl;
Note: See TracChangeset for help on using the changeset viewer.