diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-08-12 07:45:37 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-08-22 06:02:18 +0800 |
commit | b25f0c52ac01857a82dda20ec2b646c7ae90cd7d (patch) | |
tree | 4148fa30c5386136ab7dc476ff61bba26a2bcc2c /libsolidity/ast | |
parent | 2c2ae74217521aae93b9c7b058ce8687046c648c (diff) | |
download | dexon-solidity-b25f0c52ac01857a82dda20ec2b646c7ae90cd7d.tar dexon-solidity-b25f0c52ac01857a82dda20ec2b646c7ae90cd7d.tar.gz dexon-solidity-b25f0c52ac01857a82dda20ec2b646c7ae90cd7d.tar.bz2 dexon-solidity-b25f0c52ac01857a82dda20ec2b646c7ae90cd7d.tar.lz dexon-solidity-b25f0c52ac01857a82dda20ec2b646c7ae90cd7d.tar.xz dexon-solidity-b25f0c52ac01857a82dda20ec2b646c7ae90cd7d.tar.zst dexon-solidity-b25f0c52ac01857a82dda20ec2b646c7ae90cd7d.zip |
Reject the creation of interface with the new statement
Diffstat (limited to 'libsolidity/ast')
-rw-r--r-- | libsolidity/ast/Types.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp index e6664895..adf41229 100644 --- a/libsolidity/ast/Types.cpp +++ b/libsolidity/ast/Types.cpp @@ -2140,6 +2140,8 @@ FunctionTypePointer FunctionType::newExpressionType(ContractDefinition const& _c strings parameterNames; StateMutability stateMutability = StateMutability::NonPayable; + solAssert(_contract.contractKind() != ContractDefinition::ContractKind::Interface, ""); + if (constructor) { for (ASTPointer<VariableDeclaration> const& var: constructor->parameters()) @@ -2150,6 +2152,7 @@ FunctionTypePointer FunctionType::newExpressionType(ContractDefinition const& _c if (constructor->isPayable()) stateMutability = StateMutability::Payable; } + return make_shared<FunctionType>( parameters, TypePointers{make_shared<ContractType>(_contract)}, |