Skip to content

If a static property and an instance property are defined on the same type, the instance property is omitted #47

@niloc132

Description

@niloc132

(Discovered while testing #46)

Given this JS, the expected behavior presently is that _STATIC will be appended to the static version since these would otherwise collide. Instead, we see a few different behaviors, I can't yet explain what is happening here:

Example JS:

/**
 * @type {string}
 */
Foo.plainProperty;

/**
 * @type {string}
 */
Foo.prototype.plainProperty;

Resulting Java, with only one field and no _STATIC present on the static member:

  public static String plainProperty;

Example JS:

/**
 * @type {string|number}
 */
Foo.unionProperty;
/**
 * @type {string|number}
 */
Foo.prototype.unionProperty;

Resulting Java (union type omittied), correctly with two fields:

  @JsProperty(name = "unionProperty")
  public static Foo.StaticUnionPropertyUnionType unionProperty_STATIC;

  public Foo.UnionPropertyUnionType unionProperty;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions