aboutsummaryrefslogtreecommitdiffstats
path: root/NameAndTypeResolver.h
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2014-11-01 00:20:27 +0800
committerChristian <c@ethdev.com>2014-11-01 00:20:27 +0800
commit25c0e08bdfd955d8fdc0e7563c718b6fbba6cd1c (patch)
tree78e49ce681d0b9c5ce6d76b7dc6f445d114f918f /NameAndTypeResolver.h
parenta36db1f2412d700cc8b32f8331be103c73ea90cb (diff)
parentc45495afb96fcd9bf8b3ad965144a3436fc101a5 (diff)
downloaddexon-solidity-25c0e08bdfd955d8fdc0e7563c718b6fbba6cd1c.tar.gz
dexon-solidity-25c0e08bdfd955d8fdc0e7563c718b6fbba6cd1c.tar.zst
dexon-solidity-25c0e08bdfd955d8fdc0e7563c718b6fbba6cd1c.zip
Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts: libsolidity/AST.cpp libsolidity/AST.h libsolidity/Compiler.cpp libsolidity/Compiler.h libsolidity/NameAndTypeResolver.h libsolidity/Types.cpp solc/main.cpp test/solidityCompiler.cpp
Diffstat (limited to 'NameAndTypeResolver.h')
-rw-r--r--NameAndTypeResolver.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/NameAndTypeResolver.h b/NameAndTypeResolver.h
index cdc334a6..90902494 100644
--- a/NameAndTypeResolver.h
+++ b/NameAndTypeResolver.h
@@ -33,8 +33,11 @@ namespace dev
namespace solidity
{
-//! Resolves name references, resolves all types and checks that all operations are valid for the
-//! inferred types. An exception is throw on the first error.
+/**
+ * Resolves name references, types and checks types of all expressions.
+ * Specifically, it checks that all operations are valid for the inferred types.
+ * An exception is throw on the first error.
+ */
class NameAndTypeResolver: private boost::noncopyable
{
public:
@@ -54,15 +57,17 @@ public:
private:
void reset();
- //! Maps nodes declaring a scope to scopes, i.e. ContractDefinition, FunctionDeclaration and
- //! StructDefinition (@todo not yet implemented), where nullptr denotes the global scope.
+ /// Maps nodes declaring a scope to scopes, i.e. ContractDefinition, FunctionDeclaration and
+ /// StructDefinition (@todo not yet implemented), where nullptr denotes the global scope.
std::map<ASTNode const*, Scope> m_scopes;
Scope* m_currentScope;
};
-//! Traverses the given AST upon construction and fills _scopes with all declarations inside the
-//! AST.
+/**
+ * Traverses the given AST upon construction and fills _scopes with all declarations inside the
+ * AST.
+ */
class DeclarationRegistrationHelper: private ASTVisitor
{
public:
@@ -87,8 +92,10 @@ private:
FunctionDefinition* m_currentFunction;
};
-//! Resolves references to declarations (of variables and types) and also establishes the link
-//! between a return statement and the return parameter list.
+/**
+ * Resolves references to declarations (of variables and types) and also establishes the link
+ * between a return statement and the return parameter list.
+ */
class ReferencesResolver: private ASTVisitor
{
public: