Minor refactoring and code tweaking. The only notable chage is that
FilterGLAPISpecBase::xref is replaced by
FilterGLAPISpecBase::functions_by_name. The notable difference between the
two is that ::functions_by_name includes all functions, whether they have an
assigned offset or not. This feature will be useful (necessary) when more
server-side code is generated.
diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py
index 3f6f841..98be996 100644
--- a/src/mesa/glapi/glX_XML.py
+++ b/src/mesa/glapi/glX_XML.py
@@ -416,10 +416,9 @@
def variable_length_parameter(self):
- for param in self.fn_parameters:
- if param.is_variable_length_array():
- return param
-
+ if len(self.variable_length_parameters):
+ return self.variable_length_parameters[0]
+
return None
diff --git a/src/mesa/glapi/gl_XML.py b/src/mesa/glapi/gl_XML.py
index 3f87a57..1c4e734 100644
--- a/src/mesa/glapi/gl_XML.py
+++ b/src/mesa/glapi/gl_XML.py
@@ -529,22 +529,18 @@
class FilterGLAPISpecBase(saxutils.XMLFilterBase):
name = "a"
license = "The license for this file is unspecified."
- functions = {}
next_alias = -2
- types = {}
- xref = {}
current_object = None
- factory = None
- current_category = ""
def __init__(self):
saxutils.XMLFilterBase.__init__(self)
self.functions = {}
self.types = {}
- self.xref = {}
+ self.functions_by_name = {}
self.factory = glItemFactory()
self.header_tag = None
self.undef_list = []
+ self.current_category = ""
def find_type(self,type_name):
@@ -556,8 +552,7 @@
def find_function(self,function_name):
- index = self.xref[function_name]
- return self.functions[index]
+ return self.functions_by_name[function_name]
def functionIterator(self):
@@ -626,7 +621,9 @@
self.next_alias -= 1
self.functions[index] = obj
- self.xref[obj.name] = index
+
+ self.functions_by_name[obj.name] = obj
+
elif object_type == "type":
self.types[obj.name] = obj