summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--giscanner/ast.py2
-rw-r--r--giscanner/girwriter.py2
-rw-r--r--giscanner/maintransformer.py4
3 files changed, 4 insertions, 4 deletions
diff --git a/giscanner/ast.py b/giscanner/ast.py
index becc1266..a30a6a72 100644
--- a/giscanner/ast.py
+++ b/giscanner/ast.py
@@ -516,7 +516,7 @@ properties."""
self.version_doc = None
self.skip = False
self.introspectable = True
- self.attributes = [] # (key, value)*
+ self.attributes = OrderedDict()
self.stability = None
self.stability_doc = None
self.deprecated = None
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py
index e5841ec1..2bc9f153 100644
--- a/giscanner/girwriter.py
+++ b/giscanner/girwriter.py
@@ -123,7 +123,7 @@ class GIRWriter(XMLWriter):
attrs.append(('version', node.version))
def _write_generic(self, node):
- for key, value in node.attributes:
+ for key, value in node.attributes.items():
self.write_tag('attribute', [('name', key), ('value', value)])
if hasattr(node, 'doc') and node.doc:
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index 8de96160..92a07734 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -576,7 +576,7 @@ class MainTransformer(object):
if attributes_annotation is not None:
for key, value in attributes_annotation.items():
if value:
- node.attributes.append((key, value))
+ node.attributes[key] = value
def _apply_annotations_annotated(self, node, block):
if block is None:
@@ -610,7 +610,7 @@ class MainTransformer(object):
if attributes_annotation is not None:
for key, value in attributes_annotation.items():
if value:
- node.attributes.append((key, value))
+ node.attributes[key] = value
if ANN_SKIP in block.annotations:
node.skip = True