diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2012-08-29 14:46:02 -0300 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2012-08-29 15:00:33 -0300 |
commit | c197f266916f57b94fca92c75d060fa9891e9973 (patch) | |
tree | 6c863e71da20e52b401693fe8b0d510734e2b6a7 /giscanner | |
parent | e1ab409a39a3418fd33c0a10905a616dd46d500c (diff) | |
download | gobject-introspection-c197f266916f57b94fca92c75d060fa9891e9973.tar.gz |
mallardwriter: Fix fundamental false alarms for the C formatter
Just use a constant translation dictionary. If somebody needs something
more fancy they can use a custom match.
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/mallardwriter.py | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/giscanner/mallardwriter.py b/giscanner/mallardwriter.py index 1fab10dd..9c833843 100644 --- a/giscanner/mallardwriter.py +++ b/giscanner/mallardwriter.py @@ -223,7 +223,7 @@ class MallardFormatter(object): self.format_function_name(node)) def _process_fundamental(self, namespace, match, props): - raise NotImplementedError + return self.fundamentals.get(props['fundamental'], match) def _process_token(self, tok): namespace = self._transformer.namespace @@ -281,6 +281,12 @@ class MallardFormatter(object): class MallardFormatterC(MallardFormatter): language = "C" + fundamentals = { + "TRUE": "TRUE", + "FALSE": "FALSE", + "NULL": "NULL", + } + def format_type(self, type_): if isinstance(type_, ast.Array): return self.format_type(type_.element_type) + '*' @@ -292,12 +298,15 @@ class MallardFormatterC(MallardFormatter): def format_function_name(self, func): return func.symbol - def _process_fundamental(self, namespace, match, props): - return props['fundamental'] - class MallardFormatterPython(MallardFormatter): language = "Python" + fundamentals = { + "TRUE": "True", + "FALSE": "False", + "NULL": "None", + } + def format_type(self, type_): if isinstance(type_, ast.Array): return '[' + self.format_type(type_.element_type) + ']' @@ -315,15 +324,6 @@ class MallardFormatterPython(MallardFormatter): else: return func.name - def _process_fundamental(self, namespace, match, props): - translation = { - "NULL": "None", - "TRUE": "True", - "FALSE": "False", - } - - return translation.get(props['fundamental'], match) - LANGUAGES = { "c": MallardFormatterC, "python": MallardFormatterPython, |