]> git.cworth.org Git - apitrace/blobdiff - stdapi.py
Remove spurious tag in snapdiff output.
[apitrace] / stdapi.py
index 122b89f84821d099c2d6754169a35925161fdea0..1f8b81e72bd8d632711fbeeb5dba5eee210c1610 100644 (file)
--- a/stdapi.py
+++ b/stdapi.py
@@ -109,11 +109,12 @@ class Pointer(Type):
 
 class Handle(Type):
 
-    def __init__(self, name, type, range=None):
+    def __init__(self, name, type, range=None, key=None):
         Type.__init__(self, type.expr, 'P' + type.id)
         self.name = name
         self.type = type
         self.range = range
+        self.key = key
 
     def visit(self, visitor, *args, **kwargs):
         return visitor.visit_handle(self, *args, **kwargs)
@@ -434,7 +435,7 @@ class Rebuilder(Visitor):
 
     def visit_handle(self, handle):
         type = self.visit(handle.type)
-        return Handle(handle.name, type, handle.range)
+        return Handle(handle.name, type, range=handle.range, key=handle.key)
 
     def visit_alias(self, alias):
         type = self.visit(alias.type)
@@ -509,7 +510,7 @@ class Collector(Visitor):
 
 class API:
 
-    def __init__(self, name):
+    def __init__(self, name = None):
         self.name = name
         self.headers = []
         self.functions = []
@@ -542,6 +543,17 @@ class API:
     def add_interfaces(self, interfaces):
         self.interfaces.extend(interfaces)
 
+    def add_api(self, api):
+        self.headers.extend(api.headers)
+        self.add_functions(api.functions)
+        self.add_interfaces(api.interfaces)
+
+    def get_function_by_name(self, name):
+        for function in self.functions:
+            if function.name == name:
+                return function
+        return None
+
 
 Bool = Literal("bool", "Bool")
 SChar = Literal("signed char", "SInt")