Ensure that Decompiler and IDE agree on rendered function types with parameterized annotations
findDecompiledDeclaration.kt: Use same DescriptorRenderer options as Decompiler DescriptorRendererImpl.kt: not enforce different AnnotationArgumentsRenderingPolicy for function type annotations This will fix KTIJ-563 where rendered Descriptors are used as Keys for GOTO navigation into decompiled sources. ^KTIJ-563 fixed
This commit is contained in:
committed by
Space
parent
122d04b9fa
commit
dcda47b502
+15
-1
@@ -4,6 +4,8 @@ annotation class Ann3(val p: Int)
|
||||
annotation class Ann4
|
||||
annotation class Ann5
|
||||
annotation class Ann6
|
||||
annotation class Ann7(val p: Boolean = false)
|
||||
|
||||
|
||||
var v1: @Ann1(1, 2) String
|
||||
var v2: @Ann2 Int?
|
||||
@@ -11,6 +13,9 @@ var v3: @Ann3(0) (String, Int) -> Char
|
||||
var v4: @Ann4 X // currently annotations are lost for error types
|
||||
var v5: @Ann5() (String.() -> Unit)
|
||||
var v6: @Ann6() (() -> Unit)?
|
||||
fun f1(calculation: @Ann7 () -> Any)
|
||||
fun f2(calculation: @Ann7() () -> Any)
|
||||
fun f3(calculation: @Ann7(true) () -> Any)
|
||||
|
||||
//public final annotation class Ann1 : kotlin.Annotation defined in root package
|
||||
//public constructor Ann1(p1: kotlin.Int, p2: kotlin.Int) defined in Ann1
|
||||
@@ -27,9 +32,18 @@ var v6: @Ann6() (() -> Unit)?
|
||||
//public constructor Ann5() defined in Ann5
|
||||
//public final annotation class Ann6 : kotlin.Annotation defined in root package
|
||||
//public constructor Ann6() defined in Ann6
|
||||
//public final annotation class Ann7 : kotlin.Annotation defined in root package
|
||||
//public constructor Ann7(p: kotlin.Boolean = ...) defined in Ann7
|
||||
//value-parameter p: kotlin.Boolean = ... defined in Ann7.<init>
|
||||
//public var v1: @Ann1(p1 = 1, p2 = 2) kotlin.String defined in root package
|
||||
//public var v2: @Ann2 kotlin.Int? defined in root package
|
||||
//public var v3: @Ann3(p = 0) (kotlin.String, kotlin.Int) -> kotlin.Char defined in root package
|
||||
//public var v4: [ERROR : X] defined in root package
|
||||
//public var v5: @Ann5() (kotlin.String.() -> kotlin.Unit) defined in root package
|
||||
//public var v6: @Ann6() (() -> kotlin.Unit)? defined in root package
|
||||
//public var v6: @Ann6() (() -> kotlin.Unit)? defined in root package
|
||||
//public fun f1(calculation: @Ann7 () -> kotlin.Any): kotlin.Unit defined in root package
|
||||
//value-parameter calculation: @Ann7 () -> kotlin.Any defined in f1
|
||||
//public fun f2(calculation: @Ann7 () -> kotlin.Any): kotlin.Unit defined in root package
|
||||
//value-parameter calculation: @Ann7 () -> kotlin.Any defined in f2
|
||||
//public fun f3(calculation: @Ann7(p = true) () -> kotlin.Any): kotlin.Unit defined in root package
|
||||
//value-parameter calculation: @Ann7(p = true) () -> kotlin.Any defined in f3
|
||||
|
||||
Reference in New Issue
Block a user