Changeset 302ef2a
- Timestamp:
- Dec 22, 2020, 3:16:47 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 2daea42
- Parents:
- 797a193
- Location:
- src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Node.hpp
r797a193 r302ef2a 229 229 const node_t & operator* () const { _check(); return *node; } 230 230 explicit operator bool() const { _check(); return node; } 231 operator const node_t * () const { _check(); return node; } 231 operator const node_t * () const & { _check(); return node; } 232 operator const node_t * () && = delete; 232 233 233 234 const node_t * release() { -
src/ResolvExpr/Resolver.cc
r797a193 r302ef2a 1311 1311 } 1312 1312 1313 ast::ptr< ast::Expr >resolveStmtExpr(1313 const ast::Expr * resolveStmtExpr( 1314 1314 const ast::StmtExpr * stmtExpr, const ast::SymbolTable & symtab 1315 1315 ) { 1316 1316 assert( stmtExpr ); 1317 1317 ast::Pass< Resolver_new > resolver{ symtab }; 1318 ast::ptr< ast::Expr > ret = stmtExpr; 1319 ret = ret->accept( resolver ); 1320 strict_dynamic_cast< ast::StmtExpr * >( ret.get_and_mutate() )->computeResult(); 1318 auto ret = mutate(stmtExpr->accept(resolver)); 1319 strict_dynamic_cast< ast::StmtExpr * >( ret )->computeResult(); 1321 1320 return ret; 1322 1321 } -
src/ResolvExpr/Resolver.h
r797a193 r302ef2a 72 72 ast::ptr< ast::Init > resolveCtorInit( 73 73 const ast::ConstructorInit * ctorInit, const ast::SymbolTable & symtab ); 74 /// Resolves a statement expression 75 ast::ptr< ast::Expr >resolveStmtExpr(74 /// Resolves a statement expression 75 const ast::Expr * resolveStmtExpr( 76 76 const ast::StmtExpr * stmtExpr, const ast::SymbolTable & symtab ); 77 77 } // namespace ResolvExpr -
src/ResolvExpr/Unify.cc
r797a193 r302ef2a 811 811 /// Creates a tuple type based on a list of DeclWithType 812 812 template< typename Iter > 813 static ast::ptr< ast::Type >tupleFromTypes( Iter crnt, Iter end ) {813 static const ast::Type * tupleFromTypes( Iter crnt, Iter end ) { 814 814 std::vector< ast::ptr< ast::Type > > types; 815 815 while ( crnt != end ) { … … 821 821 } 822 822 823 return { new ast::TupleType{ std::move(types) }};823 return new ast::TupleType{ std::move(types) }; 824 824 } 825 825 … … 1034 1034 private: 1035 1035 /// Creates a tuple type based on a list of Type 1036 static ast::ptr< ast::Type >tupleFromTypes(1036 static const ast::Type * tupleFromTypes( 1037 1037 const std::vector< ast::ptr< ast::Type > > & tys 1038 1038 ) {
Note: See TracChangeset
for help on using the changeset viewer.