Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/TupleAssignment.cc

    rd29fa5f r5fb6830  
    1414//
    1515
    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 
     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"
    2324#include "CodeGen/OperatorTable.h"
    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
     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>
    4235
    4336namespace Tuples {
     
    8477        bool isTuple( Expression *expr ) {
    8578                if ( ! expr ) return false;
    86                 assert( expr->result );
     79                assert( expr->has_result() );
    8780                return dynamic_cast< TupleType * >( expr->get_result()->stripReferences() );
    8881        }
     
    238231
    239232        ObjectDecl * TupleAssignSpotter::Matcher::newObject( UniqueName & namer, Expression * expr ) {
    240                 assert( expr->result && ! expr->get_result()->isVoid() );
     233                assert( expr->has_result() && ! expr->get_result()->isVoid() );
    241234                ObjectDecl * ret = new ObjectDecl( namer.newName(), Type::StorageClasses(), LinkageSpec::Cforall, nullptr, expr->get_result()->clone(), new SingleInit( expr->clone() ) );
    242235                // 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.