Changeset b067d9b for src/Tuples/Tuples.h
- Timestamp:
- Oct 29, 2019, 4:01:24 PM (6 years ago)
- 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. - File:
-
- 1 edited
-
src/Tuples/Tuples.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/Tuples.h
r7951100 rb067d9b 9 9 // Author : Rodolfo G. Esteves 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jul 22 09:55:00 201713 // Update Count : 1 611 // Last Modified By : Andrew Beach 12 // Last Modified On : Tue Jun 18 09:36:00 2019 13 // Update Count : 18 14 14 // 15 15 … … 19 19 #include <vector> 20 20 21 #include "AST/Fwd.hpp" 22 #include "AST/Node.hpp" 21 23 #include "SynTree/Expression.h" 22 24 #include "SynTree/Declaration.h" … … 24 26 25 27 #include "ResolvExpr/AlternativeFinder.h" 28 #include "ResolvExpr/CandidateFinder.hpp" 26 29 27 30 namespace Tuples { 28 31 // TupleAssignment.cc 29 void handleTupleAssignment( ResolvExpr::AlternativeFinder & currentFinder, UntypedExpr * assign, 32 void handleTupleAssignment( ResolvExpr::AlternativeFinder & currentFinder, UntypedExpr * assign, 30 33 std::vector< ResolvExpr::AlternativeFinder >& args ); 31 34 void handleTupleAssignment( 35 ResolvExpr::CandidateFinder & finder, const ast::UntypedExpr * assign, 36 std::vector< ResolvExpr::CandidateFinder > & args ); 37 32 38 // TupleExpansion.cc 33 39 /// expands z.[a, b.[x, y], c] into [z.a, z.b.x, z.b.y, z.c], inserting UniqueExprs as appropriate … … 42 48 /// returns VoidType if any of the expressions have Voidtype, otherwise TupleType of the Expression result types 43 49 Type * makeTupleType( const std::list< Expression * > & exprs ); 50 const ast::Type * makeTupleType( const std::vector<ast::ptr<ast::Expr>> & exprs ); 44 51 45 52 /// returns a TypeInstType if `type` is a ttype, nullptr otherwise 46 53 TypeInstType * isTtype( Type * type ); 54 const TypeInstType * isTtype( const Type * type ); 55 const ast::TypeInstType * isTtype( const ast::Type * type ); 47 56 48 57 /// 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 ); 50 60 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 ); 53 65 } // namespace Tuples 54 66
Note:
See TracChangeset
for help on using the changeset viewer.