Skip to content

Commit 2ec3a2a

Browse files
committed
expose visibility/stateMutability for functionDef objects #4
1 parent bd46d50 commit 2ec3a2a

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

solidity_parser/__main__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,12 @@
5959
## functions
6060
print(("\t" * level) + "=== functions")
6161
level += 2
62-
for name in contract_object.functions.keys():
63-
print(("\t" * level) + "* " + str(name))
62+
for name, funcObj in contract_object.functions.items():
63+
txtAttribs = []
64+
if funcObj.visibility:
65+
txtAttribs.append(funcObj.visibility)
66+
if funcObj.stateMutability:
67+
txtAttribs.append(funcObj.stateMutability)
68+
print(("\t" * level) + "* " + str(name) + "\t\t (" + ','.join(txtAttribs)+ ")")
6469
level -= 2
6570

solidity_parser/parser.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,6 +1146,9 @@ class FunctionObject(object):
11461146

11471147
def __init__(self, node):
11481148
self._node = node
1149+
if(node.type=="FunctionDefinition"):
1150+
self.visibility = node.visibility
1151+
self.stateMutability = node.stateMutability
11491152
self.arguments = {}
11501153
self.returns = {}
11511154
self.declarations = {}

0 commit comments

Comments
 (0)