aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/CompilerStack.cpp
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-10-05 23:19:23 +0800
committerchriseth <c@ethdev.com>2015-10-06 20:20:06 +0800
commitbc609c55c0fa622a68fa9718c55046416c201b1d (patch)
tree0757a485f2e6c0e0c70bb924c4b4acfac53aec5c /libsolidity/CompilerStack.cpp
parentce25ddfa6a9b8cfff08b4a05591dcc3b4a8b63cc (diff)
downloaddexon-solidity-bc609c55c0fa622a68fa9718c55046416c201b1d.tar.gz
dexon-solidity-bc609c55c0fa622a68fa9718c55046416c201b1d.tar.zst
dexon-solidity-bc609c55c0fa622a68fa9718c55046416c201b1d.zip
Compute canonical names of types for function signatures.
Diffstat (limited to 'libsolidity/CompilerStack.cpp')
-rw-r--r--libsolidity/CompilerStack.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/libsolidity/CompilerStack.cpp b/libsolidity/CompilerStack.cpp
index 6ee19d58..7d9ca32c 100644
--- a/libsolidity/CompilerStack.cpp
+++ b/libsolidity/CompilerStack.cpp
@@ -130,12 +130,15 @@ bool CompilerStack::parse()
m_globalContext->setCurrentContract(*contract);
resolver.updateDeclaration(*m_globalContext->currentThis());
TypeChecker typeChecker;
- if (!typeChecker.checkTypeRequirements(*contract))
+ if (typeChecker.checkTypeRequirements(*contract))
+ {
+ contract->setDevDocumentation(interfaceHandler.devDocumentation(*contract));
+ contract->setUserDocumentation(interfaceHandler.userDocumentation(*contract));
+ }
+ else
typesFine = false;
- m_errors += typeChecker.errors();
- contract->setDevDocumentation(interfaceHandler.devDocumentation(*contract));
- contract->setUserDocumentation(interfaceHandler.userDocumentation(*contract));
m_contracts[contract->name()].contract = contract;
+ m_errors += typeChecker.errors();
}
m_parseSuccessful = typesFine;
return m_parseSuccessful;