Add missing files

pull/87/head
Josselin 6 years ago
parent 2915840be2
commit a404027b5b
  1. 44
      slither/printers/summary/slithir_ssa.py
  2. 14
      slither/slithir/variables/variable.py

@ -0,0 +1,44 @@
"""
Module printing summary of the contract
"""
from slither.printers.abstract_printer import AbstractPrinter
from slither.utils.colors import blue, green, magenta
class PrinterSlithIRSSA(AbstractPrinter):
ARGUMENT = 'slithir-ssa'
HELP = 'Print the slithIR representation of the functions'
def output(self, _filename):
"""
_filename is not used
Args:
_filename(string)
"""
txt = ""
for contract in self.contracts:
print('Contract {}'.format(contract.name))
for function in contract.functions:
if function.contract == contract:
print('\tFunction {}'.format(function.full_name))
for node in function.nodes:
if node.expression:
print('\t\tExpression: {}'.format(node.expression))
if node.irs_ssa:
print('\t\tIRs:')
for ir in node.irs_ssa:
print('\t\t\t{}'.format(ir))
for modifier in contract.modifiers:
if modifier.contract == contract:
print('\tModifier {}'.format(modifier.full_name))
for node in modifier.nodes:
print(node)
if node.expression:
print('\t\tExpression: {}'.format(node.expression))
if node.irs_ssa:
print('\t\tIRs:')
for ir in node.irs_ssa:
print('\t\t\t{}'.format(ir))
self.info(txt)

@ -0,0 +1,14 @@
from slither.core.variables.variable import Variable
class SlithIRVariable(Variable):
def __init__(self):
super(SlithIRVariable, self).__init__()
self._index = 0
@property
def ssa_name(self):
return self.name
def __str__(self):
return self.ssa_name
Loading…
Cancel
Save