IDL 4.1 RTF Avatar
  1. OMG Issue

IDL41 — 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:

    1. 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.
    2. 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