summaryrefslogtreecommitdiff
path: root/giscanner/glibtransformer.py
diff options
context:
space:
mode:
authorJohan Dahlin <jdahlin@async.com.br>2009-01-12 23:24:01 +0000
committerJohan Dahlin <johan@src.gnome.org>2009-01-12 23:24:01 +0000
commit9256e916164ec557ed66f92a0d6d95bb286cdf8b (patch)
treee481541d55ca9eafb63684f2ee41d48096b8eac5 /giscanner/glibtransformer.py
parente81c4681cc88a00fcd841c5a68d860d3714b55d7 (diff)
downloadgobject-introspection-9256e916164ec557ed66f92a0d6d95bb286cdf8b.tar.gz
Bug 563591 – Flags not recognized when there is no introspection data
2009-01-12 Johan Dahlin <jdahlin@async.com.br> Bug 563591 – Flags not recognized when there is no introspection data * giscanner/ast.py: * giscanner/girwriter.py: * giscanner/giscannermodule.c (type_get_is_bitfield): * giscanner/glibast.py: * giscanner/glibtransformer.py: * giscanner/scannerparser.y: * giscanner/sourcescanner.c (gi_source_type_copy): * giscanner/sourcescanner.h: * giscanner/sourcescanner.py: * giscanner/transformer.py: * tests/scanner/foo-1.0-expected.gir: * tests/scanner/foo-1.0-expected.tgir: * tests/scanner/foo.h: Large parts of this patch was done by Jürg Billeter. svn path=/trunk/; revision=1025
Diffstat (limited to 'giscanner/glibtransformer.py')
-rw-r--r--giscanner/glibtransformer.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py
index ee39862e..d46c3c0f 100644
--- a/giscanner/glibtransformer.py
+++ b/giscanner/glibtransformer.py
@@ -25,8 +25,8 @@ import tempfile
import shutil
import subprocess
-from .ast import (Callback, Constant, Enum, Function, Member, Namespace,
- Parameter, Property, Return, Struct, Type, Alias,
+from .ast import (Alias, Bitfield, Callback, Constant, Enum, Function, Member,
+ Namespace, Parameter, Property, Return, Struct, Type,
Union, Field, type_name_from_ctype,
default_array_types, TYPE_UINT8, PARAM_TRANSFER_FULL)
from .transformer import Names
@@ -259,6 +259,8 @@ class GLibTransformer(object):
def _parse_node(self, node):
if isinstance(node, Enum):
self._parse_enum(node)
+ elif isinstance(node, Bitfield):
+ self._parse_bitfield(node)
elif isinstance(node, Function):
self._parse_function(node)
elif isinstance(node, Struct):
@@ -283,6 +285,9 @@ class GLibTransformer(object):
def _parse_enum(self, enum):
self._add_attribute(enum)
+ def _parse_bitfield(self, enum):
+ self._add_attribute(enum)
+
def _parse_constant(self, constant):
self._add_attribute(constant)