Ignore:
Timestamp:
Oct 29, 2019, 4:01:24 PM (6 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
773db65, 9421f3d8
Parents:
7951100 (diff), 8364209 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/Tuples.h

    r7951100 rb067d9b  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jul 22 09:55:00 2017
    13 // Update Count     : 16
     11// Last Modified By : Andrew Beach
     12// Last Modified On : Tue Jun 18 09:36:00 2019
     13// Update Count     : 18
    1414//
    1515
     
    1919#include <vector>
    2020
     21#include "AST/Fwd.hpp"
     22#include "AST/Node.hpp"
    2123#include "SynTree/Expression.h"
    2224#include "SynTree/Declaration.h"
     
    2426
    2527#include "ResolvExpr/AlternativeFinder.h"
     28#include "ResolvExpr/CandidateFinder.hpp"
    2629
    2730namespace Tuples {
    2831        // TupleAssignment.cc
    29         void handleTupleAssignment( ResolvExpr::AlternativeFinder & currentFinder, UntypedExpr * assign, 
     32        void handleTupleAssignment( ResolvExpr::AlternativeFinder & currentFinder, UntypedExpr * assign,
    3033                std::vector< ResolvExpr::AlternativeFinder >& args );
    31        
     34        void handleTupleAssignment(
     35                ResolvExpr::CandidateFinder & finder, const ast::UntypedExpr * assign,
     36                std::vector< ResolvExpr::CandidateFinder > & args );
     37
    3238        // TupleExpansion.cc
    3339        /// expands z.[a, b.[x, y], c] into [z.a, z.b.x, z.b.y, z.c], inserting UniqueExprs as appropriate
     
    4248        /// returns VoidType if any of the expressions have Voidtype, otherwise TupleType of the Expression result types
    4349        Type * makeTupleType( const std::list< Expression * > & exprs );
     50        const ast::Type * makeTupleType( const std::vector<ast::ptr<ast::Expr>> & exprs );
    4451
    4552        /// returns a TypeInstType if `type` is a ttype, nullptr otherwise
    4653        TypeInstType * isTtype( Type * type );
     54        const TypeInstType * isTtype( const Type * type );
     55        const ast::TypeInstType * isTtype( const ast::Type * type );
    4756
    4857        /// returns true if the expression may contain side-effects.
    49         bool maybeImpure( Expression * expr );
     58        bool maybeImpure( const Expression * expr );
     59        bool maybeImpure( const ast::Expr * expr );
    5060
    51         /// returns true if the expression may contain side-effect, ignoring the presence of unique expressions.
    52         bool maybeImpureIgnoreUnique( Expression * expr );
     61        /// Returns true if the expression may contain side-effect,
     62        /// ignoring the presence of unique expressions.
     63        bool maybeImpureIgnoreUnique( const Expression * expr );
     64        bool maybeImpureIgnoreUnique( const ast::Expr * expr );
    5365} // namespace Tuples
    5466
Note: See TracChangeset for help on using the changeset viewer.