eng: Make interface definitions optional

Update #3715.
This commit is contained in:
Sebastian Huber 2021-09-10 16:21:25 +02:00
parent 9dd61353f6
commit 60e08fd84f

View File

@ -3797,23 +3797,27 @@ definition
Interface Compound Member Definition Interface Compound Member Definition
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This set of attributes specifies an interface compound member definition. All A value of this type shall be of one of the following variants:
explicit attributes shall be specified. The explicit attributes for this type
are:
brief * The value may be a set of attributes. This set of attributes specifies an
The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`. interface compound member definition. All explicit attributes shall be
specified. The explicit attributes for this type are:
description brief
The attribute value shall be an :ref:`SpecTypeInterfaceDescription`. The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
kind description
The attribute value shall be a string. It shall be the interface compound The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
member kind.
name kind
The attribute value shall be a string. It shall be the interface compound The attribute value shall be a string. It shall be the interface compound
member name. member kind.
name
The attribute value shall be a string. It shall be the interface compound
member name.
* There may by be no value (null).
This type is refined by the following types: This type is refined by the following types:
@ -4070,33 +4074,38 @@ links.
Interface Function Definition Interface Function Definition
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This set of attributes specifies a function definition. All explicit attributes A value of this type shall be of one of the following variants:
shall be specified. The explicit attributes for this type are:
attributes * The value may be a set of attributes. This set of attributes specifies a
The attribute value shall be an optional string. If the value is present, function definition. All explicit attributes shall be specified. The explicit
then it shall be the function attributes. On the attributes a attributes for this type are:
context-sensitive substitution of item variables is performed. A function
attribute is for example the indication that the function does not return
to the caller.
body attributes
The attribute value shall be an optional string. If the value is present, The attribute value shall be an optional string. If the value is present,
then it shall be the definition of a static inline function. On the then it shall be the function attributes. On the attributes a
function definition a context-sensitive substitution of item variables is context-sensitive substitution of item variables is performed. A
performed. If no value is present, then the function is declared as an function attribute is for example the indication that the function does
external function. not return to the caller.
params body
The attribute value shall be a list of strings. It shall be the list of The attribute value shall be an optional string. If the value is present,
parameter declarations of the function. On the function parameter then it shall be the definition of a static inline function. On the
declarations a context-sensitive substitution of item variables is function definition a context-sensitive substitution of item variables is
performed. performed. If no value is present, then the function is declared as an
external function.
return params
The attribute value shall be a string. It shall be the function return The attribute value shall be a list of strings. It shall be the list of
type. On the return type a context-sensitive substitution of item parameter declarations of the function. On the function parameter
variables is performed. declarations a context-sensitive substitution of item variables is
performed.
return
The attribute value shall be a string. It shall be the function return
type. On the return type a context-sensitive substitution of item
variables is performed.
* There may by be no value (null).
This type is used by the following types: This type is used by the following types: