Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/TupleAssignment.cc

    r5fb6830 rd29fa5f  
    1414//
    1515
    16 #include "ResolvExpr/AlternativeFinder.h"
    17 #include "ResolvExpr/Alternative.h"
    18 #include "ResolvExpr/typeops.h"
    19 #include "SynTree/Expression.h"
    20 #include "SynTree/Initializer.h"
    21 #include "Tuples.h"
    22 #include "Explode.h"
    23 #include "Common/SemanticError.h"
     16#include <algorithm>                       // for transform
     17#include <cassert>                         // for assert
     18#include <iterator>                        // for back_insert_iterator, back...
     19#include <list>                            // for _List_const_iterator, _Lis...
     20#include <memory>                          // for unique_ptr, allocator_trai...
     21#include <string>                          // for string
     22
    2423#include "CodeGen/OperatorTable.h"
    25 #include "InitTweak/InitTweak.h"
    26 #include "InitTweak/GenInit.h"
    27 
    28 #include <functional>
    29 #include <algorithm>
    30 #include <iterator>
    31 #include <iostream>
    32 #include <cassert>
    33 #include <set>
    34 #include <unordered_set>
     24#include "Common/UniqueName.h"             // for UniqueName
     25#include "Common/utility.h"                // for zipWith
     26#include "Explode.h"                       // for explode
     27#include "InitTweak/GenInit.h"             // for genCtorInit
     28#include "InitTweak/InitTweak.h"           // for getPointerBase, isAssignment
     29#include "Parser/LinkageSpec.h"            // for Cforall
     30#include "ResolvExpr/Alternative.h"        // for AltList, Alternative
     31#include "ResolvExpr/AlternativeFinder.h"  // for AlternativeFinder, simpleC...
     32#include "ResolvExpr/Cost.h"               // for Cost
     33#include "ResolvExpr/Resolver.h"           // for resolveCtorInit
     34#include "ResolvExpr/TypeEnvironment.h"    // for TypeEnvironment
     35#include "SynTree/Declaration.h"           // for ObjectDecl
     36#include "SynTree/Expression.h"            // for Expression, CastExpr, Name...
     37#include "SynTree/Initializer.h"           // for ConstructorInit, SingleInit
     38#include "SynTree/Statement.h"             // for ExprStmt
     39#include "SynTree/Type.h"                  // for Type, Type::Qualifiers
     40#include "SynTree/TypeSubstitution.h"      // for TypeSubstitution
     41#include "SynTree/Visitor.h"               // for Visitor
    3542
    3643namespace Tuples {
     
    7784        bool isTuple( Expression *expr ) {
    7885                if ( ! expr ) return false;
    79                 assert( expr->has_result() );
     86                assert( expr->result );
    8087                return dynamic_cast< TupleType * >( expr->get_result()->stripReferences() );
    8188        }
     
    231238
    232239        ObjectDecl * TupleAssignSpotter::Matcher::newObject( UniqueName & namer, Expression * expr ) {
    233                 assert( expr->has_result() && ! expr->get_result()->isVoid() );
     240                assert( expr->result && ! expr->get_result()->isVoid() );
    234241                ObjectDecl * ret = new ObjectDecl( namer.newName(), Type::StorageClasses(), LinkageSpec::Cforall, nullptr, expr->get_result()->clone(), new SingleInit( expr->clone() ) );
    235242                // if expression type is a reference, don't need to construct anything, a simple initializer is sufficient.
Note: See TracChangeset for help on using the changeset viewer.