Clarify and perhaps expand where annotations can be applied
-
Key: IDL41-9
-
Status: closed
-
Source: Real-Time Innovations ( Dr. Gerardo Pardo-Castellote, Ph.D.)
-
Summary:
The specification should allow application of annotations to:
declarations, members, function parameters, union discriminator, enumerator literals, typedefs, sequence parameter, array parameter.Some examples:
struct SS { @MemberAnnotation(value) MyType m1; }; emum EE { @Value(value) Enum1; }; union MyUnion switch ( @key long ) { case 1: @CaseMemberAnn MT1 m1; defalt: long l; }; struct SS { @shared sequence< MyType, 3> m1; sequence<@shared MyType, 3> m1; @shared MyType m1[3]; MyType @shared m1[3]; @shared MyMatrix mm[3][4]; MyMatrix @shared mm[3][4]; }; typedef MyType @shared MyTypeArray3[3]; typedef @shared MyType MyTypeArray3[3];
-
Reported: IDL 4.0 — Wed, 14 Sep 2016 21:27 GMT
-
Disposition: Resolved — IDL 4.1
-
Disposition Summary:
Clarify application rules for annotations
An annotation can be placed on any IDL constructs or sub-constructs.
Stating that in the grammar rules complicates dramatically all the rules and creates a dependency issue between building-blocks.
The proposed solution is therefore:- to remove from the grammar any reference towards where annotations can be placed – cf. rule (202), as it wrongly gave the impression that annotations could only be placed on first-level definitions.
- to state more clearly in the text that annotations can be placed on any IDL constructs and sub-constructs.
(Note that the format for applying annotation remains defined by EBNF rules as it was).
-
Updated: Wed, 5 Dec 2018 16:54 GMT