Changeset aeb75b1 for src/ResolvExpr/AlternativeFinder.h
- Timestamp:
- Oct 2, 2017, 3:02:21 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, 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:
- e472d54
- Parents:
- 9bae71f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/AlternativeFinder.h
r9bae71f raeb75b1 34 34 public: 35 35 AlternativeFinder( const SymTab::Indexer &indexer, const TypeEnvironment &env ); 36 37 AlternativeFinder( const AlternativeFinder& o ) 38 : indexer(o.indexer), alternatives(o.alternatives), env(o.env), 39 targetType(o.targetType) {} 40 41 AlternativeFinder( AlternativeFinder&& o ) 42 : indexer(o.indexer), alternatives(std::move(o.alternatives)), env(o.env), 43 targetType(o.targetType) {} 44 45 AlternativeFinder& operator= ( const AlternativeFinder& o ) { 46 if (&o == this) return *this; 47 48 // horrific nasty hack to rebind references... 49 alternatives.~AltList(); 50 new(this) AlternativeFinder(o); 51 return *this; 52 } 53 54 AlternativeFinder& operator= ( AlternativeFinder&& o ) { 55 if (&o == this) return *this; 56 57 // horrific nasty hack to rebind references... 58 alternatives.~AltList(); 59 new(this) AlternativeFinder(std::move(o)); 60 return *this; 61 } 62 36 63 void find( Expression *expr, bool adjust = false, bool prune = true ); 37 64 /// Calls find with the adjust flag set; adjustment turns array and function types into equivalent pointer types … … 94 121 /// Adds alternatives for offsetof expressions, given the base type and name of the member 95 122 template< typename StructOrUnionType > void addOffsetof( StructOrUnionType *aggInst, const std::string &name ); 96 123 /*CUT bool instantiateFunction( std::list< DeclarationWithType* >& formals, const AltList &actuals, bool isVarArgs, OpenVarSet& openVars, TypeEnvironment &resultEnv, AssertionSet &resultNeed, AssertionSet &resultHave, AltList & out ); 97 124 template< typename OutputIterator > 98 125 void makeFunctionAlternatives( const Alternative &func, FunctionType *funcType, const AltList &actualAlt, OutputIterator out ); 126 */ template<typename OutputIterator> 127 void makeFunctionAlternatives( const Alternative &func, FunctionType *funcType, const std::vector< AlternativeFinder >& args, OutputIterator out ); 99 128 template< typename OutputIterator > 100 129 void inferParameters( const AssertionSet &need, AssertionSet &have, const Alternative &newAlt, OpenVarSet &openVars, OutputIterator out );
Note: See TracChangeset
for help on using the changeset viewer.