diff options
author | Christian <c@ethdev.com> | 2014-10-14 00:22:15 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2014-10-16 00:40:19 +0800 |
commit | 89b794f1dc15c8688526470b9d68b361dab82be3 (patch) | |
tree | 92db8a29965ee2dd796b22a1508f58b2d199e71e /NameAndTypeResolver.h | |
parent | bdac5c7b4b5c23ea4f2cfe4a779da05b4722f1be (diff) | |
download | dexon-solidity-89b794f1dc15c8688526470b9d68b361dab82be3.tar.gz dexon-solidity-89b794f1dc15c8688526470b9d68b361dab82be3.tar.zst dexon-solidity-89b794f1dc15c8688526470b9d68b361dab82be3.zip |
Type system, not yet complete.
Diffstat (limited to 'NameAndTypeResolver.h')
-rw-r--r-- | NameAndTypeResolver.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/NameAndTypeResolver.h b/NameAndTypeResolver.h index 42efd57a..036c3fba 100644 --- a/NameAndTypeResolver.h +++ b/NameAndTypeResolver.h @@ -24,13 +24,15 @@ #include <map> +#include <boost/noncopyable.hpp> + #include <libsolidity/Scope.h> #include <libsolidity/ASTVisitor.h> namespace dev { namespace solidity { -class NameAndTypeResolver +class NameAndTypeResolver : private boost::noncopyable { public: NameAndTypeResolver(); @@ -43,12 +45,13 @@ private: void handleContract(ContractDefinition& _contract); void handleFunction(FunctionDefinition& _function); - void handleFunctionBody(Block& _functionBody); - void registerVariablesInFunction(Block& _functionBody); - void resolveReferencesInFunction(Block& _functionBody); + void registerVariablesInFunction(FunctionDefinition& _function); + void resolveReferencesInFunction(ParameterList& _returnParameters, + Block& _functionBody); - void registerName(ASTString const& _name, ASTNode& _declaration); - ASTNode* getNameFromCurrentScope(ASTString const& _name, bool _recursive = true); + void registerVariableDeclarationAndResolveType(VariableDeclaration& _variable); + void registerDeclaration(Declaration& _declaration); + Declaration* getNameFromCurrentScope(ASTString const& _name, bool _recursive = true); void enterNewSubScope(ASTNode& _node); void closeCurrentScope(); |