summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2012-08-29 14:46:02 -0300
committerJasper St. Pierre <jstpierre@mecheye.net>2012-08-29 15:00:33 -0300
commitc197f266916f57b94fca92c75d060fa9891e9973 (patch)
tree6c863e71da20e52b401693fe8b0d510734e2b6a7
parente1ab409a39a3418fd33c0a10905a616dd46d500c (diff)
downloadgobject-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.
-rw-r--r--giscanner/mallardwriter.py26
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,