Changes in src/ResolvExpr/Resolver.h [18e683b:c1bf35f]
- File:
-
- 1 edited
-
src/ResolvExpr/Resolver.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.h
r18e683b rc1bf35f 10 10 // Created On : Sun May 17 12:18:34 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Feb 18 20:40:38 201913 // Update Count : 412 // Last Modified On : Sat Jul 22 09:36:57 2017 13 // Update Count : 3 14 14 // 15 15 16 16 #pragma once 17 17 18 #include <list> // for list 19 20 #include "AST/Node.hpp" // for ptr 18 #include <list> // for list 21 19 22 20 class ConstructorInit; … … 25 23 class StmtExpr; 26 24 namespace SymTab { 27 class Indexer; 28 } // namespace SymTab 29 30 namespace ast { 31 class ConstructorInit; 32 class Decl; 33 class DeletedExpr; 34 class Init; 35 class StmtExpr; 36 class SymbolTable; 37 class Type; 38 class TypeEnvironment; 39 } // namespace ast 25 class Indexer; 26 } // namespace SymTab 40 27 41 28 namespace ResolvExpr { 42 29 /// Checks types and binds syntactic constructs to typed representations 43 30 void resolve( std::list< Declaration * > translationUnit ); 44 void resolveDecl( Declaration *, const SymTab::Indexer & indexer );45 Expression *resolveInVoidContext( Expression * expr, const SymTab::Indexer & indexer );46 void findVoidExpression( Expression *& untyped, const SymTab::Indexer & indexer );47 void findSingleExpression( Expression *& untyped, const SymTab::Indexer & indexer );48 void findSingleExpression( Expression *& untyped, Type * type, const SymTab::Indexer & indexer );31 void resolveDecl( Declaration *, const SymTab::Indexer &indexer ); 32 Expression *resolveInVoidContext( Expression * expr, const SymTab::Indexer &indexer ); 33 void findVoidExpression( Expression *& untyped, const SymTab::Indexer &indexer ); 34 void findSingleExpression( Expression *& untyped, const SymTab::Indexer &indexer ); 35 void findSingleExpression( Expression *& untyped, Type * type, const SymTab::Indexer &indexer ); 49 36 void resolveCtorInit( ConstructorInit * ctorInit, const SymTab::Indexer & indexer ); 50 37 void resolveStmtExpr( StmtExpr * stmtExpr, const SymTab::Indexer & indexer ); 51 /// Searches expr and returns the first DeletedExpr found, otherwise nullptr52 DeletedExpr * findDeletedExpr( Expression * expr );53 /// Resolves with-stmts and with-clauses on functions54 void resolveWithExprs( std::list< Declaration * > & translationUnit );55 56 /// Checks types and binds syntactic constructs to typed representations57 void resolve( std::list< ast::ptr<ast::Decl> >& translationUnit );58 /// Searches expr and returns the first DeletedExpr found, otherwise nullptr59 const ast::DeletedExpr * findDeletedExpr( const ast::Expr * expr );60 /// Find the expression candidate that is the unique best match for `untyped` in a `void`61 /// context.62 ast::ptr< ast::Expr > resolveInVoidContext(63 const ast::Expr * expr, const ast::SymbolTable & symtab, ast::TypeEnvironment & env );64 /// Resolve `untyped` to the single expression whose candidate is the best match for the65 /// given type.66 ast::ptr< ast::Expr > findSingleExpression(67 const ast::Expr * untyped, const ast::Type * type, const ast::SymbolTable & symtab );68 /// Resolves a constructor init expression69 ast::ptr< ast::Init > resolveCtorInit(70 const ast::ConstructorInit * ctorInit, const ast::SymbolTable & symtab );71 /// Resolves a statement expression72 ast::ptr< ast::Expr > resolveStmtExpr(73 const ast::StmtExpr * stmtExpr, const ast::SymbolTable & symtab );74 38 } // namespace ResolvExpr 75 39
Note:
See TracChangeset
for help on using the changeset viewer.