diff options
author | Dan Winship <danw@gnome.org> | 2012-05-26 20:19:39 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2012-05-26 20:23:52 -0400 |
commit | 44cf78baf6496835abbf3c092895c2a46a2d4ef0 (patch) | |
tree | 48893535ca6ae33d3d989e53b382196b2c3d30f3 /giscanner | |
parent | 6e25b3849692cd9afcfbb4152e7e8e213fd37917 (diff) | |
download | gobject-introspection-44cf78baf6496835abbf3c092895c2a46a2d4ef0.tar.gz |
scanner: allow for functions that look like constructors but aren't
If the scanner found a function with _new in its name, but not
prefixed by the name of a known type, it would assume that the
function was a constructor, and then complain that it couldn't figure
out what it was a constructor for, and mark it introspectable=0.
Instead, just assume that the function is not actually a constructor
in that case (unless it's explicitly tagged as such).
https://bugzilla.gnome.org/show_bug.cgi?id=676815
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/maintransformer.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py index 60c5bc43..bb10c99d 100644 --- a/giscanner/maintransformer.py +++ b/giscanner/maintransformer.py @@ -1147,9 +1147,10 @@ method or constructor of some type.""" origin_node = self._get_constructor_class(func, subsymbol) if origin_node is None: - message.warn_node(func, - "Can't find matching type for constructor; symbol=%r" \ - % (func.symbol, )) + if func.is_constructor: + message.warn_node(func, + "Can't find matching type for constructor; symbol=%r" \ + % (func.symbol, )) return False # Some sanity checks; only objects and boxeds can have ctors |