summaryrefslogtreecommitdiffstats
path: root/rtemsspec/interfacedoc.py
diff options
context:
space:
mode:
Diffstat (limited to 'rtemsspec/interfacedoc.py')
-rw-r--r--rtemsspec/interfacedoc.py19
1 files changed, 7 insertions, 12 deletions
diff --git a/rtemsspec/interfacedoc.py b/rtemsspec/interfacedoc.py
index 72f07492..d0666c25 100644
--- a/rtemsspec/interfacedoc.py
+++ b/rtemsspec/interfacedoc.py
@@ -49,6 +49,10 @@ def _get_reference(name: str) -> str:
return get_reference(get_label(f"{INTERFACE} {name}"))
+def _get_code_param(ctx: ItemGetValueContext) -> Any:
+ return _sanitize_name(ctx.value[ctx.key])
+
+
class _CodeMapper(ItemMapper):
def __init__(self, item: Item):
super().__init__(item)
@@ -56,6 +60,7 @@ class _CodeMapper(ItemMapper):
get_value_forward_declaration)
self.add_get_value("interface/struct:/name", get_value_compound)
self.add_get_value("interface/union:/name", get_value_compound)
+ self.add_get_value("interface/macro:/params/name", _get_code_param)
def _get_param(ctx: ItemGetValueContext) -> Any:
@@ -125,23 +130,13 @@ def _add_function_definition(content: CContent, mapper: ItemMapper, item: Item,
value: Dict[str, Any]) -> None:
ret = mapper.substitute(value["return"])
name = item["name"]
- params = [
- mapper.substitute(_sanitize_name(param)) for param in value["params"]
- ]
+ params = [mapper.substitute(param) for param in value["params"]]
content.declare_function(ret, name, params)
-def _add_macro_definition(content: CContent, _mapper: ItemMapper, item: Item,
- _value: Dict[str, Any]) -> None:
- ret = "#define"
- name = item["name"]
- params = [_sanitize_name(param["name"]) for param in item["params"]]
- content.call_function(ret, name, params, semicolon="")
-
-
_ADD_DEFINITION = {
"interface/function": _add_function_definition,
- "interface/macro": _add_macro_definition,
+ "interface/macro": _add_function_definition,
}