Add tests for Java synthetic properties in external dependencies
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
// !DUMP_DEPENDENCIES
|
||||
// FILE: javaSyntheticProperty.kt
|
||||
val test = J().foo
|
||||
|
||||
// FILE: J.java
|
||||
class J {
|
||||
public String getFoo() { return null; }
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
FILE fqName:<root> fileName:/javaSyntheticProperty.kt
|
||||
PROPERTY name:test visibility:public modality:FINAL flags:val
|
||||
FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.String? visibility:public flags:final
|
||||
EXPRESSION_BODY
|
||||
CALL '<get-foo>() on J: String!' type=kotlin.String? origin=GET_PROPERTY
|
||||
$receiver: CALL 'constructor J()' type=J origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> () returnType:kotlin.String? flags:
|
||||
correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:val
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-test>(): String!'
|
||||
GET_FIELD 'test: String!' type=kotlin.String? origin=null
|
||||
+15288
File diff suppressed because it is too large
Load Diff
+51636
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,20 @@
|
||||
MODULE_FRAGMENT name:<test-module>
|
||||
EXTERNAL_PACKAGE_FRAGMENT fqName:<root>
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J modality:OPEN visibility:public/*package*/ flags: superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<this> type:J flags:
|
||||
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public/*package*/ <> () returnType:J flags:primary
|
||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
|
||||
$this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<this> type:kotlin.Any flags:
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
|
||||
$this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<this> type:kotlin.Any flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
|
||||
$this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<this> type:kotlin.Any flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:getFoo visibility:public modality:OPEN <> ($this:J) returnType:kotlin.String? flags:
|
||||
$this: VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:<this> type:J flags:
|
||||
@@ -0,0 +1,2 @@
|
||||
// !DUMP_DEPENDENCIES
|
||||
val Class<*>.test get() = this.declaredFields
|
||||
@@ -0,0 +1,10 @@
|
||||
FILE fqName:<root> fileName:/jdkClassSyntheticProperty.kt
|
||||
PROPERTY name:test visibility:public modality:FINAL flags:val
|
||||
FUN name:<get-test> visibility:public modality:FINAL <> ($receiver:java.lang.Class<*>) returnType:kotlin.Array<out java.lang.reflect.Field!>? flags:
|
||||
correspondingProperty: PROPERTY name:test visibility:public modality:FINAL flags:val
|
||||
$receiver: VALUE_PARAMETER name:<this> type:java.lang.Class<*> flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-test>() on Class<*>: Array<(out) Field!>!'
|
||||
CALL '<get-declaredFields>() on Class<out Any!>: Array<(out) Field!>!' type=kotlin.Array<out java.lang.reflect.Field!>? origin=GET_PROPERTY
|
||||
<`0>: kotlin.Any?
|
||||
$receiver: GET_VAR 'this@test: Class<*>' type=java.lang.Class<*> origin=null
|
||||
+14522
File diff suppressed because it is too large
Load Diff
+47770
File diff suppressed because it is too large
Load Diff
@@ -1385,6 +1385,16 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
|
||||
runTest("compiler/testData/ir/irText/stubs/javaStaticMethod.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("javaSyntheticProperty.kt")
|
||||
public void testJavaSyntheticProperty() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/stubs/javaSyntheticProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("jdkClassSyntheticProperty.kt")
|
||||
public void testJdkClassSyntheticProperty() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/stubs/jdkClassSyntheticProperty.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kotlinInnerClass.kt")
|
||||
public void testKotlinInnerClass() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/stubs/kotlinInnerClass.kt");
|
||||
|
||||
Reference in New Issue
Block a user