Changeset 2162c2c for src/SymTab


Ignore:
Timestamp:
Jan 11, 2017, 4:11:02 PM (9 years ago)
Author:
Thierry Delisle <tdelisle@…>
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, stuck-waitfor-destruct, with_gc
Children:
075734f
Parents:
bb82c03 (diff), d3a85240 (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' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
src/SymTab
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Indexer.cc

    rbb82c03 r2162c2c  
    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

    rbb82c03 r2162c2c  
    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 );
  • src/SymTab/Mangler.cc

    rbb82c03 r2162c2c  
    214214                                mangleName << "f";
    215215                                break;
     216                                case TypeDecl::Ttype:
     217                                mangleName << "tVARGS";
     218                                break;
     219                                default:
     220                                assert( false );
    216221                        } // switch
    217222                        mangleName << numStream.str();
     
    256261                if ( ! type->get_forall().empty() ) {
    257262                        std::list< std::string > assertionNames;
    258                         int tcount = 0, dcount = 0, fcount = 0;
     263                        int tcount = 0, dcount = 0, fcount = 0, vcount = 0;
    259264                        mangleName << "A";
    260265                        for ( Type::ForallList::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) {
     
    269274                                        fcount++;
    270275                                        break;
     276                                  case TypeDecl::Ttype:
     277                                        vcount++;
     278                                        break;
     279                                  default:
     280                                        assert( false );
    271281                                } // switch
    272282                                varNums[ (*i )->get_name() ] = std::pair< int, int >( nextVarNum++, (int )(*i )->get_kind() );
     
    280290                                } // for
    281291                        } // for
    282                         mangleName << tcount << "_" << dcount << "_" << fcount << "_";
     292                        mangleName << tcount << "_" << dcount << "_" << fcount << "_" << vcount << "_";
    283293                        std::copy( assertionNames.begin(), assertionNames.end(), std::ostream_iterator< std::string >( mangleName, "" ) );
    284294                        mangleName << "_";
Note: See TracChangeset for help on using the changeset viewer.