aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast/ASTAnnotations.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-11-17 07:06:57 +0800
committerchriseth <c@ethdev.com>2015-11-26 20:10:12 +0800
commit30b325fdc148d5014f04fd238362e3a1df10310f (patch)
treecd8df0c1f6e5462f2349a07d8f5f7d1fd156b4cc /libsolidity/ast/ASTAnnotations.h
parentcd94aa978a77ace1296f9978bfae6d8735b5c91d (diff)
downloaddexon-solidity-30b325fdc148d5014f04fd238362e3a1df10310f.tar
dexon-solidity-30b325fdc148d5014f04fd238362e3a1df10310f.tar.gz
dexon-solidity-30b325fdc148d5014f04fd238362e3a1df10310f.tar.bz2
dexon-solidity-30b325fdc148d5014f04fd238362e3a1df10310f.tar.lz
dexon-solidity-30b325fdc148d5014f04fd238362e3a1df10310f.tar.xz
dexon-solidity-30b325fdc148d5014f04fd238362e3a1df10310f.tar.zst
dexon-solidity-30b325fdc148d5014f04fd238362e3a1df10310f.zip
Allow "new expressions" also for general type names.
Breaking change: If you want to send value with a contract creation, you have to use parentheses now: `(new ContractName).value(2 ether)(arg1, arg2)`
Diffstat (limited to 'libsolidity/ast/ASTAnnotations.h')
-rw-r--r--libsolidity/ast/ASTAnnotations.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/libsolidity/ast/ASTAnnotations.h b/libsolidity/ast/ASTAnnotations.h
index bb59ceae..b9667302 100644
--- a/libsolidity/ast/ASTAnnotations.h
+++ b/libsolidity/ast/ASTAnnotations.h
@@ -111,6 +111,9 @@ struct UserDefinedTypeNameAnnotation: TypeNameAnnotation
{
/// Referenced declaration, set during reference resolution stage.
Declaration const* referencedDeclaration = nullptr;
+ /// Stores a reference to the current contract.
+ /// This is needed because types of base contracts change depending on the context.
+ ContractDefinition const* contractScope = nullptr;
};
struct VariableDeclarationStatementAnnotation: StatementAnnotation