aboutsummaryrefslogtreecommitdiffstats
path: root/AST.h
diff options
context:
space:
mode:
authorGav Wood <g@ethdev.com>2015-04-21 23:32:01 +0800
committerGav Wood <g@ethdev.com>2015-04-21 23:32:01 +0800
commit5f6a396765c722eca567cee930bc7621a6a20807 (patch)
tree43232e413dd1a72f85199498680fce2af7804129 /AST.h
parent8cd5eed17dce30d704ca7187e350e588d896c658 (diff)
parent8125f93b12243836a3c2edea09715a58d1cc1764 (diff)
downloaddexon-solidity-5f6a396765c722eca567cee930bc7621a6a20807.tar
dexon-solidity-5f6a396765c722eca567cee930bc7621a6a20807.tar.gz
dexon-solidity-5f6a396765c722eca567cee930bc7621a6a20807.tar.bz2
dexon-solidity-5f6a396765c722eca567cee930bc7621a6a20807.tar.lz
dexon-solidity-5f6a396765c722eca567cee930bc7621a6a20807.tar.xz
dexon-solidity-5f6a396765c722eca567cee930bc7621a6a20807.tar.zst
dexon-solidity-5f6a396765c722eca567cee930bc7621a6a20807.zip
Merge pull request #1699 from chriseth/sol_fix_contractTypesAsArguments
Fix for Contract and Enum types as external function arguments.
Diffstat (limited to 'AST.h')
-rw-r--r--AST.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/AST.h b/AST.h
index f5f36f6f..c9ad6447 100644
--- a/AST.h
+++ b/AST.h
@@ -143,8 +143,8 @@ public:
ASTString const& getName() const { return *m_name; }
Visibility getVisibility() const { return m_visibility == Visibility::Default ? getDefaultVisibility() : m_visibility; }
bool isPublic() const { return getVisibility() >= Visibility::Public; }
- bool isVisibleInContract() const { return getVisibility() != Visibility::External; }
- virtual bool isVisibleInDerivedContracts() const { return isVisibleInContract() && getVisibility() >= Visibility::Internal; }
+ virtual bool isVisibleInContract() const { return getVisibility() != Visibility::External; }
+ bool isVisibleInDerivedContracts() const { return isVisibleInContract() && getVisibility() >= Visibility::Internal; }
/// @returns the scope this declaration resides in. Can be nullptr if it is the global scope.
/// Available only after name and type resolution step.
@@ -156,7 +156,7 @@ public:
/// contract types.
virtual TypePointer getType(ContractDefinition const* m_currentContract = nullptr) const = 0;
virtual bool isLValue() const { return false; }
- virtual bool isPartOfExternalInterface() const { return false; };
+ virtual bool isPartOfExternalInterface() const { return false; }
protected:
virtual Visibility getDefaultVisibility() const { return Visibility::Public; }
@@ -443,10 +443,9 @@ public:
ASTPointer<ParameterList> const& getReturnParameterList() const { return m_returnParameters; }
Block const& getBody() const { return *m_body; }
- virtual bool isVisibleInDerivedContracts() const override
+ virtual bool isVisibleInContract() const override
{
- return !isConstructor() && !getName().empty() && isVisibleInContract() &&
- getVisibility() >= Visibility::Internal;
+ return Declaration::isVisibleInContract() && !isConstructor() && !getName().empty();
}
virtual TypePointer getType(ContractDefinition const*) const override;
virtual bool isPartOfExternalInterface() const override { return isPublic() && !m_isConstructor && !getName().empty(); }