Changeset 2162c2c for src/SymTab
- Timestamp:
- Jan 11, 2017, 4:11:02 PM (9 years ago)
- 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. - Location:
- src/SymTab
- Files:
-
- 3 edited
-
Indexer.cc (modified) (2 diffs)
-
Indexer.h (modified) (1 diff)
-
Mangler.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Indexer.cc
rbb82c03 r2162c2c 453 453 } 454 454 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 465 455 void Indexer::visit( TypeExpr *typeExpr ) { 466 456 acceptNewScope( typeExpr->get_result(), *this ); … … 474 464 } 475 465 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 476 485 void Indexer::visit( UntypedValofExpr *valofExpr ) { 477 486 acceptNewScope( valofExpr->get_result(), *this ); 478 487 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 ); 479 531 } 480 532 -
src/SymTab/Indexer.h
rbb82c03 r2162c2c 66 66 virtual void visit( TypeExpr *typeExpr ); 67 67 virtual void visit( AsmExpr *asmExpr ); 68 virtual void visit( ImplicitCopyCtorExpr *impCpCtorExpr ); 69 virtual void visit( ConstructorExpr * ctorExpr ); 70 virtual void visit( CompoundLiteralExpr *compLitExpr ); 68 71 virtual void visit( UntypedValofExpr *valofExpr ); 72 virtual void visit( RangeExpr *rangeExpr ); 73 virtual void visit( UntypedTupleExpr *tupleExpr ); 69 74 virtual void visit( TupleExpr *tupleExpr ); 75 virtual void visit( TupleIndexExpr *tupleExpr ); 76 virtual void visit( MemberTupleExpr *tupleExpr ); 70 77 virtual void visit( TupleAssignExpr *tupleExpr ); 78 virtual void visit( StmtExpr * stmtExpr ); 79 virtual void visit( UniqueExpr * uniqueExpr ); 71 80 72 81 virtual void visit( TraitInstType *contextInst ); -
src/SymTab/Mangler.cc
rbb82c03 r2162c2c 214 214 mangleName << "f"; 215 215 break; 216 case TypeDecl::Ttype: 217 mangleName << "tVARGS"; 218 break; 219 default: 220 assert( false ); 216 221 } // switch 217 222 mangleName << numStream.str(); … … 256 261 if ( ! type->get_forall().empty() ) { 257 262 std::list< std::string > assertionNames; 258 int tcount = 0, dcount = 0, fcount = 0 ;263 int tcount = 0, dcount = 0, fcount = 0, vcount = 0; 259 264 mangleName << "A"; 260 265 for ( Type::ForallList::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) { … … 269 274 fcount++; 270 275 break; 276 case TypeDecl::Ttype: 277 vcount++; 278 break; 279 default: 280 assert( false ); 271 281 } // switch 272 282 varNums[ (*i )->get_name() ] = std::pair< int, int >( nextVarNum++, (int )(*i )->get_kind() ); … … 280 290 } // for 281 291 } // for 282 mangleName << tcount << "_" << dcount << "_" << fcount << "_" ;292 mangleName << tcount << "_" << dcount << "_" << fcount << "_" << vcount << "_"; 283 293 std::copy( assertionNames.begin(), assertionNames.end(), std::ostream_iterator< std::string >( mangleName, "" ) ); 284 294 mangleName << "_";
Note:
See TracChangeset
for help on using the changeset viewer.