JVM_IR KT-46578 resolve fake overrides for fields
This commit is contained in:
committed by
teamcityserver
parent
a255f44d6e
commit
d1322280dd
+46
@@ -40279,6 +40279,52 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
|||||||
public void testSyntheticAccessorNames() throws Exception {
|
public void testSyntheticAccessorNames() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Kt46578 {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_anonObject.kt")
|
||||||
|
public void testKt46578_anonObject() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_anonObject.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_delegated.kt")
|
||||||
|
public void testKt46578_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_kotlin_delegated.kt")
|
||||||
|
public void testKt46578_kotlin_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_kotlin_propertyRef.kt")
|
||||||
|
public void testKt46578_kotlin_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_propertyRef.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_lambda.kt")
|
||||||
|
public void testKt46578_lambda() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_lambda.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_propertyRef.kt")
|
||||||
|
public void testKt46578_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_propertyRef.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
|
|||||||
+36
-8
@@ -232,11 +232,11 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
|
|||||||
|
|
||||||
override fun visitGetField(expression: IrGetField): IrExpression {
|
override fun visitGetField(expression: IrGetField): IrExpression {
|
||||||
val dispatchReceiverType = expression.receiver?.type
|
val dispatchReceiverType = expression.receiver?.type
|
||||||
|
val dispatchReceiverClassSymbol = dispatchReceiverType?.classifierOrNull as? IrClassSymbol
|
||||||
return super.visitExpression(
|
return super.visitExpression(
|
||||||
if (!expression.symbol.isAccessible(false, dispatchReceiverType?.classifierOrNull as? IrClassSymbol)) {
|
if (!expression.symbol.isAccessible(false, dispatchReceiverClassSymbol)) {
|
||||||
val symbol = expression.symbol
|
val symbol = expression.symbol
|
||||||
val parent =
|
val parent = symbol.owner.accessorParent(dispatchReceiverClassSymbol?.owner ?: symbol.owner.parent) as IrClass
|
||||||
symbol.owner.accessorParent(dispatchReceiverType?.classOrNull?.owner ?: symbol.owner.parent) as IrClass
|
|
||||||
modifyGetterExpression(
|
modifyGetterExpression(
|
||||||
expression,
|
expression,
|
||||||
getterMap.getOrPut(FieldKey(symbol, parent, expression.superQualifierSymbol)) {
|
getterMap.getOrPut(FieldKey(symbol, parent, expression.superQualifierSymbol)) {
|
||||||
@@ -251,11 +251,11 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
|
|||||||
|
|
||||||
override fun visitSetField(expression: IrSetField): IrExpression {
|
override fun visitSetField(expression: IrSetField): IrExpression {
|
||||||
val dispatchReceiverType = expression.receiver?.type
|
val dispatchReceiverType = expression.receiver?.type
|
||||||
|
val dispatchReceiverClassSymbol = dispatchReceiverType?.classifierOrNull as? IrClassSymbol
|
||||||
return super.visitExpression(
|
return super.visitExpression(
|
||||||
if (!expression.symbol.isAccessible(false, dispatchReceiverType?.classifierOrNull as? IrClassSymbol)) {
|
if (!expression.symbol.isAccessible(false, dispatchReceiverClassSymbol)) {
|
||||||
val symbol = expression.symbol
|
val symbol = expression.symbol
|
||||||
val parent =
|
val parent = symbol.owner.accessorParent(dispatchReceiverClassSymbol?.owner ?: symbol.owner.parent) as IrClass
|
||||||
symbol.owner.accessorParent(dispatchReceiverType?.classOrNull?.owner ?: symbol.owner.parent) as IrClass
|
|
||||||
modifySetterExpression(
|
modifySetterExpression(
|
||||||
expression,
|
expression,
|
||||||
setterMap.getOrPut(FieldKey(symbol, parent, expression.superQualifierSymbol)) {
|
setterMap.getOrPut(FieldKey(symbol, parent, expression.superQualifierSymbol)) {
|
||||||
@@ -725,8 +725,26 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
|
|||||||
if (symbolOwner is IrConstructor && symbolOwner.parentClassOrNull?.isEnumEntry == true)
|
if (symbolOwner is IrConstructor && symbolOwner.parentClassOrNull?.isEnumEntry == true)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
val declaration =
|
val declaration = when (declarationRaw) {
|
||||||
(declarationRaw as? IrSimpleFunction)?.resolveFakeOverride(allowAbstract = true) ?: declarationRaw
|
is IrSimpleFunction ->
|
||||||
|
declarationRaw.resolveFakeOverride(allowAbstract = true)
|
||||||
|
?: declarationRaw
|
||||||
|
is IrField -> {
|
||||||
|
val correspondingProperty = declarationRaw.correspondingPropertySymbol?.owner
|
||||||
|
if (correspondingProperty != null && correspondingProperty.isFakeOverride) {
|
||||||
|
val realProperty = correspondingProperty.resolveFakeOverrideForProperty()
|
||||||
|
realProperty.backingField
|
||||||
|
?: throw AssertionError(
|
||||||
|
"Fake override property ${correspondingProperty.render()} with backing field " +
|
||||||
|
"overrides a real property with no backing field: ${realProperty.render()}"
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
declarationRaw
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else ->
|
||||||
|
declarationRaw
|
||||||
|
}
|
||||||
|
|
||||||
// If local variables are accessible by Kotlin rules, they also are by Java rules.
|
// If local variables are accessible by Kotlin rules, they also are by Java rules.
|
||||||
val ownerClass = declaration.parent as? IrClass ?: return true
|
val ownerClass = declaration.parent as? IrClass ?: return true
|
||||||
@@ -747,6 +765,16 @@ internal class SyntheticAccessorLowering(val context: JvmBackendContext) : IrEle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun IrProperty.resolveFakeOverrideForProperty(): IrProperty {
|
||||||
|
if (!isFakeOverride) return this
|
||||||
|
|
||||||
|
return this.overriddenSymbols
|
||||||
|
.map { it.owner }
|
||||||
|
.collectAndFilterRealOverrides()
|
||||||
|
.firstOrNull() as? IrProperty
|
||||||
|
?: throw AssertionError("No real override for ${this.render()}")
|
||||||
|
}
|
||||||
|
|
||||||
private class OuterClassInfo(val outerClass: IrClass, val throughCrossinlineLambda: Boolean)
|
private class OuterClassInfo(val outerClass: IrClass, val throughCrossinlineLambda: Boolean)
|
||||||
|
|
||||||
private fun getOuterClassInfo(): OuterClassInfo? {
|
private fun getOuterClassInfo(): OuterClassInfo? {
|
||||||
|
|||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// WITH_RUNTIME
|
||||||
|
|
||||||
|
// FILE: kt46578_anonObject.kt
|
||||||
|
import p.*
|
||||||
|
|
||||||
|
class Derived : Base() {
|
||||||
|
init {
|
||||||
|
javaProtectedField = "OK"
|
||||||
|
}
|
||||||
|
val anonObject = object {
|
||||||
|
override fun toString(): String =
|
||||||
|
javaProtectedField
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return Derived().anonObject.toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: p/Base.java
|
||||||
|
package p;
|
||||||
|
|
||||||
|
public class Base {
|
||||||
|
protected String javaProtectedField;
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
|
// ^ ::jpf is incorrectly represented as a reference to Base::jpf (should be: reference to fake override in Derived)
|
||||||
|
|
||||||
|
// FILE: kt46578_delegated.kt
|
||||||
|
import p.*
|
||||||
|
|
||||||
|
class Derived : Base() {
|
||||||
|
var delegated by ::jpf
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
val d = Derived()
|
||||||
|
d.delegated = "OK"
|
||||||
|
return d.delegated
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: p/Base.java
|
||||||
|
package p;
|
||||||
|
|
||||||
|
public class Base {
|
||||||
|
protected String jpf;
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// WITH_RUNTIME
|
||||||
|
|
||||||
|
// FILE: kt46578_kotlin_delegated.kt
|
||||||
|
import p.*
|
||||||
|
|
||||||
|
class Derived : Base() {
|
||||||
|
init {
|
||||||
|
pf = "OK"
|
||||||
|
}
|
||||||
|
val delegated by ::pf
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return Derived().delegated
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: p/Base.kt
|
||||||
|
package p
|
||||||
|
|
||||||
|
open class Base {
|
||||||
|
protected var pf = ""
|
||||||
|
}
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// WITH_RUNTIME
|
||||||
|
|
||||||
|
// FILE: kt46578_kotlin_propertyRef.kt
|
||||||
|
import p.*
|
||||||
|
|
||||||
|
class Derived : Base() {
|
||||||
|
init {
|
||||||
|
pf = "OK"
|
||||||
|
}
|
||||||
|
val ref = ::pf
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return Derived().ref.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: p/Base.kt
|
||||||
|
package p
|
||||||
|
|
||||||
|
open class Base {
|
||||||
|
protected var pf = ""
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// WITH_RUNTIME
|
||||||
|
|
||||||
|
// FILE: kt46578_lambda.kt
|
||||||
|
import p.*
|
||||||
|
|
||||||
|
class Derived : Base() {
|
||||||
|
init {
|
||||||
|
jpf = "OK"
|
||||||
|
}
|
||||||
|
val lambda = { jpf }
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return Derived().lambda()
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: p/Base.java
|
||||||
|
package p;
|
||||||
|
|
||||||
|
public class Base {
|
||||||
|
protected String jpf;
|
||||||
|
}
|
||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
// TARGET_BACKEND: JVM
|
||||||
|
// WITH_RUNTIME
|
||||||
|
// IGNORE_BACKEND_FIR: JVM_IR
|
||||||
|
// ^ ::jpf is incorrectly represented as a reference to Base::jpf (should be: reference to fake override in Derived)
|
||||||
|
|
||||||
|
// FILE: kt46578_propertyRef.kt
|
||||||
|
import p.*
|
||||||
|
|
||||||
|
class Derived : Base() {
|
||||||
|
init {
|
||||||
|
jpf = "OK"
|
||||||
|
}
|
||||||
|
val ref = ::jpf
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return Derived().ref.get()
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: p/Base.java
|
||||||
|
package p;
|
||||||
|
|
||||||
|
public class Base {
|
||||||
|
protected String jpf;
|
||||||
|
}
|
||||||
+46
@@ -40255,6 +40255,52 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
public void testSyntheticAccessorNames() throws Exception {
|
public void testSyntheticAccessorNames() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Kt46578 {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_anonObject.kt")
|
||||||
|
public void testKt46578_anonObject() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_anonObject.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_delegated.kt")
|
||||||
|
public void testKt46578_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_kotlin_delegated.kt")
|
||||||
|
public void testKt46578_kotlin_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_kotlin_propertyRef.kt")
|
||||||
|
public void testKt46578_kotlin_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_propertyRef.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_lambda.kt")
|
||||||
|
public void testKt46578_lambda() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_lambda.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_propertyRef.kt")
|
||||||
|
public void testKt46578_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_propertyRef.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
|
|||||||
+46
@@ -40279,6 +40279,52 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
|||||||
public void testSyntheticAccessorNames() throws Exception {
|
public void testSyntheticAccessorNames() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class Kt46578 {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_anonObject.kt")
|
||||||
|
public void testKt46578_anonObject() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_anonObject.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_delegated.kt")
|
||||||
|
public void testKt46578_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_kotlin_delegated.kt")
|
||||||
|
public void testKt46578_kotlin_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_kotlin_propertyRef.kt")
|
||||||
|
public void testKt46578_kotlin_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_propertyRef.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_lambda.kt")
|
||||||
|
public void testKt46578_lambda() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_lambda.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kt46578_propertyRef.kt")
|
||||||
|
public void testKt46578_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_propertyRef.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
|
|||||||
+43
@@ -32275,6 +32275,49 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
|||||||
public void testSyntheticAccessorNames() throws Exception {
|
public void testSyntheticAccessorNames() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/syntheticAccessorNames.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Kt46578 extends AbstractLightAnalysisModeTest {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt46578_anonObject.kt")
|
||||||
|
public void testKt46578_anonObject() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_anonObject.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt46578_delegated.kt")
|
||||||
|
public void testKt46578_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt46578_kotlin_delegated.kt")
|
||||||
|
public void testKt46578_kotlin_delegated() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_delegated.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt46578_kotlin_propertyRef.kt")
|
||||||
|
public void testKt46578_kotlin_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_kotlin_propertyRef.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt46578_lambda.kt")
|
||||||
|
public void testKt46578_lambda() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_lambda.kt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("kt46578_propertyRef.kt")
|
||||||
|
public void testKt46578_propertyRef() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/box/syntheticAccessors/kt46578/kt46578_propertyRef.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
||||||
|
|||||||
js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java
Generated
+13
@@ -27115,6 +27115,19 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
|
|||||||
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Kt46578 extends AbstractIrJsCodegenBoxES6Test {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS_IR_ES6, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
||||||
|
|||||||
Generated
+13
@@ -26521,6 +26521,19 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
|||||||
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Kt46578 extends AbstractIrJsCodegenBoxTest {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS_IR, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
||||||
|
|||||||
Generated
+13
@@ -26481,6 +26481,19 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
|||||||
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Kt46578 extends AbstractJsCodegenBoxTest {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest0(this::doTest, TargetBackend.JS, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
||||||
|
|||||||
js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java
Generated
+13
@@ -14777,6 +14777,19 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
|
|||||||
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
public void testSuperCallFromMultipleSubclasses() throws Exception {
|
||||||
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
runTest("compiler/testData/codegen/box/syntheticAccessors/superCallFromMultipleSubclasses.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/syntheticAccessors/kt46578")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Kt46578 extends AbstractIrCodegenBoxWasmTest {
|
||||||
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
|
KotlinTestUtils.runTest0(this::doTest, TargetBackend.WASM, testDataFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAllFilesPresentInKt46578() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/syntheticAccessors/kt46578"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
@TestMetadata("compiler/testData/codegen/box/syntheticExtensions")
|
||||||
|
|||||||
Reference in New Issue
Block a user