Changeset f7f997a for src/ResolvExpr/Resolver.h
- Timestamp:
- Nov 17, 2023, 3:23:48 PM (2 years ago)
- Branches:
- master
- Children:
- decd4a6
- Parents:
- 16e0dcb (diff), 2908f08 (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/ResolvExpr/Resolver.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.h
r16e0dcb rf7f997a 34 34 namespace ResolvExpr { 35 35 36 /// Helper Type: Passes around information between various sub-calls.37 struct ResolveContext {38 const ast::SymbolTable & symtab;39 const ast::TranslationGlobal & global;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.