Changeset 5bf3976 for src/ResolvExpr/typeops.h
- Timestamp:
- Jan 18, 2023, 12:14:42 PM (19 months ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- 378de69, a0d1f1c
- Parents:
- fed6a0f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/typeops.h
rfed6a0f r5bf3976 10 10 // Created On : Sun May 17 07:28:22 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Tue Oct 1 09:45:00 201913 // Update Count : 612 // Last Modified On : Wed Jan 18 11:54:00 2023 13 // Update Count : 7 14 14 // 15 15 … … 60 60 } 61 61 } 62 63 // in AdjustExprType.cc64 /// Replaces array types with the equivalent pointer, and function types with a pointer-to-function65 void adjustExprType( Type *& type, const TypeEnvironment & env, const SymTab::Indexer & indexer );66 67 /// Replaces array types with the equivalent pointer, and function types with a pointer-to-function using empty TypeEnvironment and Indexer68 void adjustExprType( Type *& type );69 70 template< typename ForwardIterator >71 void adjustExprTypeList( ForwardIterator begin, ForwardIterator end, const TypeEnvironment & env, const SymTab::Indexer & indexer ) {72 while ( begin != end ) {73 adjustExprType( *begin++, env, indexer );74 } // while75 }76 77 /// Replaces array types with equivalent pointer, and function types with a pointer-to-function78 const ast::Type * adjustExprType(79 const ast::Type * type, const ast::TypeEnvironment & env, const ast::SymbolTable & symtab );80 81 // in CastCost.cc82 Cost castCost( const Type * src, const Type * dest, bool srcIsLvalue,83 const SymTab::Indexer & indexer, const TypeEnvironment & env );84 Cost castCost(85 const ast::Type * src, const ast::Type * dst, bool srcIsLvalue,86 const ast::SymbolTable & symtab, const ast::TypeEnvironment & env );87 88 // in PtrsAssignable.cc89 int ptrsAssignable( const Type * src, const Type * dest, const TypeEnvironment & env );90 int ptrsAssignable( const ast::Type * src, const ast::Type * dst,91 const ast::TypeEnvironment & env );92 93 // in PtrsCastable.cc94 int ptrsCastable( const Type * src, const Type * dest, const TypeEnvironment & env, const SymTab::Indexer & indexer );95 int ptrsCastable(96 const ast::Type * src, const ast::Type * dst, const ast::SymbolTable & symtab,97 const ast::TypeEnvironment & env );98 99 // in CommonType.cc100 Type * commonType( Type * type1, Type * type2, bool widenFirst, bool widenSecond, const SymTab::Indexer & indexer, TypeEnvironment & env, const OpenVarSet & openVars );101 ast::ptr< ast::Type > commonType(102 const ast::ptr< ast::Type > & type1, const ast::ptr< ast::Type > & type2,103 ast::TypeEnvironment & env, ast::AssertionSet & need, ast::AssertionSet & have,104 const ast::OpenVarSet & open, WidenMode widen, const ast::SymbolTable & symtab105 );106 107 // in PolyCost.cc108 int polyCost( Type * type, const TypeEnvironment & env, const SymTab::Indexer & indexer );109 int polyCost(110 const ast::Type * type, const ast::SymbolTable & symtab, const ast::TypeEnvironment & env );111 112 // in SpecCost.cc113 int specCost( Type * type );114 int specCost( const ast::Type * type );115 62 116 63 // in Occurs.cc … … 171 118 } 172 119 173 174 120 return new ast::TupleType{ std::move(types) }; 175 121 }
Note: See TracChangeset
for help on using the changeset viewer.