[gobject-introspection] [scanner] Move over remaining callsites to message
- From: Johan Dahlin <johan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] [scanner] Move over remaining callsites to message
- Date: Thu, 2 Sep 2010 15:40:19 +0000 (UTC)
commit 1dd0fcec1d80aa1c586044065ec320f82d542de2
Author: Johan Dahlin <johan gnome org>
Date: Thu Sep 2 11:44:27 2010 -0300
[scanner] Move over remaining callsites to message
Move the remaining callsites over to the new message
module
giscanner/gdumpparser.py | 4 +-
giscanner/introspectablepass.py | 5 +-
giscanner/maintransformer.py | 81 ++++++++++++++++++++++-----------------
giscanner/scannermain.py | 4 +-
giscanner/transformer.py | 4 +-
5 files changed, 55 insertions(+), 43 deletions(-)
---
diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
index d93a464..d88f2e3 100644
--- a/giscanner/gdumpparser.py
+++ b/giscanner/gdumpparser.py
@@ -209,8 +209,8 @@ blob containing data gleaned from GObject's primitive introspection."""
rettype = func.retval.type
if not (rettype.is_equiv(ast.TYPE_GTYPE)
or rettype.target_giname == 'Gtk.Type'):
- self._transformer.log_warning("function returns '%r', not a GType"
- % (func.retval.type, ))
+ message.warn("function returns '%r', not a GType" % (
+ func.retval.type, ))
return False
self._get_type_functions.append(func.symbol)
diff --git a/giscanner/introspectablepass.py b/giscanner/introspectablepass.py
index 7843411..6653c09 100644
--- a/giscanner/introspectablepass.py
+++ b/giscanner/introspectablepass.py
@@ -19,6 +19,7 @@
from . import ast
from . import glibast
+from . import message
class IntrospectablePass(object):
@@ -38,7 +39,7 @@ class IntrospectablePass(object):
if isinstance(node, glibast.GLibInterface):
for vfunc in node.virtual_methods:
if not vfunc.invoker:
- self._transformer.log_node_warning(vfunc,
+ message.warn_node(vfunc,
"""Virtual function %r has no known invoker""" % (vfunc.name, ),
context=node)
@@ -51,7 +52,7 @@ class IntrospectablePass(object):
context = "argument %s: " % (param.argname, )
else:
context = "return value: "
- self._transformer.log_node_warning(parent, prefix + context + text, *args)
+ message.warn_node(parent, prefix + context + text, *args)
def _introspectable_param_analysis(self, parent, node):
is_return = isinstance(node, ast.Return)
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index 867a6c7..5a5a21e 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -110,9 +110,10 @@ class MainTransformer(object):
origin_name = 'parameter %s' % (origin.argname, )
else:
origin_name = 'return value'
- self._transformer.log_node_warning(parent,
+ message.log_node(
+ message.FATAL, parent,
"can't find parameter %s referenced by %s of %r"
- % (param_name, origin_name, parent.name), fatal=True)
+ % (param_name, origin_name, parent.name))
return param.argname
@@ -125,18 +126,21 @@ class MainTransformer(object):
rename_to = rename_to.value
target = self._namespace.get_by_symbol(rename_to)
if not target:
- self._transformer.log_node_warning(node,
-"Can't find symbol %r referenced by Rename annotation" % (rename_to, ))
+ message.warn_node(node,
+ "Can't find symbol %r referenced by Rename annotation" % (
+ rename_to, ))
elif target.shadowed_by:
- self._transformer.log_node_warning(node,
-"Function %r already shadowed by %r, can't overwrite with %r" % (target.symbol,
- target.shadowed_by,
- rename_to))
+ message.warn_node(node,
+ "Function %r already shadowed by %r, can't overwrite with %r" % (
+ target.symbol,
+ target.shadowed_by,
+ rename_to))
elif target.shadows:
- self._transformer.log_node_warning(node,
-"Function %r already shadows %r, can't multiply shadow with %r" % (target.symbol,
- target.shadows,
- rename_to))
+ message.warn_node(node,
+ "Function %r already shadows %r, can't multiply shadow with %r" % (
+ target.symbol,
+ target.shadows,
+ rename_to))
else:
target.shadows = node.symbol
node.shadowed_by = target.symbol
@@ -225,8 +229,8 @@ class MainTransformer(object):
return ast.List(base.name, *rest)
if isinstance(base, ast.Map) and len(rest) == 2:
return ast.Map(*rest)
- self._transformer.log_warning(
-"Too many parameters in type specification %r" % (type_str, ))
+ message.warn(
+ "Too many parameters in type specification %r" % (type_str, ))
return base
def top_combiner(base, *rest):
if orig_node is not None:
@@ -235,8 +239,8 @@ class MainTransformer(object):
result, rest = grab_one(type_str, resolver, top_combiner, combiner)
if rest:
- self._transformer.log_warning(
-"Trailing components in type specification %r" % (type_str, ))
+ message.warn("Trailing components in type specification %r" % (
+ type_str, ))
return result
def _apply_annotations_array(self, parent, node, options):
@@ -295,7 +299,7 @@ class MainTransformer(object):
elif isinstance(node.type, ast.Array):
node.type.element_type = self._resolve(element_type[0])
else:
- self._transformer.log_node_warning(parent,
+ message.warn_node(parent,
"Unknown container %r for element-type annotation" % (node.type, ))
def _get_transfer_default_param(self, parent, node):
@@ -404,8 +408,8 @@ class MainTransformer(object):
elif subtype == 'callee-allocates':
caller_allocates = False
else:
- self._transformer.log_warning(
-"out allocation for %s is invalid (%r)" % (node, subtype), fatal=True)
+ message.fatal("out allocation for %s is invalid (%r)" % (
+ node, subtype))
elif OPT_IN in options:
annotated_direction = ast.PARAM_DIRECTION_IN
@@ -481,8 +485,9 @@ class MainTransformer(object):
if scope not in [ast.PARAM_SCOPE_CALL,
ast.PARAM_SCOPE_ASYNC,
ast.PARAM_SCOPE_NOTIFIED]:
- self._transformer.log_warning(parent,
-"Invalid scope %r for parameter %r" % (scope, param.name))
+ message.warn(
+ parent,
+ "Invalid scope %r for parameter %r" % (scope, param.name))
else:
param.scope = scope
param.transfer = ast.PARAM_TRANSFER_NONE
@@ -544,9 +549,9 @@ class MainTransformer(object):
if param.argname == tag:
break
else:
- self._transformer.log_warning(
-"Annotation for '%s' refers to unknown argument '%s'"
-% (parent.name, tag))
+ message.warn(
+ "Annotation for '%s' refers to unknown argument '%s'"
+ % (parent.name, tag))
def _apply_annotations_field(self, parent, block, field):
if not block:
@@ -620,7 +625,7 @@ class MainTransformer(object):
self._apply_annotations_callable(vfunc, [parent], block)
break
if not matched:
- self._transformer.log_symbol_warning(node.symbol,
+ message.warn_symbol(node.symbol,
"Virtual slot %r not found for %r annotation" % (invoker_name, TAG_VFUNC))
def _resolve_and_filter_type_list(self, typelist):
@@ -716,8 +721,8 @@ the ones that failed to resolve removed."""
if enum is not None:
enum.error_quark = node.symbol
else:
- self._transformer.log_node_warning(node,
-"""%s: Couldn't find corresponding enumeration""" % (node.symbol, ))
+ message.warn_node(node,
+ """%s: Couldn't find corresponding enumeration""" % (node.symbol, ))
def _split_uscored_by_type(self, uscored):
"""'uscored' should be an un-prefixed uscore string. This
@@ -809,7 +814,7 @@ method or constructor of some type."""
split = self._split_uscored_by_type(subsymbol)
if split is None:
# TODO - need a e.g. (method) annotation
- self._transformer.log_node_warning(func,
+ message.warn_node(func,
"Can't find matching type for constructor; symbol=%r" % (func.symbol, ))
return False
(origin_node, funcname) = split
@@ -823,15 +828,21 @@ method or constructor of some type."""
else:
parent = None
if parent is None:
- self._transformer.log_node_warning(func,
-"Return value is not superclass for constructor; symbol=%r constructed=%r return=%r"
-% (func.symbol, str(origin_node.create_type()), str(func.retval.type)))
+ message.warn_node(func,
+ "Return value is not superclass for constructor; "
+ "symbol=%r constructed=%r return=%r" % (
+ func.symbol,
+ str(origin_node.create_type()),
+ str(func.retval.type)))
return False
else:
if origin_node != target:
- self._transformer.log_node_warning(func,
-"Constructor return type mismatch symbol=%r constructed=%r return=%r"
-% (func.symbol, str(origin_node.create_type()), str(func.retval.type)))
+ message.warn_node(func,
+ "Constructor return type mismatch symbol=%r "
+ "constructed=%r return=%r" % (
+ func.symbol,
+ str(origin_node.create_type()),
+ str(func.retval.type)))
return False
self._namespace.float(func)
func.name = funcname
@@ -845,7 +856,7 @@ method or constructor of some type."""
def _pair_class_virtuals(self, node):
"""Look for virtual methods from the class structure."""
if not node.glib_type_struct:
- self._transformer.log_node_warning(node,
+ message.warn_node(node,
"Failed to find class structure for %r" % (node.name, ))
return
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
index eae10f7..ea1299e 100644
--- a/giscanner/scannermain.py
+++ b/giscanner/scannermain.py
@@ -33,10 +33,10 @@ from giscanner.annotationparser import AnnotationParser
from giscanner.ast import Include, Namespace
from giscanner.dumper import compile_introspection_binary
from giscanner.gdumpparser import GDumpParser, IntrospectionBinary
-from giscanner.maintransformer import MainTransformer
from giscanner.introspectablepass import IntrospectablePass
from giscanner.girparser import GIRParser
from giscanner.girwriter import GIRWriter
+from giscanner.maintransformer import MainTransformer
from giscanner.shlibs import resolve_shlibs
from giscanner.sourcescanner import SourceScanner
from giscanner.transformer import Transformer
@@ -329,7 +329,7 @@ def scanner_main(args):
final.validate()
if options.warn_fatal and transformer.did_warn():
- transformer.log_warning("warnings configured as fatal", fatal=True)
+ message.fatal("warnings configured as fatal")
return 1
# Write out AST
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index 30f7bbf..f83339c 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -86,8 +86,8 @@ class Transformer(object):
positions = set()
positions.update(original.file_positions)
positions.update(node.file_positions)
- self.log_warning("Namespace conflict for '%s'" % (node.name, ),
- positions, fatal=True)
+ message.fatal("Namespace conflict for '%s'" % (node.name, ),
+ positions)
else:
self._namespace.append(node)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]