aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast/AST.h
diff options
context:
space:
mode:
authorYoichi Hirai <i@yoichihirai.com>2017-01-10 23:26:13 +0800
committerYoichi Hirai <i@yoichihirai.com>2017-01-12 02:55:50 +0800
commiteda147f47bb5a0dfbed50aa2c2224daebafa76a8 (patch)
tree40d0bff7e542ba57fdaf72996a3255eb22a5159a /libsolidity/ast/AST.h
parente254a59bd29b7bf226197eaa836fc163be16ef09 (diff)
downloaddexon-solidity-eda147f47bb5a0dfbed50aa2c2224daebafa76a8.tar
dexon-solidity-eda147f47bb5a0dfbed50aa2c2224daebafa76a8.tar.gz
dexon-solidity-eda147f47bb5a0dfbed50aa2c2224daebafa76a8.tar.bz2
dexon-solidity-eda147f47bb5a0dfbed50aa2c2224daebafa76a8.tar.lz
dexon-solidity-eda147f47bb5a0dfbed50aa2c2224daebafa76a8.tar.xz
dexon-solidity-eda147f47bb5a0dfbed50aa2c2224daebafa76a8.tar.zst
dexon-solidity-eda147f47bb5a0dfbed50aa2c2224daebafa76a8.zip
ast: add Declaration::functionType()
Diffstat (limited to 'libsolidity/ast/AST.h')
-rw-r--r--libsolidity/ast/AST.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libsolidity/ast/AST.h b/libsolidity/ast/AST.h
index ab4be1ea..088d68db 100644
--- a/libsolidity/ast/AST.h
+++ b/libsolidity/ast/AST.h
@@ -171,6 +171,10 @@ public:
/// This can only be called once types of variable declarations have already been resolved.
virtual TypePointer type() const = 0;
+ /// @param _internal false indicates external interface is concerned, true indicates internal interface is concerned.
+ /// @returns null when it is not accessible as a function.
+ virtual std::shared_ptr<FunctionType const> functionType(bool /*_internal*/) const { return {}; }
+
protected:
virtual Visibility defaultVisibility() const { return Visibility::Public; }
@@ -581,6 +585,10 @@ public:
virtual TypePointer type() const override;
+ /// @param _internal false indicates external interface is concerned, true indicates internal interface is concerned.
+ /// @returns null when it is not accessible as a function.
+ virtual std::shared_ptr<FunctionType const> functionType(bool /*_internal*/) const override;
+
virtual FunctionDefinitionAnnotation& annotation() const override;
private:
@@ -643,6 +651,10 @@ public:
virtual TypePointer type() const override;
+ /// @param _internal false indicates external interface is concerned, true indicates internal interface is concerned.
+ /// @returns null when it is not accessible as a function.
+ virtual std::shared_ptr<FunctionType const> functionType(bool /*_internal*/) const override;
+
virtual VariableDeclarationAnnotation& annotation() const override;
protected: