diff --git a/jso/apis/src/main/java/org/teavm/jso/typedarrays/ArrayBufferView.java b/jso/apis/src/main/java/org/teavm/jso/typedarrays/ArrayBufferView.java index 2ade2c315..13430b96c 100644 --- a/jso/apis/src/main/java/org/teavm/jso/typedarrays/ArrayBufferView.java +++ b/jso/apis/src/main/java/org/teavm/jso/typedarrays/ArrayBufferView.java @@ -23,7 +23,7 @@ import org.teavm.jso.JSProperty; * @author Alexey Andreev */ public abstract class ArrayBufferView implements JSObject { - private ArrayBufferView() { + protected ArrayBufferView() { } @JSProperty diff --git a/jso/impl/src/main/java/org/teavm/jso/impl/JSClassProcessor.java b/jso/impl/src/main/java/org/teavm/jso/impl/JSClassProcessor.java index 0be68db1e..443c3664a 100644 --- a/jso/impl/src/main/java/org/teavm/jso/impl/JSClassProcessor.java +++ b/jso/impl/src/main/java/org/teavm/jso/impl/JSClassProcessor.java @@ -211,6 +211,9 @@ class JSClassProcessor { } private MethodReader findOverridenMethod(String className, MethodReader finalMethod) { + if (finalMethod.getName().equals("")) { + return null; + } return classSource.getAncestors(className) .skip(1) .map(cls -> cls.getMethod(finalMethod.getDescriptor())) diff --git a/jso/impl/src/main/java/org/teavm/jso/impl/JSDependencyListener.java b/jso/impl/src/main/java/org/teavm/jso/impl/JSDependencyListener.java index 56d79866c..78bdf59d1 100644 --- a/jso/impl/src/main/java/org/teavm/jso/impl/JSDependencyListener.java +++ b/jso/impl/src/main/java/org/teavm/jso/impl/JSDependencyListener.java @@ -111,6 +111,9 @@ class JSDependencyListener extends AbstractDependencyListener { } addInterfaces(exposedCls, cls); for (MethodReader method : cls.getMethods()) { + if (method.getName().equals("")) { + continue; + } if (exposedCls.inheritedMethods.containsKey(method.getDescriptor()) || exposedCls.methods.containsKey(method.getDescriptor())) { MethodDependency methodDep = agent.linkMethod(method.getReference(), null);