diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-05-25 13:18:46 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-05-28 10:38:23 +0200 |
commit | 0f5d1db239d5671c048b827692fb354fafb6b034 (patch) | |
tree | 121d908bf2cb5296f5713d760beea18403a5a169 | |
parent | spec: Remove superfluous domain attribute (diff) | |
download | rtems-central-0f5d1db239d5671c048b827692fb354fafb6b034.tar.bz2 |
spec: Add function body attribute
21 files changed, 27 insertions, 5 deletions
diff --git a/rtemsqual/interface.py b/rtemsqual/interface.py index 9f3fa465..64648e83 100644 --- a/rtemsqual/interface.py +++ b/rtemsqual/interface.py @@ -319,8 +319,9 @@ class Node: return f"#define {name}" def _get_function_definition(self, item: Item, definition: Any) -> Lines: + body = definition["body"] ret = self.substitute(definition["return"]) - if "body" in definition: + if body: ret = "static inline " + ret name = item["name"] space = "" if ret.endswith("*") else " " @@ -336,12 +337,12 @@ class Node: line = f"{ret}{space}{name}(void)" if len(line) > 79: line = f"{ret}\n{name}(void)" - if "body" in definition: - body = self.substitute("\n ".join( - definition["body"].strip("\n").split("\n"))) + if body: + body_lines = self.substitute("\n ".join( + body.strip("\n").split("\n"))) line = f"""{line} {{ - {body} + {body_lines} }}""" else: line += ";" diff --git a/rtemsqual/tests/spec-interface/func.yml b/rtemsqual/tests/spec-interface/func.yml index 5c287b8f..108fa624 100644 --- a/rtemsqual/tests/spec-interface/func.yml +++ b/rtemsqual/tests/spec-interface/func.yml @@ -5,6 +5,7 @@ enabled-by: true brief: Function brief description. definition: default: + body: null params: - int ${.:/params[0]/name} - const int *${.:/params[1]/name} diff --git a/rtemsqual/tests/spec-interface/func3.yml b/rtemsqual/tests/spec-interface/func3.yml index 9bee4821..515feb2d 100644 --- a/rtemsqual/tests/spec-interface/func3.yml +++ b/rtemsqual/tests/spec-interface/func3.yml @@ -5,6 +5,7 @@ enabled-by: true brief: Void function brief description. definition: default: + body: null params: [] return: void variants: [] diff --git a/rtemsqual/tests/spec-interface/func4.yml b/rtemsqual/tests/spec-interface/func4.yml index 4f5032fa..df16690d 100644 --- a/rtemsqual/tests/spec-interface/func4.yml +++ b/rtemsqual/tests/spec-interface/func4.yml @@ -5,6 +5,7 @@ enabled-by: true brief: Void function brief description with very long return type. definition: default: + body: null params: [] return: VeryLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongType variants: [] diff --git a/spec/if/impl/dequalify-types-not-compatible.yml b/spec/if/impl/dequalify-types-not-compatible.yml index 136e1b3a..3d05f322 100644 --- a/spec/if/impl/dequalify-types-not-compatible.yml +++ b/spec/if/impl/dequalify-types-not-compatible.yml @@ -7,10 +7,12 @@ copyrights: - Copyright (C) 2014 Paval Pisa definition: default: + body: null params: [] return: void * variants: - definition: + body: null params: [] return: __attribute__((__error__("RTEMS_DEQUALIFY() types differ not only by volatile and const"))) void * diff --git a/spec/if/rtems/config/get-api-configuration.yml b/spec/if/rtems/config/get-api-configuration.yml index 4f6ce3a7..6fd225ed 100644 --- a/spec/if/rtems/config/get-api-configuration.yml +++ b/spec/if/rtems/config/get-api-configuration.yml @@ -5,6 +5,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: const rtems_api_configuration_table * variants: [] diff --git a/spec/if/rtems/config/get-maximum-barriers.yml b/spec/if/rtems/config/get-maximum-barriers.yml index ef4a519f..05d6f328 100644 --- a/spec/if/rtems/config/get-maximum-barriers.yml +++ b/spec/if/rtems/config/get-maximum-barriers.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-extensions.yml b/spec/if/rtems/config/get-maximum-extensions.yml index dcfc17bb..2ec5a2f1 100644 --- a/spec/if/rtems/config/get-maximum-extensions.yml +++ b/spec/if/rtems/config/get-maximum-extensions.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-message-queues.yml b/spec/if/rtems/config/get-maximum-message-queues.yml index 1eeb35f7..d310cb09 100644 --- a/spec/if/rtems/config/get-maximum-message-queues.yml +++ b/spec/if/rtems/config/get-maximum-message-queues.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-partitions.yml b/spec/if/rtems/config/get-maximum-partitions.yml index 1d2c5e8c..ecb612a4 100644 --- a/spec/if/rtems/config/get-maximum-partitions.yml +++ b/spec/if/rtems/config/get-maximum-partitions.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-periods.yml b/spec/if/rtems/config/get-maximum-periods.yml index 2a66e63c..0bead49e 100644 --- a/spec/if/rtems/config/get-maximum-periods.yml +++ b/spec/if/rtems/config/get-maximum-periods.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-ports.yml b/spec/if/rtems/config/get-maximum-ports.yml index ccc0a8f5..14ecb0ce 100644 --- a/spec/if/rtems/config/get-maximum-ports.yml +++ b/spec/if/rtems/config/get-maximum-ports.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-regions.yml b/spec/if/rtems/config/get-maximum-regions.yml index 4f5d8715..6260aebf 100644 --- a/spec/if/rtems/config/get-maximum-regions.yml +++ b/spec/if/rtems/config/get-maximum-regions.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-semaphores.yml b/spec/if/rtems/config/get-maximum-semaphores.yml index f0506c50..b9b234d4 100644 --- a/spec/if/rtems/config/get-maximum-semaphores.yml +++ b/spec/if/rtems/config/get-maximum-semaphores.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-tasks.yml b/spec/if/rtems/config/get-maximum-tasks.yml index 4e027e0f..587dec7e 100644 --- a/spec/if/rtems/config/get-maximum-tasks.yml +++ b/spec/if/rtems/config/get-maximum-tasks.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-maximum-timers.yml b/spec/if/rtems/config/get-maximum-timers.yml index 1961ed63..6d756bcd 100644 --- a/spec/if/rtems/config/get-maximum-timers.yml +++ b/spec/if/rtems/config/get-maximum-timers.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uint32_t:/name} variants: [] diff --git a/spec/if/rtems/config/get-stack-space-size.yml b/spec/if/rtems/config/get-stack-space-size.yml index 5b17cbea..a33b10b9 100644 --- a/spec/if/rtems/config/get-stack-space-size.yml +++ b/spec/if/rtems/config/get-stack-space-size.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/c/uintptr_t:/name} variants: [] diff --git a/spec/if/rtems/init/initialize-executive.yml b/spec/if/rtems/init/initialize-executive.yml index dd5a4c48..a917a4c1 100644 --- a/spec/if/rtems/init/initialize-executive.yml +++ b/spec/if/rtems/init/initialize-executive.yml @@ -5,6 +5,7 @@ copyrights: - Copyright (C) 2015, 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: [] return: ${/if/rtems/basedefs/no-return:/name} void variants: [] diff --git a/spec/if/rtems/init/shutdown-executive.yml b/spec/if/rtems/init/shutdown-executive.yml index bab3153f..2aded543 100644 --- a/spec/if/rtems/init/shutdown-executive.yml +++ b/spec/if/rtems/init/shutdown-executive.yml @@ -6,6 +6,7 @@ copyrights: - Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) definition: default: + body: null params: - ${/if/c/uint32_t:/name} ${.:/params[0]/name} return: ${/if/rtems/basedefs/no-return:/name} void diff --git a/spec/if/rtems/status/code-to-errno.yml b/spec/if/rtems/status/code-to-errno.yml index 054f2ea3..91389970 100644 --- a/spec/if/rtems/status/code-to-errno.yml +++ b/spec/if/rtems/status/code-to-errno.yml @@ -5,6 +5,7 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: - ${code:/name} ${.:/params[0]/name} return: int diff --git a/spec/if/rtems/status/text.yml b/spec/if/rtems/status/text.yml index eec9aac7..5d540e7f 100644 --- a/spec/if/rtems/status/text.yml +++ b/spec/if/rtems/status/text.yml @@ -4,6 +4,7 @@ copyrights: - Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de) definition: default: + body: null params: - ${code:/name} ${.:/params[0]/name} return: const char * |