summaryrefslogtreecommitdiff
path: root/giscanner/mallardwriter.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/mallardwriter.py')
-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,