mirror of
https://github.com/Sei-Lisa/LSL-PyOptimizer
synced 2025-07-01 23:58:20 +00:00
Add debug code to display a subtree in a friendlier format than repr().
This commit is contained in:
parent
4cbdbefe1b
commit
b4749d8fa4
1 changed files with 26 additions and 0 deletions
|
@ -25,6 +25,32 @@ import math
|
||||||
from lslparse import warning
|
from lslparse import warning
|
||||||
from lslfuncopt import OptimizeFunc, OptimizeArgs, FuncOptSetup
|
from lslfuncopt import OptimizeFunc, OptimizeArgs, FuncOptSetup
|
||||||
|
|
||||||
|
|
||||||
|
# Debug
|
||||||
|
import sys
|
||||||
|
def print_node(node, indent):
|
||||||
|
nt = node['nt']
|
||||||
|
write = sys.stdout.write
|
||||||
|
spaces = ' ' * (indent*4+2)
|
||||||
|
write('%s{ nt:%s\n' % (' '*(indent*4), nt))
|
||||||
|
if 't' in node:
|
||||||
|
write('%s,t:%s\n' % (spaces, node['t']))
|
||||||
|
if 'name' in node:
|
||||||
|
write('%s,name:%s\n' % (spaces, node['name']))
|
||||||
|
if 'value' in node:
|
||||||
|
write('%s,value:%s\n' % (spaces, repr(node['value'])))
|
||||||
|
|
||||||
|
for prop in node:
|
||||||
|
if prop not in ('ch', 'nt', 't', 'name', 'value','X','SEF'):
|
||||||
|
write('%s,%s:%s\n' % (spaces, prop, repr(node[prop])))
|
||||||
|
if 'ch' in node:
|
||||||
|
write(spaces + ',ch:[\n')
|
||||||
|
for subnode in node['ch']:
|
||||||
|
print_node(subnode, indent+1)
|
||||||
|
write(spaces + ']\n')
|
||||||
|
write(' '*(indent*4) + '}\n\n')
|
||||||
|
|
||||||
|
|
||||||
class foldconst(object):
|
class foldconst(object):
|
||||||
|
|
||||||
def isLocalVar(self, node):
|
def isLocalVar(self, node):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue