summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/variableoptimizer.py
diff options
context:
space:
mode:
Diffstat (limited to 'webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/variableoptimizer.py')
-rw-r--r--webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/variableoptimizer.py144
1 files changed, 0 insertions, 144 deletions
diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/variableoptimizer.py b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/variableoptimizer.py
deleted file mode 100644
index eb85bd4067..0000000000
--- a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/tool/modules/variableoptimizer.py
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/env python
-################################################################################
-#
-# qooxdoo - the new era of web development
-#
-# http://qooxdoo.org
-#
-# Copyright:
-# 2006-2007 1&1 Internet AG, Germany, http://www.1and1.org
-#
-# License:
-# LGPL: http://www.gnu.org/licenses/lgpl.html
-# EPL: http://www.eclipse.org/org/documents/epl-v10.php
-# See the LICENSE file in the project's top-level directory for details.
-#
-# Authors:
-# * Sebastian Werner (wpbasti)
-# * Alessandro Sala (asala)
-#
-################################################################################
-
-import tree, mapper
-
-def skip(name, prefix):
- return len(prefix) > 0 and name[:len(prefix)] == prefix
-
-def search(node, found, level=0, prefix="$", skipPrefix="", 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" % name
- 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:
- # print "Name: %s" % name
- 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:
- # print "Name: %s" % name
- found.append(name)
-
- # Iterate over children
- if node.hasChildren():
- if node.type == "function":
- for child in node.children:
- search(child, found, level+1, prefix, skipPrefix, register, debug)
-
- else:
- for child in node.children:
- search(child, found, level, prefix, skipPrefix, 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, skipPrefix, debug)
- del found[foundLen:]
-
-
-
-def update(node, found, prefix="$", skipPrefix="", 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 and not skip(idenName, skipPrefix):
- 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 and not skip(idenName, skipPrefix):
- 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 and not skip(idenName, skipPrefix):
- 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, skipPrefix, debug)