aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/ReferencesResolver.cpp
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-11-26 22:28:28 +0800
committerchriseth <c@ethdev.com>2015-11-26 22:28:28 +0800
commitc498dcce22b2921ee57f280da9117e491c021e1b (patch)
tree1eb3bec6140d9b2e1ee57f62343dbc9c70d84c78 /libsolidity/analysis/ReferencesResolver.cpp
parentcd94aa978a77ace1296f9978bfae6d8735b5c91d (diff)
parente06768e8b580d009b9a9905f70ae2d8814699115 (diff)
downloaddexon-solidity-c498dcce22b2921ee57f280da9117e491c021e1b.tar
dexon-solidity-c498dcce22b2921ee57f280da9117e491c021e1b.tar.gz
dexon-solidity-c498dcce22b2921ee57f280da9117e491c021e1b.tar.bz2
dexon-solidity-c498dcce22b2921ee57f280da9117e491c021e1b.tar.lz
dexon-solidity-c498dcce22b2921ee57f280da9117e491c021e1b.tar.xz
dexon-solidity-c498dcce22b2921ee57f280da9117e491c021e1b.tar.zst
dexon-solidity-c498dcce22b2921ee57f280da9117e491c021e1b.zip
Merge pull request #222 from chriseth/newArrays
Dynamically create memory arrays.
Diffstat (limited to 'libsolidity/analysis/ReferencesResolver.cpp')
-rw-r--r--libsolidity/analysis/ReferencesResolver.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/libsolidity/analysis/ReferencesResolver.cpp b/libsolidity/analysis/ReferencesResolver.cpp
index 95643578..f0afc4f9 100644
--- a/libsolidity/analysis/ReferencesResolver.cpp
+++ b/libsolidity/analysis/ReferencesResolver.cpp
@@ -37,6 +37,11 @@ bool ReferencesResolver::visit(Return const& _return)
return true;
}
+void ReferencesResolver::endVisit(NewExpression const& _new)
+{
+ typeFor(_new.typeName());
+}
+
bool ReferencesResolver::visit(UserDefinedTypeName const& _typeName)
{
Declaration const* declaration = m_resolver.pathFromCurrentScope(_typeName.namePath());
@@ -44,6 +49,8 @@ bool ReferencesResolver::visit(UserDefinedTypeName const& _typeName)
fatalDeclarationError(_typeName.location(), "Identifier not found or not unique.");
_typeName.annotation().referencedDeclaration = declaration;
+
+ _typeName.annotation().contractScope = m_currentContract;
return true;
}
@@ -53,7 +60,7 @@ bool ReferencesResolver::resolve(ASTNode& _root)
{
_root.accept(*this);
}
- catch (FatalError const& e)
+ catch (FatalError const&)
{
solAssert(m_errorOccurred, "");
}