Ignore:
Timestamp:
Oct 18, 2016, 4:23:04 PM (8 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
f0121d7
Parents:
848ce71
Message:

implement transformation for MemberTupleExprs?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/Tuples.h

    r848ce71 rbf32bb8  
    3030
    3131        // TupleExpansion.cc
     32        /// expands z.[a, b.[x, y], c] into [z.a, z.b.x, z.b.y, z.c], inserting UniqueExprs as appropriate
     33        void expandMemberTuples( std::list< Declaration * > & translationUnit );
     34
     35        /// replaces tuple-related elements, such as TupleType, TupleExpr, TupleAssignExpr, etc.
    3236        void expandTuples( std::list< Declaration * > & translationUnit );
    3337
    34   void expandUniqueExpr( std::list< Declaration * > & translationUnit );
     38        /// replaces UniqueExprs with a temporary variable and one call
     39        void expandUniqueExpr( std::list< Declaration * > & translationUnit );
    3540
    36   /// returns VoidType if any of the expressions have Voidtype, otherwise TupleType of the Expression result types
    37   Type * makeTupleType( const std::list< Expression * > & exprs );
     41        /// returns VoidType if any of the expressions have Voidtype, otherwise TupleType of the Expression result types
     42        Type * makeTupleType( const std::list< Expression * > & exprs );
    3843
    39   bool maybeImpure( Expression * expr );
     44        /// returns true if the expression may contain side-effects.
     45        bool maybeImpure( Expression * expr );
    4046
    4147
Note: See TracChangeset for help on using the changeset viewer.