From de1befcc1dacfe0ccec66a6e8196dd6202bac02e Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Tue, 12 Jan 2021 22:10:14 +0100 Subject: [PATCH] Make interfaces castable to java/lang/Object --- src/de/inetsoftware/jwebassembly/module/TypeManager.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/de/inetsoftware/jwebassembly/module/TypeManager.java b/src/de/inetsoftware/jwebassembly/module/TypeManager.java index 4f75378..938be36 100644 --- a/src/de/inetsoftware/jwebassembly/module/TypeManager.java +++ b/src/de/inetsoftware/jwebassembly/module/TypeManager.java @@ -654,6 +654,9 @@ public class TypeManager { // interface does not need to resolve if( classFile.getType() == Type.Interface ) { + // to make it possible to cast an interface to java/lang/Object it must have the same fileds also if we never create an instance + fields.add( new NamedStorageType( ValueType.i32, className, FIELD_VTABLE ) ); + fields.add( new NamedStorageType( ValueType.i32, className, FIELD_HASHCODE ) ); return; }