Changeset ce55a81 for src/AST/TypeSubstitution.hpp
- Timestamp:
- Sep 4, 2020, 2:14:10 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 14d8a9b
- Parents:
- 56c44dc (diff), 2801829 (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/TypeSubstitution.hpp
r56c44dc rce55a81 46 46 template< typename SynTreeClass > 47 47 struct ApplyResult { 48 // const SynTreeClass * node;49 48 ast::ptr<SynTreeClass> node; 50 49 int count; … … 159 158 160 159 // definitition must happen after PassVisitor is included so that WithGuards can be used 161 struct TypeSubstitution::Substituter : public WithGuards, public WithVisitorRef<Substituter> {160 struct TypeSubstitution::Substituter : public WithGuards, public WithVisitorRef<Substituter>, public PureVisitor { 162 161 static size_t traceId; 163 162 … … 187 186 assert( input ); 188 187 Pass<Substituter> sub( *this, false ); 189 input = strict_dynamic_cast< const SynTreeClass * >( deepCopy(input)->accept( sub ) );188 input = strict_dynamic_cast< const SynTreeClass * >( input->accept( sub ) ); 190 189 return { input, sub.core.subCount }; 191 190 } … … 195 194 assert( input ); 196 195 Pass<Substituter> sub( *this, true ); 197 input = strict_dynamic_cast< const SynTreeClass * >( deepCopy(input)->accept( sub ) );196 input = strict_dynamic_cast< const SynTreeClass * >( input->accept( sub ) ); 198 197 return { input, sub.core.subCount }; 199 198 }
Note: See TracChangeset
for help on using the changeset viewer.