Changeset 722c4831 for src/AST/GenericSubstitution.cpp
- Timestamp:
- May 22, 2019, 5:32:46 PM (6 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 489bacf, f23de79d
- Parents:
- 893e106
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/GenericSubstitution.cpp
r893e106 r722c4831 31 31 TypeSubstitution sub; 32 32 33 const Type *previsit( const Type * ty ) {33 void previsit( const Type * ty ) { 34 34 assertf( false, "Attempted generic substitution for non-aggregate type: %s", 35 35 toString( ty ).c_str() ); 36 return ty;37 36 } 38 37 39 const ReferenceType *previsit( const ReferenceType * ty ) {38 void previsit( const ReferenceType * ty ) { 40 39 // do nothing; allows substitution from base type 41 return ty;42 40 } 43 41 44 const ReferenceToType *previsit( const ReferenceToType * ty ) {42 void previsit( const ReferenceToType * ty ) { 45 43 visit_children = false; 46 44 // build substitution from base parameters 47 45 const AggregateDecl * aggr = ty->aggr(); 48 46 sub = TypeSubstitution{ aggr->params.begin(), aggr->params.end(), ty->params.begin() }; 49 return ty;50 47 } 51 48 };
Note: See TracChangeset
for help on using the changeset viewer.