Changeset fed6a0f
- Timestamp:
- Jan 17, 2023, 4:27:18 PM (2 years ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- 5bf3976
- Parents:
- 7b5694d
- Location:
- src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/AST/SymbolTable.cpp ¶
r7b5694d rfed6a0f 22 22 #include "Inspect.hpp" 23 23 #include "Type.hpp" 24 #include "CodeGen/OperatorTable.h" // for isCtorDtorAssign24 #include "CodeGen/OperatorTable.h" // for isCtorDtorAssign 25 25 #include "Common/SemanticError.h" 26 26 #include "Common/Stats/Counter.h" … … 28 28 #include "InitTweak/InitTweak.h" 29 29 #include "ResolvExpr/Cost.h" 30 #include "ResolvExpr/ typeops.h"// for referenceToRvalueConversion30 #include "ResolvExpr/CandidateFinder.hpp" // for referenceToRvalueConversion 31 31 #include "ResolvExpr/Unify.h" 32 32 #include "SymTab/Mangler.h" -
TabularUnified src/ResolvExpr/AlternativeFinder.cc ¶
r7b5694d rfed6a0f 14 14 // 15 15 16 #include "AlternativeFinder.h" 17 16 18 #include <algorithm> // for copy 17 19 #include <cassert> // for strict_dynamic_cast, assert, assertf … … 27 29 #include "CompilationState.h" // for resolvep 28 30 #include "Alternative.h" // for AltList, Alternative 29 #include "AlternativeFinder.h"30 31 #include "AST/Expr.hpp" 31 32 #include "AST/SymbolTable.hpp" … … 33 34 #include "Common/SemanticError.h" // for SemanticError 34 35 #include "Common/utility.h" // for deleteAll, printAll, CodeLocation 36 #include "ConversionCost.h" // for conversionCost 35 37 #include "Cost.h" // for Cost, Cost::zero, operator<<, Cost... 36 38 #include "ExplodedActual.h" // for ExplodedActual -
TabularUnified src/ResolvExpr/AlternativeFinder.h ¶
r7b5694d rfed6a0f 34 34 namespace ResolvExpr { 35 35 struct ArgPack; 36 37 Cost computeConversionCost( Type * actualType, Type * formalType, bool actualIsLvalue, 38 const SymTab::Indexer & indexer, const TypeEnvironment & env ); 39 40 void referenceToRvalueConversion( Expression *& expr, Cost & cost ); 36 41 37 42 /// First index is which argument, second index is which alternative for that argument, -
TabularUnified src/ResolvExpr/CandidateFinder.cpp ¶
r7b5694d rfed6a0f 25 25 #include "Candidate.hpp" 26 26 #include "CompilationState.h" 27 #include "ConversionCost.h" // for conversionCast 27 28 #include "Cost.h" 28 29 #include "ExplodedArg.hpp" … … 31 32 #include "ResolveTypeof.h" 32 33 #include "SatisfyAssertions.hpp" 33 #include "typeops.h" // for adjustExprType, conversionCost,polyCost, specCost34 #include "typeops.h" // for adjustExprType, polyCost, specCost 34 35 #include "Unify.h" 35 36 #include "AST/Expr.hpp" -
TabularUnified src/ResolvExpr/CandidateFinder.hpp ¶
r7b5694d rfed6a0f 63 63 const ast::SymbolTable & symtab, const ast::TypeEnvironment & env ); 64 64 65 /// Create an expression that preforms reference to rvalue conversion on 66 /// the given expression and update the cost of the expression. 67 const ast::Expr * referenceToRvalueConversion( 68 const ast::Expr * expr, Cost & cost ); 69 65 70 } // namespace ResolvExpr 66 71 -
TabularUnified src/ResolvExpr/ConversionCost.h ¶
r7b5694d rfed6a0f 32 32 namespace ResolvExpr { 33 33 class TypeEnvironment; 34 35 Cost conversionCost( 36 const Type * src, const Type * dest, bool srcIsLvalue, 37 const SymTab::Indexer & indexer, const TypeEnvironment & env ); 34 38 35 39 typedef std::function<Cost(const Type *, const Type *, bool, … … 80 84 const ast::SymbolTable &, const ast::TypeEnvironment &)>; 81 85 86 Cost conversionCost( 87 const ast::Type * src, const ast::Type * dst, bool srcIsLvalue, 88 const ast::SymbolTable & symtab, const ast::TypeEnvironment & env ); 89 90 Cost convertToReferenceCost( const ast::Type * src, const ast::ReferenceType * dest, 91 bool srcIsLvalue, const ast::SymbolTable & indexer, const ast::TypeEnvironment & env, 92 PtrsCalculation func ); 93 82 94 #warning when the old ConversionCost is removed, get ride of the _new suffix. 83 95 class ConversionCost_new : public ast::WithShortCircuiting { … … 119 131 }; 120 132 121 Cost convertToReferenceCost( const ast::Type * src, const ast::ReferenceType * dest,122 bool srcIsLvalue, const ast::SymbolTable & indexer, const ast::TypeEnvironment & env,123 PtrsCalculation func );124 125 133 } // namespace ResolvExpr 126 134 -
TabularUnified src/ResolvExpr/ResolveAssertions.cc ¶
r7b5694d rfed6a0f 31 31 #include "Common/utility.h" // for sort_mins 32 32 #include "GenPoly/GenPoly.h" // for getFunctionType 33 #include "ResolvExpr/AlternativeFinder.h" // for computeConversionCost 33 34 #include "ResolvExpr/RenameVars.h" // for renameTyVars 34 35 #include "SymTab/Indexer.h" // for Indexer -
TabularUnified src/ResolvExpr/typeops.h ¶
r7b5694d rfed6a0f 86 86 const ast::SymbolTable & symtab, const ast::TypeEnvironment & env ); 87 87 88 // in ConversionCost.cc89 Cost conversionCost( const Type * src, const Type * dest, bool srcIsLvalue,90 const SymTab::Indexer & indexer, const TypeEnvironment & env );91 Cost conversionCost(92 const ast::Type * src, const ast::Type * dst, bool srcIsLvalue,93 const ast::SymbolTable & symtab, const ast::TypeEnvironment & env );94 95 // in AlternativeFinder.cc96 Cost computeConversionCost( Type * actualType, Type * formalType, bool actualIsLvalue,97 const SymTab::Indexer & indexer, const TypeEnvironment & env );98 99 88 // in PtrsAssignable.cc 100 89 int ptrsAssignable( const Type * src, const Type * dest, const TypeEnvironment & env ); … … 137 126 return false; 138 127 } 139 140 // in AlternativeFinder.cc141 void referenceToRvalueConversion( Expression *& expr, Cost & cost );142 // in CandidateFinder.cpp143 const ast::Expr * referenceToRvalueConversion( const ast::Expr * expr, Cost & cost );144 128 145 129 /// flatten tuple type into list of types -
TabularUnified src/SymTab/Indexer.cc ¶
r7b5694d rfed6a0f 31 31 #include "InitTweak/InitTweak.h" // for isConstructor, isCopyFunction, isC... 32 32 #include "Mangler.h" // for Mangler 33 #include "ResolvExpr/ typeops.h"// for referenceToRvalueConversion33 #include "ResolvExpr/AlternativeFinder.h" // for referenceToRvalueConversion 34 34 #include "ResolvExpr/Unify.h" // for typesCompatible 35 35 #include "SynTree/LinkageSpec.h" // for isMangled, isOverridable, Spec
Note: See TracChangeset
for help on using the changeset viewer.