Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/Explode.h

    r6bbce58 r0b5d871  
    1616#pragma once
    1717
    18 #include <iterator>                  // for back_inserter, back_insert_iterator
     18#include "ResolvExpr/AlternativeFinder.h"
     19#include "ResolvExpr/Resolver.h"
    1920
    20 #include "ResolvExpr/Alternative.h"  // for Alternative, AltList
    21 #include "SynTree/Expression.h"      // for Expression, UniqueExpr, AddressExpr
    22 #include "SynTree/Type.h"            // for TupleType, Type
    23 #include "Tuples.h"                  // for maybeImpure
     21#include "SynTree/Expression.h"
     22#include "SynTree/Declaration.h"
     23#include "SynTree/Type.h"
    2424
    25 namespace SymTab {
    26 class Indexer;
    27 }  // namespace SymTab
     25#include "Tuples.h"
    2826
    2927namespace Tuples {
    3028        Expression * distributeReference( Expression * );
    31 
    32         static inline CastExpr * isReferenceCast( Expression * expr ) {
    33                 if ( CastExpr * castExpr = dynamic_cast< CastExpr * >( expr ) ) {
    34                         if ( dynamic_cast< ReferenceType * >( castExpr->result ) ) {
    35                                 return castExpr;
    36                         }
    37                 }
    38                 return nullptr;
    39         }
    4029
    4130        /// helper function used by explode
     
    4433                if ( isTupleAssign ) {
    4534                        // tuple assignment needs CastExprs to be recursively exploded to easily get at all of the components
    46                         if ( CastExpr * castExpr = isReferenceCast( expr ) ) {
     35                        if ( CastExpr * castExpr = dynamic_cast< CastExpr * >( expr ) ) {
    4736                                ResolvExpr::AltList alts;
    4837                                explodeUnique( castExpr->get_arg(), alt, indexer, back_inserter( alts ), isTupleAssign );
Note: See TracChangeset for help on using the changeset viewer.