gobject-introspection 2.0.2-x86-mingw32 → 2.0.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +5 -2
  3. data/ext/gobject-introspection/rb-gi-argument.c +215 -4
  4. data/ext/gobject-introspection/rb-gi-loader.c +7 -2
  5. data/ext/gobject-introspection/rb-gi-struct-info.c +1 -1
  6. data/lib/1.9/gobject_introspection.so +0 -0
  7. data/lib/2.0/gobject_introspection.so +0 -0
  8. data/test/test-function-info.rb +3 -1
  9. data/vendor/local/bin/g-ir-compiler.exe +0 -0
  10. data/vendor/local/bin/g-ir-generate.exe +0 -0
  11. data/vendor/local/bin/libgirepository-1.0-1.dll +0 -0
  12. data/vendor/local/lib/girepository-1.0/DBus-1.0.typelib +0 -0
  13. data/vendor/local/lib/girepository-1.0/DBusGLib-1.0.typelib +0 -0
  14. data/vendor/local/lib/girepository-1.0/GIRepository-2.0.typelib +0 -0
  15. data/vendor/local/lib/girepository-1.0/GLib-2.0.typelib +0 -0
  16. data/vendor/local/lib/girepository-1.0/GModule-2.0.typelib +0 -0
  17. data/vendor/local/lib/girepository-1.0/GObject-2.0.typelib +0 -0
  18. data/vendor/local/lib/girepository-1.0/Gio-2.0.typelib +0 -0
  19. data/vendor/local/lib/girepository-1.0/win32-1.0.typelib +0 -0
  20. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyc +0 -0
  21. data/vendor/local/lib/gobject-introspection/giscanner/__init__.pyo +0 -0
  22. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.py +1 -0
  23. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyc +0 -0
  24. data/vendor/local/lib/gobject-introspection/giscanner/annotationmain.pyo +0 -0
  25. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.py +52 -47
  26. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyc +0 -0
  27. data/vendor/local/lib/gobject-introspection/giscanner/annotationparser.pyo +0 -0
  28. data/vendor/local/lib/gobject-introspection/giscanner/ast.py +48 -42
  29. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyc +0 -0
  30. data/vendor/local/lib/gobject-introspection/giscanner/ast.pyo +0 -0
  31. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.py +11 -10
  32. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyc +0 -0
  33. data/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyo +0 -0
  34. data/vendor/local/lib/gobject-introspection/giscanner/codegen.py +7 -5
  35. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyc +0 -0
  36. data/vendor/local/lib/gobject-introspection/giscanner/codegen.pyo +0 -0
  37. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.py +22 -0
  38. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyc +0 -0
  39. data/vendor/local/lib/gobject-introspection/giscanner/collections/__init__.pyo +0 -0
  40. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.py +120 -0
  41. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyc +0 -0
  42. data/vendor/local/lib/gobject-introspection/giscanner/collections/ordereddict.pyo +0 -0
  43. data/vendor/local/lib/gobject-introspection/giscanner/docmain.py +14 -2
  44. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyc +0 -0
  45. data/vendor/local/lib/gobject-introspection/giscanner/docmain.pyo +0 -0
  46. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.py +19 -10
  47. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyc +0 -0
  48. data/vendor/local/lib/gobject-introspection/giscanner/docwriter.pyo +0 -0
  49. data/vendor/local/lib/gobject-introspection/giscanner/dumper.py +18 -11
  50. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyc +0 -0
  51. data/vendor/local/lib/gobject-introspection/giscanner/dumper.pyo +0 -0
  52. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.py +10 -13
  53. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyc +0 -0
  54. data/vendor/local/lib/gobject-introspection/giscanner/gdumpparser.pyo +0 -0
  55. data/vendor/local/lib/gobject-introspection/giscanner/girparser.py +24 -30
  56. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyc +0 -0
  57. data/vendor/local/lib/gobject-introspection/giscanner/girparser.pyo +0 -0
  58. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.py +11 -12
  59. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyc +0 -0
  60. data/vendor/local/lib/gobject-introspection/giscanner/girwriter.pyo +0 -0
  61. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.py +25 -21
  62. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyc +0 -0
  63. data/vendor/local/lib/gobject-introspection/giscanner/introspectablepass.pyo +0 -0
  64. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.py +1 -1
  65. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyc +0 -0
  66. data/vendor/local/lib/gobject-introspection/giscanner/libtoolimporter.pyo +0 -0
  67. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.py +98 -100
  68. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyc +0 -0
  69. data/vendor/local/lib/gobject-introspection/giscanner/maintransformer.pyo +0 -0
  70. data/vendor/local/lib/gobject-introspection/giscanner/message.py +10 -8
  71. data/vendor/local/lib/gobject-introspection/giscanner/message.pyc +0 -0
  72. data/vendor/local/lib/gobject-introspection/giscanner/message.pyo +0 -0
  73. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.py +28 -16
  74. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyc +0 -0
  75. data/vendor/local/lib/gobject-introspection/giscanner/scannermain.pyo +0 -0
  76. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.py +83 -9
  77. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyc +0 -0
  78. data/vendor/local/lib/gobject-introspection/giscanner/sectionparser.pyo +0 -0
  79. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.py +5 -1
  80. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyc +0 -0
  81. data/vendor/local/lib/gobject-introspection/giscanner/shlibs.pyo +0 -0
  82. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.py +20 -21
  83. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyc +0 -0
  84. data/vendor/local/lib/gobject-introspection/giscanner/sourcescanner.pyo +0 -0
  85. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.py +3 -0
  86. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyc +0 -0
  87. data/vendor/local/lib/gobject-introspection/giscanner/testcodegen.pyo +0 -0
  88. data/vendor/local/lib/gobject-introspection/giscanner/transformer.py +32 -41
  89. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyc +0 -0
  90. data/vendor/local/lib/gobject-introspection/giscanner/transformer.pyo +0 -0
  91. data/vendor/local/lib/gobject-introspection/giscanner/utils.py +9 -0
  92. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyc +0 -0
  93. data/vendor/local/lib/gobject-introspection/giscanner/utils.pyo +0 -0
  94. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.py +9 -11
  95. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyc +0 -0
  96. data/vendor/local/lib/gobject-introspection/giscanner/xmlwriter.pyo +0 -0
  97. data/vendor/local/lib/libgirepository-1.0.a +0 -0
  98. data/vendor/local/lib/libgirepository-1.0.dll.a +0 -0
  99. data/vendor/local/lib/libgirepository-1.0.la +1 -1
  100. data/vendor/local/lib/pkgconfig/gobject-introspection-1.0.pc +1 -1
  101. data/vendor/local/lib/pkgconfig/gobject-introspection-no-export-1.0.pc +1 -1
  102. data/vendor/local/share/gir-1.0/GIRepository-2.0.gir +691 -691
  103. data/vendor/local/share/gir-1.0/GLib-2.0.gir +6972 -6467
  104. data/vendor/local/share/gir-1.0/GModule-2.0.gir +103 -4
  105. data/vendor/local/share/gir-1.0/GObject-2.0.gir +2085 -1955
  106. data/vendor/local/share/gir-1.0/Gio-2.0.gir +10955 -9269
  107. data/vendor/local/share/gir-1.0/win32-1.0.gir +19 -0
  108. data/vendor/local/share/gobject-introspection-1.0/Makefile.introspection +2 -2
  109. data/vendor/local/share/gobject-introspection-1.0/gdump.c +7 -2
  110. data/vendor/local/share/gobject-introspection-1.0/tests/annotation.c +15 -15
  111. data/vendor/local/share/gobject-introspection-1.0/tests/annotation.h +1 -1
  112. data/vendor/local/share/gobject-introspection-1.0/tests/gimarshallingtests.c +14 -0
  113. data/vendor/local/share/gobject-introspection-1.0/tests/gimarshallingtests.h +2 -2
  114. data/vendor/local/share/gobject-introspection-1.0/tests/regress.c +8 -0
  115. data/vendor/local/share/gobject-introspection-1.0/tests/regress.h +9 -0
  116. metadata +20 -21
  117. data/vendor/local/lib/gobject-introspection/giscanner/odict.py +0 -50
  118. data/vendor/local/lib/gobject-introspection/giscanner/odict.pyc +0 -0
  119. data/vendor/local/lib/gobject-introspection/giscanner/odict.pyo +0 -0
@@ -165,7 +165,7 @@ blob containing data gleaned from GObject's primitive introspection."""
165
165
  try:
166
166
  try:
167
167
  subprocess.check_call(args, stdout=sys.stdout, stderr=sys.stderr)
168
- except subprocess.CalledProcessError, e:
168
+ except subprocess.CalledProcessError as e:
169
169
  # Clean up temporaries
170
170
  raise SystemExit(e)
171
171
  return parse(out_path)
@@ -203,8 +203,7 @@ blob containing data gleaned from GObject's primitive introspection."""
203
203
 
204
204
  def _initparse_gobject_record(self, record):
205
205
  if (record.name.startswith('ParamSpec')
206
- and not record.name in ('ParamSpecPool', 'ParamSpecClass',
207
- 'ParamSpecTypeInfo')):
206
+ and not record.name in ('ParamSpecPool', 'ParamSpecClass', 'ParamSpecTypeInfo')):
208
207
  parent = None
209
208
  if record.name != 'ParamSpec':
210
209
  parent = ast.Type(target_giname='GObject.ParamSpec')
@@ -251,7 +250,7 @@ blob containing data gleaned from GObject's primitive introspection."""
251
250
  (get_type, c_symbol_prefix) = self._split_type_and_symbol_prefix(xmlnode)
252
251
  try:
253
252
  enum_name = self._transformer.strip_identifier(type_name)
254
- except TransformerException, e:
253
+ except TransformerException as e:
255
254
  message.fatal(e)
256
255
 
257
256
  # The scanned member values are more accurate than the values that the
@@ -280,7 +279,6 @@ blob containing data gleaned from GObject's primitive introspection."""
280
279
  member.attrib['name'],
281
280
  member.attrib['nick']))
282
281
 
283
-
284
282
  if xmlnode.tag == 'flags':
285
283
  klass = ast.Bitfield
286
284
  else:
@@ -316,7 +314,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
316
314
  (get_type, c_symbol_prefix) = self._split_type_and_symbol_prefix(xmlnode)
317
315
  try:
318
316
  object_name = self._transformer.strip_identifier(type_name)
319
- except TransformerException, e:
317
+ except TransformerException as e:
320
318
  message.fatal(e)
321
319
  node = ast.Class(object_name, None,
322
320
  gtype_name=type_name,
@@ -346,7 +344,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
346
344
  (get_type, c_symbol_prefix) = self._split_type_and_symbol_prefix(xmlnode)
347
345
  try:
348
346
  interface_name = self._transformer.strip_identifier(type_name)
349
- except TransformerException, e:
347
+ except TransformerException as e:
350
348
  message.fatal(e)
351
349
  node = ast.Interface(interface_name, None,
352
350
  gtype_name=type_name,
@@ -391,7 +389,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
391
389
 
392
390
  try:
393
391
  name = self._transformer.strip_identifier(type_name)
394
- except TransformerException, e:
392
+ except TransformerException as e:
395
393
  message.fatal(e)
396
394
  # This one doesn't go in the main namespace; we associate it with
397
395
  # the struct or union
@@ -437,7 +435,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
437
435
  if i == 0:
438
436
  argname = 'object'
439
437
  else:
440
- argname = 'p%s' % (i-1, )
438
+ argname = 'p%s' % (i - 1, )
441
439
  pctype = parameter.attrib['type']
442
440
  ptype = ast.Type.create_from_gtype_name(pctype)
443
441
  param = ast.Parameter(argname, ptype)
@@ -465,7 +463,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
465
463
  (get_type, c_symbol_prefix) = self._split_type_and_symbol_prefix(xmlnode)
466
464
  try:
467
465
  fundamental_name = self._transformer.strip_identifier(type_name)
468
- except TransformerException, e:
466
+ except TransformerException as e:
469
467
  message.warn(e)
470
468
  return
471
469
 
@@ -509,7 +507,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
509
507
  def _pair_boxed_type(self, boxed):
510
508
  try:
511
509
  name = self._transformer.strip_identifier(boxed.gtype_name)
512
- except TransformerException, e:
510
+ except TransformerException as e:
513
511
  message.fatal(e)
514
512
  pair_node = self._namespace.get(name)
515
513
  if not pair_node:
@@ -526,8 +524,7 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
526
524
  return False
527
525
 
528
526
  def _strip_class_suffix(self, name):
529
- if (name.endswith('Class') or
530
- name.endswith('Iface')):
527
+ if (name.endswith('Class') or name.endswith('Iface')):
531
528
  return name[:-5]
532
529
  elif name.endswith('Interface'):
533
530
  return name[:-9]
@@ -101,9 +101,8 @@ class GIRParser(object):
101
101
  assert root.tag == _corens('repository')
102
102
  version = root.attrib['version']
103
103
  if version != COMPATIBLE_GIR_VERSION:
104
- raise SystemExit("%s: Incompatible version %s (supported: %s)" \
105
- % (self._get_current_file(),
106
- version, COMPATIBLE_GIR_VERSION))
104
+ raise SystemExit("%s: Incompatible version %s (supported: %s)" %
105
+ (self._get_current_file(), version, COMPATIBLE_GIR_VERSION))
107
106
 
108
107
  for node in root.getchildren():
109
108
  if node.tag == _corens('include'):
@@ -122,9 +121,9 @@ class GIRParser(object):
122
121
  if symbol_prefixes:
123
122
  symbol_prefixes = symbol_prefixes.split(',')
124
123
  self._namespace = ast.Namespace(ns.attrib['name'],
125
- ns.attrib['version'],
126
- identifier_prefixes=identifier_prefixes,
127
- symbol_prefixes=symbol_prefixes)
124
+ ns.attrib['version'],
125
+ identifier_prefixes=identifier_prefixes,
126
+ symbol_prefixes=symbol_prefixes)
128
127
  if 'shared-library' in ns.attrib:
129
128
  self._namespace.shared_libraries = ns.attrib['shared-library'].split(',')
130
129
  self._namespace.includes = self._includes
@@ -140,8 +139,7 @@ class GIRParser(object):
140
139
  _corens('interface'): self._parse_object_interface,
141
140
  _corens('record'): self._parse_record,
142
141
  _corens('union'): self._parse_union,
143
- _glibns('boxed'): self._parse_boxed,
144
- }
142
+ _glibns('boxed'): self._parse_boxed}
145
143
 
146
144
  if not self._types_only:
147
145
  parser_methods[_corens('constant')] = self._parse_constant
@@ -153,8 +151,7 @@ class GIRParser(object):
153
151
  method(node)
154
152
 
155
153
  def _parse_include(self, node):
156
- include = ast.Include(node.attrib['name'],
157
- node.attrib['version'])
154
+ include = ast.Include(node.attrib['name'], node.attrib['version'])
158
155
  self._includes.add(include)
159
156
 
160
157
  def _parse_pkgconfig_package(self, node):
@@ -165,9 +162,7 @@ class GIRParser(object):
165
162
 
166
163
  def _parse_alias(self, node):
167
164
  typeval = self._parse_type(node)
168
- alias = ast.Alias(node.attrib['name'],
169
- typeval,
170
- node.attrib.get(_cns('type')))
165
+ alias = ast.Alias(node.attrib['name'], typeval, node.attrib.get(_cns('type')))
171
166
  self._parse_generic_attribs(node, alias)
172
167
  self._namespace.append(alias)
173
168
 
@@ -427,7 +422,8 @@ class GIRParser(object):
427
422
  return ast.Type(ctype=ctype)
428
423
  elif name in ['GLib.List', 'GLib.SList']:
429
424
  subchild = self._find_first_child(typenode,
430
- map(_corens, ('callback', 'array', 'varargs', 'type')))
425
+ map(_corens, ('callback', 'array',
426
+ 'varargs', 'type')))
431
427
  if subchild is not None:
432
428
  element_type = self._parse_type(typenode)
433
429
  else:
@@ -438,9 +434,7 @@ class GIRParser(object):
438
434
  subchildren_types = map(self._parse_type_simple, subchildren)
439
435
  while len(subchildren_types) < 2:
440
436
  subchildren_types.append(ast.TYPE_ANY)
441
- return ast.Map(subchildren_types[0],
442
- subchildren_types[1],
443
- ctype=ctype)
437
+ return ast.Map(subchildren_types[0], subchildren_types[1], ctype=ctype)
444
438
  else:
445
439
  return self._namespace.type_from_name(name, ctype)
446
440
  else:
@@ -462,8 +456,8 @@ class GIRParser(object):
462
456
  lenidx = typenode.attrib.get('length')
463
457
  if lenidx is not None:
464
458
  idx = int(lenidx)
465
- assert idx < len(parent.parameters), "%r %d >= %d" \
466
- % (parent, idx, len(parent.parameters))
459
+ assert idx < len(parent.parameters), "%r %d >= %d" % (parent, idx,
460
+ len(parent.parameters))
467
461
  typeval.length_param_name = parent.parameters[idx].argname
468
462
 
469
463
  def _parse_boxed(self, node):
@@ -509,11 +503,11 @@ class GIRParser(object):
509
503
  assert node.tag == _corens('field'), node.tag
510
504
  type_node = self._parse_type(node)
511
505
  field = ast.Field(node.attrib.get('name'),
512
- type_node,
513
- node.attrib.get('readable') != '0',
514
- node.attrib.get('writable') == '1',
515
- node.attrib.get('bits'),
516
- anonymous_node=anonymous_node)
506
+ type_node,
507
+ node.attrib.get('readable') != '0',
508
+ node.attrib.get('writable') == '1',
509
+ node.attrib.get('bits'),
510
+ anonymous_node=anonymous_node)
517
511
  field.private = node.attrib.get('private') == '1'
518
512
  field.parent = parent
519
513
  self._parse_generic_attribs(node, field)
@@ -521,12 +515,12 @@ class GIRParser(object):
521
515
 
522
516
  def _parse_property(self, node, parent):
523
517
  prop = ast.Property(node.attrib['name'],
524
- self._parse_type(node),
525
- node.attrib.get('readable') != '0',
526
- node.attrib.get('writable') == '1',
527
- node.attrib.get('construct') == '1',
528
- node.attrib.get('construct-only') == '1',
529
- node.attrib.get('transfer-ownership'))
518
+ self._parse_type(node),
519
+ node.attrib.get('readable') != '0',
520
+ node.attrib.get('writable') == '1',
521
+ node.attrib.get('construct') == '1',
522
+ node.attrib.get('construct-only') == '1',
523
+ node.attrib.get('transfer-ownership'))
530
524
  self._parse_generic_attribs(node, prop)
531
525
  prop.parent = parent
532
526
  return prop
@@ -28,14 +28,15 @@ from .xmlwriter import XMLWriter
28
28
  # Compatible changes we just make inline
29
29
  COMPATIBLE_GIR_VERSION = '1.2'
30
30
 
31
+
31
32
  class GIRWriter(XMLWriter):
32
33
 
33
34
  def __init__(self, namespace):
34
35
  super(GIRWriter, self).__init__()
35
36
  self.write_comment(
36
- '''This file was automatically generated from C sources - DO NOT EDIT!
37
- To affect the contents of this file, edit the original C definitions,
38
- and/or use gtk-doc annotations. ''')
37
+ 'This file was automatically generated from C sources - DO NOT EDIT!\n'
38
+ 'To affect the contents of this file, edit the original C definitions,\n'
39
+ 'and/or use gtk-doc annotations. ')
39
40
  self._write_repository(namespace)
40
41
 
41
42
  def _write_repository(self, namespace):
@@ -43,8 +44,7 @@ and/or use gtk-doc annotations. ''')
43
44
  ('version', COMPATIBLE_GIR_VERSION),
44
45
  ('xmlns', 'http://www.gtk.org/introspection/core/1.0'),
45
46
  ('xmlns:c', 'http://www.gtk.org/introspection/c/1.0'),
46
- ('xmlns:glib', 'http://www.gtk.org/introspection/glib/1.0'),
47
- ]
47
+ ('xmlns:glib', 'http://www.gtk.org/introspection/glib/1.0')]
48
48
  with self.tagcontext('repository', attrs):
49
49
  for include in sorted(namespace.includes):
50
50
  self._write_include(include)
@@ -126,7 +126,7 @@ and/or use gtk-doc annotations. ''')
126
126
  for key, value in node.attributes:
127
127
  self.write_tag('attribute', [('name', key), ('value', value)])
128
128
  if hasattr(node, 'doc') and node.doc:
129
- self.write_tag('doc', [('xml:whitespace', 'preserve')],
129
+ self.write_tag('doc', [('xml:space', 'preserve')],
130
130
  node.doc)
131
131
 
132
132
  def _append_node_generic(self, node, attrs):
@@ -292,8 +292,8 @@ and/or use gtk-doc annotations. ''')
292
292
  attrs.append(('fixed-size', '%d' % (ntype.size, )))
293
293
  if ntype.length_param_name is not None:
294
294
  assert function
295
- attrs.insert(0, ('length', '%d'
296
- % (function.get_parameter_index(ntype.length_param_name, ))))
295
+ length = function.get_parameter_index(ntype.length_param_name)
296
+ attrs.insert(0, ('length', '%d' % (length, )))
297
297
 
298
298
  with self.tagcontext('array', attrs):
299
299
  self._write_type(ntype.element_type)
@@ -482,7 +482,7 @@ and/or use gtk-doc annotations. ''')
482
482
  attrs = list(extra_attrs)
483
483
  if record.name is not None:
484
484
  attrs.append(('name', record.name))
485
- if record.ctype is not None: # the record might be anonymous
485
+ if record.ctype is not None: # the record might be anonymous
486
486
  attrs.append(('c:type', record.ctype))
487
487
  if record.disguised:
488
488
  attrs.append(('disguised', '1'))
@@ -513,7 +513,7 @@ and/or use gtk-doc annotations. ''')
513
513
  attrs = []
514
514
  if union.name is not None:
515
515
  attrs.append(('name', union.name))
516
- if union.ctype is not None: # the union might be anonymous
516
+ if union.ctype is not None: # the union might be anonymous
517
517
  attrs.append(('c:type', union.ctype))
518
518
  self._append_version(union, attrs)
519
519
  self._append_node_generic(union, attrs)
@@ -544,8 +544,7 @@ and/or use gtk-doc annotations. ''')
544
544
  elif isinstance(field.anonymous_node, ast.Union):
545
545
  self._write_union(field.anonymous_node)
546
546
  else:
547
- raise AssertionError("Unknown field anonymous: %r" \
548
- % (field.anonymous_node, ))
547
+ raise AssertionError("Unknown field anonymous: %r" % (field.anonymous_node, ))
549
548
  else:
550
549
  attrs = [('name', field.name)]
551
550
  self._append_node_generic(field, attrs)
@@ -21,6 +21,7 @@ from . import ast
21
21
  from . import message
22
22
  from .annotationparser import TAG_RETURNS
23
23
 
24
+
24
25
  class IntrospectablePass(object):
25
26
 
26
27
  def __init__(self, transformer, blocks):
@@ -58,7 +59,7 @@ class IntrospectablePass(object):
58
59
  else:
59
60
  context = "return value: "
60
61
  if block:
61
- return_tag = block.get_tag(TAG_RETURNS)
62
+ return_tag = block.tags.get(TAG_RETURNS)
62
63
  if return_tag:
63
64
  position = return_tag.position
64
65
  message.warn_node(parent, prefix + context + text,
@@ -79,7 +80,7 @@ class IntrospectablePass(object):
79
80
 
80
81
  if not node.type.resolved:
81
82
  self._parameter_warning(parent, node,
82
- "Unresolved type: %r" % (node.type.unresolved_string, ))
83
+ "Unresolved type: %r" % (node.type.unresolved_string, ))
83
84
  parent.introspectable = False
84
85
  return
85
86
 
@@ -88,22 +89,23 @@ class IntrospectablePass(object):
88
89
  return
89
90
 
90
91
  if (isinstance(node.type, (ast.List, ast.Array))
91
- and node.type.element_type == ast.TYPE_ANY):
92
+ and node.type.element_type == ast.TYPE_ANY):
92
93
  self._parameter_warning(parent, node, "Missing (element-type) annotation")
93
94
  parent.introspectable = False
94
95
  return
95
96
 
96
97
  if (is_parameter
97
- and isinstance(target, ast.Callback)
98
- and not node.type.target_giname in ('GLib.DestroyNotify',
99
- 'Gio.AsyncReadyCallback')
100
- and node.scope is None):
101
- self._parameter_warning(parent, node,
102
- ("Missing (scope) annotation for callback" +
103
- " without GDestroyNotify (valid: %s, %s)")
104
- % (ast.PARAM_SCOPE_CALL, ast.PARAM_SCOPE_ASYNC))
105
- parent.introspectable = False
106
- return
98
+ and isinstance(target, ast.Callback)
99
+ and not node.type.target_giname in ('GLib.DestroyNotify', 'Gio.AsyncReadyCallback')
100
+ and node.scope is None):
101
+ self._parameter_warning(
102
+ parent,
103
+ node,
104
+ "Missing (scope) annotation for callback without "
105
+ "GDestroyNotify (valid: %s, %s)" % (ast.PARAM_SCOPE_CALL, ast.PARAM_SCOPE_ASYNC))
106
+
107
+ parent.introspectable = False
108
+ return
107
109
 
108
110
  if is_return and isinstance(target, ast.Callback):
109
111
  self._parameter_warning(parent, node, "Callbacks cannot be return values; use (skip)")
@@ -111,12 +113,14 @@ class IntrospectablePass(object):
111
113
  return
112
114
 
113
115
  if (is_return
114
- and isinstance(target, (ast.Record, ast.Union))
115
- and target.get_type is None
116
- and not target.foreign):
116
+ and isinstance(target, (ast.Record, ast.Union))
117
+ and target.get_type is None
118
+ and not target.foreign):
117
119
  if node.transfer != ast.PARAM_TRANSFER_NONE:
118
- self._parameter_warning(parent, node,
119
- "Invalid non-constant return of bare structure or union; register as boxed type or (skip)")
120
+ self._parameter_warning(
121
+ parent, node,
122
+ "Invalid non-constant return of bare structure or union; "
123
+ "register as boxed type or (skip)")
120
124
  parent.introspectable = False
121
125
  return
122
126
 
@@ -143,10 +147,10 @@ class IntrospectablePass(object):
143
147
  # These are not introspectable pending us adding
144
148
  # larger type tags to the typelib (in theory these could
145
149
  # be 128 bit or larger)
146
- if typeval.is_equiv((ast.TYPE_LONG_LONG, ast.TYPE_LONG_ULONG,
147
- ast.TYPE_LONG_DOUBLE)):
150
+ elif typeval.is_equiv((ast.TYPE_LONG_LONG, ast.TYPE_LONG_ULONG, ast.TYPE_LONG_DOUBLE)):
148
151
  return False
149
- return True
152
+ else:
153
+ return True
150
154
  target = self._transformer.lookup_typenode(typeval)
151
155
  if not target:
152
156
  return False
@@ -72,5 +72,5 @@ class LibtoolImporter(object):
72
72
  sys.meta_path.append(cls)
73
73
 
74
74
  @classmethod
75
- def __exit__(cls, type, value, traceback):
75
+ def __exit__(cls, exc_type, exc_val, exc_tb):
76
76
  sys.meta_path.remove(cls)