Changes in src/ResolvExpr/Resolver.h [0bd3faf:2908f08]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.h
r0bd3faf r2908f08 34 34 namespace ResolvExpr { 35 35 36 37 38 39 40 36 /// Helper Type: Passes around information between various sub-calls. 37 struct ResolveContext { 38 const ast::SymbolTable & symtab; 39 const ast::TranslationGlobal & global; 40 }; 41 41 42 /// Checks types and binds syntactic constructs to typed representations 43 void resolve( ast::TranslationUnit& translationUnit ); 44 /// Searches expr and returns the first DeletedExpr found, otherwise nullptr 45 const ast::DeletedExpr * findDeletedExpr( const ast::Expr * expr ); 46 /// Find the expression candidate that is the unique best match for `untyped` in a `void` 47 /// context. 48 ast::ptr< ast::Expr > resolveInVoidContext( 49 const ast::Expr * expr, const ResolveContext &, ast::TypeEnvironment & env ); 50 /// Resolve `untyped` to the single expression whose candidate is the best match for the 51 /// given type. 52 ast::ptr< ast::Expr > findSingleExpression( 53 const ast::Expr * untyped, const ast::Type * type, const ResolveContext & ); 54 ast::ptr< ast::Expr > findVoidExpression( 55 const ast::Expr * untyped, const ResolveContext & ); 56 /// Resolves a constructor init expression 57 ast::ptr< ast::Init > resolveCtorInit( 58 const ast::ConstructorInit * ctorInit, const ResolveContext & context ); 59 /// Resolves a statement expression 60 const ast::Expr * resolveStmtExpr( 61 const ast::StmtExpr * stmtExpr, const ResolveContext & context ); 42 /// Checks types and binds syntactic constructs to typed representations 43 void resolve( ast::TranslationUnit& translationUnit ); 44 /// Searches expr and returns the first DeletedExpr found, otherwise nullptr 45 const ast::DeletedExpr * findDeletedExpr( const ast::Expr * expr ); 46 /// Find the expression candidate that is the unique 47 /// best match for `untyped` in a `void` context. 48 ast::ptr< ast::Expr > resolveInVoidContext( 49 const ast::Expr * expr, const ResolveContext &, ast::TypeEnvironment & env ); 50 /// Resolve `untyped` to the single expression whose 51 /// candidate is the best match for the given type. 52 ast::ptr< ast::Expr > findSingleExpression( 53 const ast::Expr * untyped, const ast::Type * type, const ResolveContext & ); 54 ast::ptr< ast::Expr > findVoidExpression( 55 const ast::Expr * untyped, const ResolveContext & ); 56 /// Resolves a constructor init expression 57 ast::ptr< ast::Init > resolveCtorInit( 58 const ast::ConstructorInit * ctorInit, const ResolveContext & context ); 59 /// Resolves a statement expression 60 const ast::Expr * resolveStmtExpr( 61 const ast::StmtExpr * stmtExpr, const ResolveContext & context ); 62 62 63 } // namespace ResolvExpr 63 64
Note: See TracChangeset
for help on using the changeset viewer.