[Wasm] Fix type parameters with external upper-bounds.

`klass.isExternal` was never reachable for type parameters
because of klass != null check
This commit is contained in:
Svyatoslav Kuzmich
2021-11-11 17:06:29 +03:00
parent 9826984c4a
commit 91ea3738b4
@@ -96,12 +96,12 @@ class WasmTypeTransformer(
error("Void type can't be used as a value")
else -> {
val klass = this.getClass()
val klass = this.erasedUpperBound ?: builtIns.anyClass.owner
val ic = context.backendContext.inlineClassesUtils.getInlinedClass(this)
if (klass != null && klass.isExternal) {
if (klass.isExternal) {
WasmAnyRef
} else if (klass != null && isBuiltInWasmRefType(this)) {
} else if (isBuiltInWasmRefType(this)) {
when (val name = klass.name.identifier) {
"anyref" -> WasmAnyRef
"eqref" -> WasmEqRef