[IR] Remove some descriptor usage from Common/JS/JVM backends
- replace descriptor-based builders with pure IR ones - fix matchers - fix Ir2Js - rewrite some inliner-helpers to pure-IR implementations
This commit is contained in:
+1
-1
@@ -36,7 +36,7 @@ private class VarargTransformer(
|
||||
|
||||
// TODO: Use symbols when builtins symbol table is fixes
|
||||
val primitiveType = context.intrinsics.primitiveArrays
|
||||
.mapKeys { it.key.descriptor }[type.classifierOrNull?.descriptor]
|
||||
.mapKeys { it.key }[type.classifierOrNull]
|
||||
|
||||
val intrinsic =
|
||||
if (primitiveType != null)
|
||||
|
||||
+2
-2
@@ -188,7 +188,7 @@ fun breakCrossModuleFieldAccess(
|
||||
|
||||
return expression.symbol.owner.transformAccess {
|
||||
val getter = getter()
|
||||
IrCallImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, getter.returnType, getter.symbol)
|
||||
IrCallImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, getter.returnType, getter.symbol, getter.typeParameters.size, getter.valueParameters.size)
|
||||
} ?: expression
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ fun breakCrossModuleFieldAccess(
|
||||
|
||||
return expression.symbol.owner.transformAccess {
|
||||
val setter = setter()
|
||||
IrCallImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, setter.returnType, setter.symbol).apply {
|
||||
IrCallImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, setter.returnType, setter.symbol, setter.typeParameters.size, setter.valueParameters.size).apply {
|
||||
putValueArgument(0, expression.value)
|
||||
}
|
||||
} ?: expression
|
||||
|
||||
Reference in New Issue
Block a user