Raw FIR/LT: use similar sources for delegated constructor calls
After this commit all IR source range tests behave in the same way for FIR/PSI and FIR/LT, test data is now consistent
This commit is contained in:
committed by
Space Team
parent
4ed6ece78b
commit
9d3bf69212
+3
-1
@@ -920,7 +920,9 @@ class LightTreeRawFirDeclarationBuilder(
|
||||
arguments: List<FirExpression>,
|
||||
): FirDelegatedConstructorCall {
|
||||
return buildDelegatedConstructorCall {
|
||||
source = delegatedConstructorSource ?: selfTypeSource?.fakeElement(KtFakeSourceElementKind.DelegatingConstructorCall)
|
||||
source = delegatedConstructorSource
|
||||
?: primaryConstructor?.toFirSourceElement(KtFakeSourceElementKind.DelegatingConstructorCall)
|
||||
?: selfTypeSource?.fakeElement(KtFakeSourceElementKind.DelegatingConstructorCall)
|
||||
constructedTypeRef = delegatedSuperTypeRef.copyWithNewSourceKind(KtFakeSourceElementKind.ImplicitTypeRef)
|
||||
isThis = false
|
||||
calleeReference = buildExplicitSuperReference {
|
||||
|
||||
+4
-5
@@ -1,13 +1,12 @@
|
||||
// COMPARE_WITH_LIGHT_TREE
|
||||
// ISSUE: KT-40851
|
||||
|
||||
fun error(): Nothing = throw Exception()
|
||||
|
||||
<!UNREACHABLE_CODE{LT}!>class Some<!UNREACHABLE_CODE{PSI}!>()<!> {
|
||||
class Some<!UNREACHABLE_CODE!>()<!> {
|
||||
var x: Int
|
||||
val y: Int =<!> error()
|
||||
val y: Int = error()
|
||||
|
||||
<!UNREACHABLE_CODE{LT}!>init {
|
||||
init {
|
||||
<!UNREACHABLE_CODE!>x = 1<!>;
|
||||
}
|
||||
}<!>
|
||||
}
|
||||
|
||||
Vendored
-1
@@ -1,4 +1,3 @@
|
||||
// COMPARE_WITH_LIGHT_TREE
|
||||
// ISSUE: KT-40851
|
||||
|
||||
fun error(): Nothing = throw Exception()
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
@1:38..63 CONSTRUCTOR visibility:public <> (description:kotlin.String) returnType:<root>.MyAnnotation [primary]
|
||||
@1:39..62 VALUE_PARAMETER name:description index:0 type:kotlin.String
|
||||
@1:38..63 BLOCK_BODY
|
||||
@0:0..1:63 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@1:38..63 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@1:38..63 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:MyAnnotation modality:OPEN visibility:internal superTypes:[kotlin.Annotation]'
|
||||
@1:39..62 PROPERTY name:description visibility:public modality:FINAL [val]
|
||||
@1:39..62 FIELD PROPERTY_BACKING_FIELD name:description type:kotlin.String visibility:private [final]
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
@8:52..79 VALUE_PARAMETER name:<this> type:<root>.Foo
|
||||
@8:72..78 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@8:52..79 BLOCK_BODY
|
||||
@8:4..10:36 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@8:52..79 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@8:52..79 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
|
||||
@-1:-1..-1 FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||
@-1:-1..-1 VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@0:20..2:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test1 [primary]
|
||||
@1:4..14 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@0:20..2:1 BLOCK_BODY
|
||||
@0:0..3:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@0:20..2:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@0:20..2:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
|
||||
@1:4..14 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@1:4..14 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
@@ -27,7 +27,7 @@
|
||||
@7:11..9:1 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test2 [primary]
|
||||
@8:4..14 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@7:11..9:1 BLOCK_BODY
|
||||
@5:0..14:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@7:11..9:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@7:11..9:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
|
||||
@8:4..14 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@8:4..14 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
@@ -44,7 +44,7 @@
|
||||
@11:19..13:5 VALUE_PARAMETER name:<this> type:<root>.Test2
|
||||
@12:8..18 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@11:19..13:5 BLOCK_BODY
|
||||
@10:4..13:5 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@11:19..13:5 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@11:19..13:5 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
|
||||
@12:8..18 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@12:8..18 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@0:11..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test1 [primary]
|
||||
@0:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@0:11..23 BLOCK_BODY
|
||||
@0:0..23 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@0:11..23 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@0:11..23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
@0:12..22 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@0:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
@@ -27,7 +27,7 @@
|
||||
@3:0..32 CONSTRUCTOR visibility:internal <> (x:kotlin.Int) returnType:<root>.Test2 [primary]
|
||||
@3:21..31 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@3:0..32 BLOCK_BODY
|
||||
@2:0..3:32 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@3:0..32 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@3:0..32 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
@3:21..31 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@3:21..31 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
@@ -51,7 +51,7 @@
|
||||
@9:0..23 CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test3 [primary]
|
||||
@9:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@9:0..23 BLOCK_BODY
|
||||
@5:0..9:23 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@9:0..23 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@9:0..23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test3 modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
@9:12..22 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@9:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
@@ -79,7 +79,7 @@
|
||||
@12:10..27 CONST String type=kotlin.String value="UNUSED_VARIABLE"
|
||||
@13:12..22 VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
@12:0..13:23 BLOCK_BODY
|
||||
@11:0..13:23 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@12:0..13:23 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@12:0..13:23 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
@13:12..22 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@13:12..22 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
@2:8..21 VALUE_PARAMETER name:y index:1 type:kotlin.String
|
||||
@3:8..18 VALUE_PARAMETER name:z index:2 type:kotlin.Any
|
||||
@0:12..4:1 BLOCK_BODY
|
||||
@0:0..4:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@0:12..4:1 DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
@0:12..4:1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public [data] superTypes:[kotlin.Any]'
|
||||
@1:8..18 PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
@1:8..18 FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||
|
||||
@@ -253,16 +253,14 @@ public final class ListOfUsers : java/lang/Object {
|
||||
LDC (list)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (12)
|
||||
LINENUMBER (13)
|
||||
ALOAD (0)
|
||||
INVOKESPECIAL (java/lang/Object, <init>, ()V)
|
||||
LABEL (L2)
|
||||
LINENUMBER (13)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
PUTFIELD (ListOfUsers, list, Ljava/util/List;)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
LABEL (L2)
|
||||
}
|
||||
|
||||
public void <init>(int seen0, java.util.List list, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
|
||||
@@ -542,16 +540,14 @@ public final class OptionalUser : java/lang/Object {
|
||||
LDC (user)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (9)
|
||||
LINENUMBER (10)
|
||||
ALOAD (0)
|
||||
INVOKESPECIAL (java/lang/Object, <init>, ()V)
|
||||
LABEL (L2)
|
||||
LINENUMBER (10)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
PUTFIELD (OptionalUser, user, LUser;)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
LABEL (L2)
|
||||
}
|
||||
|
||||
public void <init>(User p0, int p1, kotlin.jvm.internal.DefaultConstructorMarker p2) {
|
||||
@@ -930,11 +926,9 @@ public final class User : java/lang/Object {
|
||||
LDC (lastName)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (6)
|
||||
LINENUMBER (7)
|
||||
ALOAD (0)
|
||||
INVOKESPECIAL (java/lang/Object, <init>, ()V)
|
||||
LABEL (L2)
|
||||
LINENUMBER (7)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
PUTFIELD (User, firstName, Ljava/lang/String;)
|
||||
@@ -942,7 +936,7 @@ public final class User : java/lang/Object {
|
||||
ALOAD (2)
|
||||
PUTFIELD (User, lastName, Ljava/lang/String;)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
LABEL (L2)
|
||||
}
|
||||
|
||||
public void <init>(int seen0, java.lang.String firstName, java.lang.String lastName, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
|
||||
|
||||
@@ -219,16 +219,14 @@ public final class Container : java/lang/Object {
|
||||
LDC (r)
|
||||
INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNullParameter, (Ljava/lang/Object;Ljava/lang/String;)V)
|
||||
LABEL (L1)
|
||||
LINENUMBER (18)
|
||||
LINENUMBER (19)
|
||||
ALOAD (0)
|
||||
INVOKESPECIAL (java/lang/Object, <init>, ()V)
|
||||
LABEL (L2)
|
||||
LINENUMBER (19)
|
||||
ALOAD (0)
|
||||
ALOAD (1)
|
||||
PUTFIELD (Container, r, LResult;)
|
||||
RETURN
|
||||
LABEL (L3)
|
||||
LABEL (L2)
|
||||
}
|
||||
|
||||
public void <init>(int seen0, Result r, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker) {
|
||||
|
||||
Reference in New Issue
Block a user