WIG compiler generates an Inline attribute which is then ignored by the Reflector creating the WS metadata for the assembly. Should generate Name attribute instead, which also allows proper inheriting by user-defined classes.

  • github

    This topic has been closed.

  • JankoA

    Previously, compiling calls against WIG-defined interface methods was wrong, used the .NET name instead of any inlines set in WIG definition. This change has both an upside and a downside:

    • WIG-defined interfaces are using only the Name attribute, so no custom inlines defined on them will have an effect (WIG API still allows it...).
    • They are now able to be implemented with your custom classes

    The upside is the smaller, so this can be changed back partially so this is a non-breaking change:

    • WIG Interfaces with only methods defined on them with no custom inlines create interface metadata (using Name), allowing inheriting/implementing from your own WS-defined interfaces/classes.
    • all other WIG interfaces (having a JS property and/or custom inline) create class-like metadata (using Inlines). Trying to inherit/implement them in WS-code will fail, but they are perfect for defining mixins in WIG, and translation will use the inline correctly if you call the member through the interface.
  • github

    This topic has been closed.