summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/variableoptimizer.py
diff options
context:
space:
mode:
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/variableoptimizer.py')
-rwxr-xr-xwebapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/variableoptimizer.py119
1 files changed, 0 insertions, 119 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/variableoptimizer.py b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/variableoptimizer.py
deleted file mode 100755
index 6fa148dd5d..0000000000
--- a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/tool/modules/variableoptimizer.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env python
-
-import tree, mapper
-
-def search(node, found, level=0, prefix="$", register=False, debug=False):
- if node.type == "function":
- if register:
- name = node.get("name", False)
- if name != None and not name in found:
- # print "Name: %s" % funcName
- found.append(name)
-
- foundLen = len(found)
- register = True
-
- if debug:
- print "\n%s<scope line='%s'>" % ((" " * level), node.get("line"))
-
- # e.g. func(name1, name2);
- elif register and node.type == "variable" and node.hasChildren() and len(node.children) == 1:
- if node.parent.type == "params" and node.parent.parent.type != "call":
- first = node.getFirstChild()
-
- if first.type == "identifier":
- name = first.get("name")
-
- if not name in found:
- found.append(name)
-
- # e.g. var name1, name2 = "foo";
- elif register and node.type == "definition":
- name = node.get("identifier", False)
-
- if name != None:
- if not name in found:
- found.append(name)
-
- # Iterate over children
- if node.hasChildren():
- if node.type == "function":
- for child in node.children:
- search(child, found, level+1, prefix, register, debug)
-
- else:
- for child in node.children:
- search(child, found, level, prefix, register, debug)
-
- # Function closed
- if node.type == "function":
-
- # Debug
- if debug:
- for item in found:
- print " %s<item>%s</item>" % ((" " * level), item)
- print "%s</scope>" % (" " * level)
-
- # Iterate over content
- # Replace variables in current scope
- update(node, found, prefix, debug)
- del found[foundLen:]
-
-
-
-def update(node, found, prefix="$", debug=False):
- # Handle all identifiers
- if node.type == "identifier":
-
- isFirstChild = False
- isVariableMember = False
-
- if node.parent.type == "variable":
- isVariableMember = True
- varParent = node.parent.parent
-
- if not (varParent.type == "right" and varParent.parent.type == "accessor"):
- isFirstChild = node.parent.getFirstChild(True, True) == node
-
- elif node.parent.type == "identifier" and node.parent.parent.type == "accessor":
- isVariableMember = True
- accessor = node.parent.parent
- isFirstChild = accessor.parent.getFirstChild(True, True) == accessor
-
- # inside a variable parent only respect the first member
- if not isVariableMember or isFirstChild:
- idenName = node.get("name", False)
-
- if idenName != None and idenName in found:
- replName = "%s%s" % (prefix, mapper.convert(found.index(idenName)))
- node.set("name", replName)
-
- if debug:
- print " - Replaced '%s' with '%s'" % (idenName, replName)
-
- # Handle variable definition
- elif node.type == "definition":
- idenName = node.get("identifier", False)
-
- if idenName != None and idenName in found:
- replName = "%s%s" % (prefix, mapper.convert(found.index(idenName)))
- node.set("identifier", replName)
-
- if debug:
- print " - Replaced '%s' with '%s'" % (idenName, replName)
-
- # Handle function definition
- elif node.type == "function":
- idenName = node.get("name", False)
-
- if idenName != None and idenName in found:
- replName = "%s%s" % (prefix, mapper.convert(found.index(idenName)))
- node.set("name", replName)
-
- if debug:
- print " - Replaced '%s' with '%s'" % (idenName, replName)
-
- # Iterate over children
- if node.hasChildren():
- for child in node.children:
- update(child, found, prefix, debug)