1. OMG Mailing List
  2. IDL4 to C# Language Mapping (IDL4-CSHARP) 1.1 RTF mailing list

Closed Issues

  • Issues resolved by a task force and approved by Board
  • Name: idl4-csharp-rtf
  • Issues Count: 2

Issues Summary

Key Issue Reported Fixed Disposition Status
IDL4CPP-33 long in C++ code IDL4-CPP 1.0b1 IDL4-CPP 1.0b2 Resolved closed
IDL4CPP-32 Implicit default and constructor IDL4-CPP 1.0b1 IDL4-CPP 1.0b2 Deferred closed

Issues Descriptions

long in C++ code

  • Key: IDL4CPP-33
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    In the example code there is "using Length = long;", but long is not portable, shouldn't be this be int32_t?

  • Reported: IDL4-CPP 1.0b1 — Tue, 16 Jan 2024 09:46 GMT
  • Disposition: Resolved — IDL4-CPP 1.0b2
  • Disposition Summary:

    Replace use of C++ long in example code with int32_t

    IDL longs are mapped to C++ int32_t, the example in clause 7.2.4.6 makes the mistake of mapping a typedef long to a using of long instead of int32_t.

  • Updated: Mon, 16 Sep 2024 14:15 GMT

Implicit default and constructor

  • Key: IDL4CPP-32
  • Status: closed  
  • Source: Remedy IT ( Johnny Willemsen)
  • Summary:

    Spec says:

    If the union has a default case, the default constructor shall initialize the discriminator, and the selected
    member field following the initialization rules described in Clause 7.2.4.3.1. If it does not, the default
    constructor shall initialize the union to the first discriminant value specified in the IDL definition.

    But when there is an implicit default member, that should be selected, for example, the example below (

      enum DataType
      {
        dtEmpty,
        dtLong,
        dtShort,
        dtString,
        dtPoint,
        dtTrack,
        dtGlobal
      };
    
      union Data switch (DataType)
        {
          case dtLong: long longData;
          case dtShort: short shortData;
          case dtString: string stringData;
          case dtPoint: string pointData;
          case dtTrack: string trackData;
          case dtGlobal: string globalData;
          // by default (implicit), empty union
        };
    
  • Reported: IDL4-CPP 1.0b1 — Tue, 16 Jan 2024 09:36 GMT
  • Disposition: Deferred — IDL4-CPP 1.0b2
  • Disposition Summary:

    Defer the resolution of this issue to the resolution of the related IDL RTF issue

    This issue is deferred until the resolution IDL43-94.

  • Updated: Mon, 16 Sep 2024 14:15 GMT