Changes in src/Tuples/Explode.h [432ce7a:6d6e829]
- File:
-
- 1 edited
-
src/Tuples/Explode.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/Explode.h
r432ce7a r6d6e829 19 19 #include <utility> // for forward 20 20 21 #include "AST/Expr.hpp"22 21 #include "ResolvExpr/Alternative.h" // for Alternative, AltList 23 #include "ResolvExpr/Candidate.hpp" // for Candidate, CandidateList24 22 #include "ResolvExpr/ExplodedActual.h" // for ExplodedActual 25 #include "ResolvExpr/ExplodedArg.hpp" // for ExplodedArg26 23 #include "SynTree/Expression.h" // for Expression, UniqueExpr, AddressExpr 27 24 #include "SynTree/Type.h" // for TupleType, Type 28 25 #include "Tuples.h" // for maybeImpure 29 30 namespace ast {31 class SymbolTable;32 }33 26 34 27 namespace SymTab { … … 137 130 explode( alts.begin(), alts.end(), indexer, std::forward<Output>(out), isTupleAssign ); 138 131 } 139 140 /// helper function used by explode141 template< typename Output >142 void explodeUnique(143 const ast::Expr * expr, const ResolvExpr::Candidate & arg, const ast::SymbolTable & symtab,144 Output && out, bool isTupleAssign145 ) {146 #warning unimplemented147 (void)expr; (void)arg; (void)symtab; (void)out; (void)isTupleAssign;148 assert(false);149 }150 151 /// expands a tuple-valued candidate into multiple candidates, each with a non-tuple type152 template< typename Output >153 void explode(154 const ResolvExpr::Candidate & arg, const ast::SymbolTable & symtab, Output && out,155 bool isTupleAssign = false156 ) {157 explodeUnique( arg.expr, arg, symtab, std::forward< Output >( out ), isTupleAssign );158 }159 160 132 } // namespace Tuples 161 133
Note:
See TracChangeset
for help on using the changeset viewer.