text_output.py 793 B

123456789101112131415161718192021
  1. from .types import type_id_to_name, func_id_to_name
  2. def output(output, contracts, constants):
  3. output.write("Constants:\n")
  4. for variable in constants.variables():
  5. type_id = constants.lookup(variable)
  6. output.write(f" {type_id} {variable}\n")
  7. for contract in contracts:
  8. output.write(f"{contract.name}:\n")
  9. output.write(f" Witness:\n")
  10. for type_id, variable, _ in contract.witness:
  11. type_name = type_id_to_name[type_id]
  12. output.write(f" {type_name} {variable}\n")
  13. output.write(f" Code:\n")
  14. for code in contract.code:
  15. output.write(f" # args = {code.args}\n")
  16. output.write(f" {code.func_name()} {code.return_values} "
  17. f"{code.arg_idxs}\n")