Changeset 907eccb for src/SymTab


Ignore:
Timestamp:
Dec 22, 2016, 3:23:49 PM (8 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:
4c8621ac
Parents:
0c286cf
Message:

added UntypedTupleExpr? to better differentiate typed and untyped contexts, simplifying some code

Location:
src/SymTab
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Indexer.cc

    r0c286cf r907eccb  
    453453        }
    454454
    455         void Indexer::visit( TupleExpr *tupleExpr ) {
    456                 acceptNewScope( tupleExpr->get_result(), *this );
    457                 acceptAll( tupleExpr->get_exprs(), *this );
    458         }
    459 
    460         void Indexer::visit( TupleAssignExpr *tupleExpr ) {
    461                 acceptNewScope( tupleExpr->get_result(), *this );
    462                 maybeAccept( tupleExpr->get_stmtExpr(), *this );
    463         }
    464 
    465455        void Indexer::visit( TypeExpr *typeExpr ) {
    466456                acceptNewScope( typeExpr->get_result(), *this );
     
    474464        }
    475465
     466        void Indexer::visit( ImplicitCopyCtorExpr *impCpCtorExpr ) {
     467                acceptNewScope( impCpCtorExpr->get_result(), *this );
     468                maybeAccept( impCpCtorExpr->get_callExpr(), *this );
     469                acceptAll( impCpCtorExpr->get_tempDecls(), *this );
     470                acceptAll( impCpCtorExpr->get_returnDecls(), *this );
     471                acceptAll( impCpCtorExpr->get_dtors(), *this );
     472        }
     473
     474        void Indexer::visit( ConstructorExpr * ctorExpr ) {
     475                acceptNewScope( ctorExpr->get_result(), *this );
     476                maybeAccept( ctorExpr->get_callExpr(), *this );
     477        }
     478
     479        void Indexer::visit( CompoundLiteralExpr *compLitExpr ) {
     480                acceptNewScope( compLitExpr->get_result(), *this );
     481                maybeAccept( compLitExpr->get_type(), *this );
     482                maybeAccept( compLitExpr->get_initializer(), *this );
     483        }
     484
    476485        void Indexer::visit( UntypedValofExpr *valofExpr ) {
    477486                acceptNewScope( valofExpr->get_result(), *this );
    478487                maybeAccept( valofExpr->get_body(), *this );
     488        }
     489
     490        void Indexer::visit( RangeExpr *rangeExpr ) {
     491                maybeAccept( rangeExpr->get_low(), *this );
     492                maybeAccept( rangeExpr->get_high(), *this );
     493        }
     494
     495        void Indexer::visit( UntypedTupleExpr *tupleExpr ) {
     496                acceptNewScope( tupleExpr->get_result(), *this );
     497                acceptAll( tupleExpr->get_exprs(), *this );
     498        }
     499
     500        void Indexer::visit( TupleExpr *tupleExpr ) {
     501                acceptNewScope( tupleExpr->get_result(), *this );
     502                acceptAll( tupleExpr->get_exprs(), *this );
     503        }
     504
     505        void Indexer::visit( TupleIndexExpr *tupleExpr ) {
     506                acceptNewScope( tupleExpr->get_result(), *this );
     507                maybeAccept( tupleExpr->get_tuple(), *this );
     508        }
     509
     510        void Indexer::visit( MemberTupleExpr *tupleExpr ) {
     511                acceptNewScope( tupleExpr->get_result(), *this );
     512                maybeAccept( tupleExpr->get_member(), *this );
     513                maybeAccept( tupleExpr->get_aggregate(), *this );
     514        }
     515
     516        void Indexer::visit( TupleAssignExpr *tupleExpr ) {
     517                acceptNewScope( tupleExpr->get_result(), *this );
     518                maybeAccept( tupleExpr->get_stmtExpr(), *this );
     519        }
     520
     521        void Indexer::visit( StmtExpr *stmtExpr ) {
     522                acceptNewScope( stmtExpr->get_result(), *this );
     523                maybeAccept( stmtExpr->get_statements(), *this );
     524                acceptAll( stmtExpr->get_returnDecls(), *this );
     525                acceptAll( stmtExpr->get_dtors(), *this );
     526        }
     527
     528        void Indexer::visit( UniqueExpr *uniqueExpr ) {
     529                acceptNewScope( uniqueExpr->get_result(), *this );
     530                maybeAccept( uniqueExpr->get_expr(), *this );
    479531        }
    480532
  • src/SymTab/Indexer.h

    r0c286cf r907eccb  
    6666                virtual void visit( TypeExpr *typeExpr );
    6767                virtual void visit( AsmExpr *asmExpr );
     68                virtual void visit( ImplicitCopyCtorExpr *impCpCtorExpr );
     69                virtual void visit( ConstructorExpr * ctorExpr );
     70                virtual void visit( CompoundLiteralExpr *compLitExpr );
    6871                virtual void visit( UntypedValofExpr *valofExpr );
     72                virtual void visit( RangeExpr *rangeExpr );
     73                virtual void visit( UntypedTupleExpr *tupleExpr );
    6974                virtual void visit( TupleExpr *tupleExpr );
     75                virtual void visit( TupleIndexExpr *tupleExpr );
     76                virtual void visit( MemberTupleExpr *tupleExpr );
    7077                virtual void visit( TupleAssignExpr *tupleExpr );
     78                virtual void visit( StmtExpr * stmtExpr );
     79                virtual void visit( UniqueExpr * uniqueExpr );
    7180
    7281                virtual void visit( TraitInstType *contextInst );
Note: See TracChangeset for help on using the changeset viewer.