aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast/ASTAnnotations.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2017-03-14 22:41:23 +0800
committerchriseth <chris@ethereum.org>2017-04-25 22:49:03 +0800
commite0849f2f3bbb23ebddb37cd770f46266967e789d (patch)
tree53c454ea354e032963ef246e11210de44731155c /libsolidity/ast/ASTAnnotations.h
parent5d6747eb32f56f6b8b818eff5635888d250d62e1 (diff)
downloaddexon-solidity-e0849f2f3bbb23ebddb37cd770f46266967e789d.tar.gz
dexon-solidity-e0849f2f3bbb23ebddb37cd770f46266967e789d.tar.zst
dexon-solidity-e0849f2f3bbb23ebddb37cd770f46266967e789d.zip
Split external identifier access into resolving and code generation.
Diffstat (limited to 'libsolidity/ast/ASTAnnotations.h')
-rw-r--r--libsolidity/ast/ASTAnnotations.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/libsolidity/ast/ASTAnnotations.h b/libsolidity/ast/ASTAnnotations.h
index bd297f9e..9ca7f66c 100644
--- a/libsolidity/ast/ASTAnnotations.h
+++ b/libsolidity/ast/ASTAnnotations.h
@@ -117,8 +117,14 @@ struct Identifier; // forward
struct InlineAssemblyAnnotation: StatementAnnotation
{
- /// Mapping containing resolved references to external identifiers.
- std::map<assembly::Identifier const*, Declaration const*> externalReferences;
+ struct ExternalIdentifierInfo
+ {
+ Declaration const* declaration = nullptr;
+ size_t valueSize = size_t(-1);
+ };
+
+ /// Mapping containing resolved references to external identifiers and their value size
+ std::map<assembly::Identifier const*, ExternalIdentifierInfo> externalReferences;
};
struct ReturnAnnotation: StatementAnnotation