Vertispan / jsinterop-ts-defs

Ingests jsinterop-annotated Java and generates TypeScript definitions
Apache License 2.0
7 stars 3 forks source link

Inheritance does check for super class descendant TsInterfaces #74

Closed vegegoku closed 1 year ago

vegegoku commented 1 year ago

Assume we have the following classes that inherit from each other :

@JsType
public class A extends B {

  public String propertyFromA;

  public String doSomethingFromA() {
    return "";
  }
}
public class B extends C {

    public String propertyFromB;

    public String doSomethingFromB(){
        return "";
    }
}
@TsInterface
@JsType
public class C {
  public String propertyFromC;

  public String doSomethingFromC() {
    return "";
  }
}

This will result in Class A in TS missing the inherited methods from Class C.

The expected behavior here is that B as not being exported to be ignored while all exportable members from C to be implemented by Class A.