Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/Explode.h

    r432ce7a r6d6e829  
    1919#include <utility>                      // for forward
    2020
    21 #include "AST/Expr.hpp"
    2221#include "ResolvExpr/Alternative.h"     // for Alternative, AltList
    23 #include "ResolvExpr/Candidate.hpp"     // for Candidate, CandidateList
    2422#include "ResolvExpr/ExplodedActual.h"  // for ExplodedActual
    25 #include "ResolvExpr/ExplodedArg.hpp"   // for ExplodedArg
    2623#include "SynTree/Expression.h"         // for Expression, UniqueExpr, AddressExpr
    2724#include "SynTree/Type.h"               // for TupleType, Type
    2825#include "Tuples.h"                     // for maybeImpure
    29 
    30 namespace ast {
    31         class SymbolTable;
    32 }
    3326
    3427namespace SymTab {
     
    137130                explode( alts.begin(), alts.end(), indexer, std::forward<Output>(out), isTupleAssign );
    138131        }
    139 
    140 /// helper function used by explode
    141 template< typename Output >
    142 void explodeUnique(
    143         const ast::Expr * expr, const ResolvExpr::Candidate & arg, const ast::SymbolTable & symtab,
    144         Output && out, bool isTupleAssign
    145 ) {
    146         #warning unimplemented
    147         (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 type
    152 template< typename Output >
    153 void explode(
    154         const ResolvExpr::Candidate & arg, const ast::SymbolTable & symtab, Output && out,
    155         bool isTupleAssign = false
    156 ) {
    157         explodeUnique( arg.expr, arg, symtab, std::forward< Output >( out ), isTupleAssign );
    158 }
    159 
    160132} // namespace Tuples
    161133
Note: See TracChangeset for help on using the changeset viewer.