KT-43370 ACC_DEPRECATED on property accessors implemented by delegation
This commit is contained in:
+5
@@ -486,6 +486,11 @@ public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest {
|
|||||||
runTest("compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.kt");
|
runTest("compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inheritingDeprecation.kt")
|
||||||
|
public void testInheritingDeprecation() throws Exception {
|
||||||
|
runTest("compiler/testData/ir/irText/declarations/annotations/inheritingDeprecation.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("javaAnnotation.kt")
|
@TestMetadata("javaAnnotation.kt")
|
||||||
public void testJavaAnnotation() throws Exception {
|
public void testJavaAnnotation() throws Exception {
|
||||||
runTest("compiler/testData/ir/irText/declarations/annotations/javaAnnotation.kt");
|
runTest("compiler/testData/ir/irText/declarations/annotations/javaAnnotation.kt");
|
||||||
|
|||||||
+11
-1
@@ -354,7 +354,17 @@ val IrFunction.isSyntheticMethodForProperty: Boolean
|
|||||||
|
|
||||||
val IrFunction.isDeprecatedFunction: Boolean
|
val IrFunction.isDeprecatedFunction: Boolean
|
||||||
get() = isSyntheticMethodForProperty || isDeprecatedCallable ||
|
get() = isSyntheticMethodForProperty || isDeprecatedCallable ||
|
||||||
(this as? IrSimpleFunction)?.correspondingPropertySymbol?.owner?.isDeprecatedCallable == true
|
(this as? IrSimpleFunction)?.correspondingPropertySymbol?.owner?.isDeprecatedCallable == true ||
|
||||||
|
isAccessorForDeprecatedPropertyImplementedByDelegation
|
||||||
|
|
||||||
|
private val IrFunction.isAccessorForDeprecatedPropertyImplementedByDelegation: Boolean
|
||||||
|
get() =
|
||||||
|
origin == IrDeclarationOrigin.DELEGATED_MEMBER &&
|
||||||
|
this is IrSimpleFunction &&
|
||||||
|
correspondingPropertySymbol != null &&
|
||||||
|
overriddenSymbols.any {
|
||||||
|
it.owner.correspondingPropertySymbol?.owner?.isDeprecatedCallable == true
|
||||||
|
}
|
||||||
|
|
||||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||||
val IrDeclaration.psiElement: PsiElement?
|
val IrDeclaration.psiElement: PsiElement?
|
||||||
|
|||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
interface IFoo {
|
||||||
|
@Deprecated("")
|
||||||
|
val prop: String get() = ""
|
||||||
|
|
||||||
|
@Deprecated("")
|
||||||
|
val String.extProp: String get() = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
interface IFoo2 : IFoo
|
||||||
|
|
||||||
|
class Delegated(foo: IFoo) : IFoo by foo
|
||||||
|
|
||||||
|
class Delegated2(foo2: IFoo2) : IFoo2 by foo2
|
||||||
|
|
||||||
|
class DefaultImpl : IFoo
|
||||||
|
|
||||||
|
class DefaultImpl2 : IFoo2
|
||||||
|
|
||||||
|
class ExplicitOverride : IFoo {
|
||||||
|
override val prop: String get() = ""
|
||||||
|
override val String.extProp: String get() = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
class ExplicitOverride2 : IFoo2 {
|
||||||
|
override val prop: String get() = ""
|
||||||
|
override val String.extProp: String get() = ""
|
||||||
|
}
|
||||||
+81
@@ -0,0 +1,81 @@
|
|||||||
|
@kotlin.Metadata
|
||||||
|
public final class DefaultImpl {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public method <init>(): void
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class DefaultImpl2 {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public method <init>(): void
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class Delegated {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
private synthetic final field $$delegate_0: IFoo
|
||||||
|
public method <init>(@org.jetbrains.annotations.NotNull p0: IFoo): void
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class Delegated2 {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
private synthetic final field $$delegate_0: IFoo2
|
||||||
|
public method <init>(@org.jetbrains.annotations.NotNull p0: IFoo2): void
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String
|
||||||
|
public deprecated @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class ExplicitOverride {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public method <init>(): void
|
||||||
|
public @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String
|
||||||
|
public @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class ExplicitOverride2 {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public method <init>(): void
|
||||||
|
public @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String
|
||||||
|
public @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class IFoo$DefaultImpls {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public synthetic deprecated static @kotlin.Deprecated method getExtProp$annotations(p0: java.lang.String): void
|
||||||
|
public deprecated static @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: IFoo, @org.jetbrains.annotations.NotNull p1: java.lang.String): java.lang.String
|
||||||
|
public synthetic deprecated static @kotlin.Deprecated method getProp$annotations(): void
|
||||||
|
public deprecated static @org.jetbrains.annotations.NotNull method getProp(@org.jetbrains.annotations.NotNull p0: IFoo): java.lang.String
|
||||||
|
public final inner class IFoo$DefaultImpls
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public interface IFoo {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public deprecated abstract @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String
|
||||||
|
public deprecated abstract @org.jetbrains.annotations.NotNull method getProp(): java.lang.String
|
||||||
|
public final inner class IFoo$DefaultImpls
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class IFoo2$DefaultImpls {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public deprecated static @org.jetbrains.annotations.NotNull method getExtProp(@org.jetbrains.annotations.NotNull p0: IFoo2, @org.jetbrains.annotations.NotNull p1: java.lang.String): java.lang.String
|
||||||
|
public deprecated static @org.jetbrains.annotations.NotNull method getProp(@org.jetbrains.annotations.NotNull p0: IFoo2): java.lang.String
|
||||||
|
public final inner class IFoo2$DefaultImpls
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public interface IFoo2 {
|
||||||
|
// source: 'inheritingDeprecation.kt'
|
||||||
|
public final inner class IFoo2$DefaultImpls
|
||||||
|
}
|
||||||
+153
@@ -0,0 +1,153 @@
|
|||||||
|
FILE fqName:<root> fileName:/inheritingDeprecation.kt
|
||||||
|
CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IFoo
|
||||||
|
PROPERTY name:prop visibility:public modality:OPEN [val]
|
||||||
|
annotations:
|
||||||
|
Deprecated(message = '', replaceWith = <null>, level = <null>)
|
||||||
|
FUN name:<get-prop> visibility:public modality:OPEN <> ($this:<root>.IFoo) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:prop visibility:public modality:OPEN [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-prop> (): kotlin.String declared in <root>.IFoo'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
PROPERTY name:extProp visibility:public modality:OPEN [val]
|
||||||
|
annotations:
|
||||||
|
Deprecated(message = '', replaceWith = <null>, level = <null>)
|
||||||
|
FUN name:<get-extProp> visibility:public modality:OPEN <> ($this:<root>.IFoo, $receiver:kotlin.String) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:extProp visibility:public modality:OPEN [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:Delegated modality:FINAL visibility:public superTypes:[<root>.IFoo]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Delegated
|
||||||
|
CONSTRUCTOR visibility:public <> (foo:<root>.IFoo) returnType:<root>.Delegated [primary]
|
||||||
|
VALUE_PARAMETER name:foo index:0 type:<root>.IFoo
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegated modality:FINAL visibility:public superTypes:[<root>.IFoo]'
|
||||||
|
SET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.IFoo visibility:local [final]' type=kotlin.Unit origin=EQ
|
||||||
|
receiver: GET_VAR '<this>: <root>.Delegated declared in <root>.Delegated' type=<root>.Delegated origin=null
|
||||||
|
value: GET_VAR 'foo: <root>.IFoo declared in <root>.Delegated.<init>' type=<root>.IFoo origin=null
|
||||||
|
PROPERTY DELEGATED_MEMBER name:prop visibility:public modality:OPEN [val]
|
||||||
|
FUN DELEGATED_MEMBER name:<get-prop> visibility:public modality:OPEN <> ($this:<root>.Delegated) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY DELEGATED_MEMBER name:prop visibility:public modality:OPEN [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-prop> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Delegated
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-prop> (): kotlin.String declared in <root>.Delegated'
|
||||||
|
CALL 'public open fun <get-prop> (): kotlin.String declared in <root>.IFoo' type=kotlin.String origin=null
|
||||||
|
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.IFoo visibility:local [final]' type=<root>.IFoo origin=null
|
||||||
|
receiver: GET_VAR '<this>: <root>.Delegated declared in <root>.Delegated.<get-prop>' type=<root>.Delegated origin=null
|
||||||
|
PROPERTY DELEGATED_MEMBER name:extProp visibility:public modality:OPEN [val]
|
||||||
|
FUN DELEGATED_MEMBER name:<get-extProp> visibility:public modality:OPEN <> ($this:<root>.Delegated, $receiver:kotlin.String) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY DELEGATED_MEMBER name:extProp visibility:public modality:OPEN [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Delegated
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-extProp> (): kotlin.String declared in <root>.Delegated'
|
||||||
|
CALL 'public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo' type=kotlin.String origin=null
|
||||||
|
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.IFoo visibility:local [final]' type=<root>.IFoo origin=null
|
||||||
|
receiver: GET_VAR '<this>: <root>.Delegated declared in <root>.Delegated.<get-extProp>' type=<root>.Delegated origin=null
|
||||||
|
$receiver: GET_VAR '<this>: kotlin.String declared in <root>.Delegated.<get-extProp>' type=kotlin.String origin=null
|
||||||
|
FIELD DELEGATE name:<$$delegate_0> type:<root>.IFoo visibility:local [final]
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:DefaultImpl modality:FINAL visibility:public superTypes:[<root>.IFoo]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DefaultImpl
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.DefaultImpl [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DefaultImpl modality:FINAL visibility:public superTypes:[<root>.IFoo]'
|
||||||
|
PROPERTY FAKE_OVERRIDE name:prop visibility:public modality:OPEN [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-prop> visibility:public modality:OPEN <> ($this:<root>.IFoo) returnType:kotlin.String [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:prop visibility:public modality:OPEN [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-prop> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
PROPERTY FAKE_OVERRIDE name:extProp visibility:public modality:OPEN [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-extProp> visibility:public modality:OPEN <> ($this:<root>.IFoo, $receiver:kotlin.String) returnType:kotlin.String [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:extProp visibility:public modality:OPEN [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:ExplicitOverride modality:FINAL visibility:public superTypes:[<root>.IFoo]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.ExplicitOverride
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.ExplicitOverride [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ExplicitOverride modality:FINAL visibility:public superTypes:[<root>.IFoo]'
|
||||||
|
PROPERTY name:prop visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-prop> visibility:public modality:FINAL <> ($this:<root>.ExplicitOverride) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:prop visibility:public modality:FINAL [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-prop> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.ExplicitOverride
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-prop> (): kotlin.String declared in <root>.ExplicitOverride'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
PROPERTY name:extProp visibility:public modality:FINAL [val]
|
||||||
|
FUN name:<get-extProp> visibility:public modality:FINAL <> ($this:<root>.ExplicitOverride, $receiver:kotlin.String) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:extProp visibility:public modality:FINAL [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.ExplicitOverride
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public final fun <get-extProp> (): kotlin.String declared in <root>.ExplicitOverride'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
interface IFoo {
|
||||||
|
@Deprecated("")
|
||||||
|
val prop: String get() = ""
|
||||||
|
|
||||||
|
@Deprecated("")
|
||||||
|
val String.extProp: String get() = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
class Delegated(foo: IFoo) : IFoo by foo
|
||||||
|
|
||||||
|
class DefaultImpl : IFoo
|
||||||
|
|
||||||
|
class ExplicitOverride : IFoo {
|
||||||
|
override val prop: String get() = ""
|
||||||
|
override val String.extProp: String get() = ""
|
||||||
|
}
|
||||||
+156
@@ -0,0 +1,156 @@
|
|||||||
|
FILE fqName:<root> fileName:/inheritingDeprecation.kt
|
||||||
|
CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IFoo
|
||||||
|
PROPERTY name:prop visibility:public modality:OPEN [val]
|
||||||
|
annotations:
|
||||||
|
Deprecated(message = '', replaceWith = <null>, level = <null>)
|
||||||
|
FUN name:<get-prop> visibility:public modality:OPEN <> ($this:<root>.IFoo) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:prop visibility:public modality:OPEN [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-prop> (): kotlin.String declared in <root>.IFoo'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
PROPERTY name:extProp visibility:public modality:OPEN [val]
|
||||||
|
annotations:
|
||||||
|
Deprecated(message = '', replaceWith = <null>, level = <null>)
|
||||||
|
FUN name:<get-extProp> visibility:public modality:OPEN <> ($this:<root>.IFoo, $receiver:kotlin.String) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:extProp visibility:public modality:OPEN [val]
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:Delegated modality:FINAL visibility:public superTypes:[<root>.IFoo]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Delegated
|
||||||
|
CONSTRUCTOR visibility:public <> (foo:<root>.IFoo) returnType:<root>.Delegated [primary]
|
||||||
|
VALUE_PARAMETER name:foo index:0 type:<root>.IFoo
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegated modality:FINAL visibility:public superTypes:[<root>.IFoo]'
|
||||||
|
FIELD DELEGATE name:$$delegate_0 type:<root>.IFoo visibility:private [final]
|
||||||
|
EXPRESSION_BODY
|
||||||
|
GET_VAR 'foo: <root>.IFoo declared in <root>.Delegated.<init>' type=<root>.IFoo origin=null
|
||||||
|
PROPERTY DELEGATED_MEMBER name:extProp visibility:public modality:OPEN [val]
|
||||||
|
FUN DELEGATED_MEMBER name:<get-extProp> visibility:public modality:OPEN <> ($this:<root>.Delegated, $receiver:kotlin.String) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY DELEGATED_MEMBER name:extProp visibility:public modality:OPEN [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Delegated
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-extProp> (): kotlin.String declared in <root>.Delegated'
|
||||||
|
CALL 'public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo' type=kotlin.String origin=null
|
||||||
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.IFoo visibility:private [final]' type=<root>.IFoo origin=null
|
||||||
|
receiver: GET_VAR '<this>: <root>.Delegated declared in <root>.Delegated.<get-extProp>' type=<root>.Delegated origin=null
|
||||||
|
$receiver: GET_VAR '<this>: kotlin.String declared in <root>.Delegated.<get-extProp>' type=kotlin.String origin=null
|
||||||
|
PROPERTY DELEGATED_MEMBER name:prop visibility:public modality:OPEN [val]
|
||||||
|
FUN DELEGATED_MEMBER name:<get-prop> visibility:public modality:OPEN <> ($this:<root>.Delegated) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY DELEGATED_MEMBER name:prop visibility:public modality:OPEN [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-prop> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Delegated
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-prop> (): kotlin.String declared in <root>.Delegated'
|
||||||
|
CALL 'public open fun <get-prop> (): kotlin.String declared in <root>.IFoo' type=kotlin.String origin=null
|
||||||
|
$this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:<root>.IFoo visibility:private [final]' type=<root>.IFoo origin=null
|
||||||
|
receiver: GET_VAR '<this>: <root>.Delegated declared in <root>.Delegated.<get-prop>' type=<root>.Delegated origin=null
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int [fake_override] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String [fake_override] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:DefaultImpl modality:FINAL visibility:public superTypes:[<root>.IFoo]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DefaultImpl
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.DefaultImpl [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DefaultImpl modality:FINAL visibility:public superTypes:[<root>.IFoo]'
|
||||||
|
PROPERTY FAKE_OVERRIDE name:extProp visibility:public modality:OPEN [fake_override,val]
|
||||||
|
annotations:
|
||||||
|
Deprecated(message = '', replaceWith = <null>, level = <null>)
|
||||||
|
FUN FAKE_OVERRIDE name:<get-extProp> visibility:public modality:OPEN <> ($this:<root>.IFoo, $receiver:kotlin.String) returnType:kotlin.String [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:extProp visibility:public modality:OPEN [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
PROPERTY FAKE_OVERRIDE name:prop visibility:public modality:OPEN [fake_override,val]
|
||||||
|
annotations:
|
||||||
|
Deprecated(message = '', replaceWith = <null>, level = <null>)
|
||||||
|
FUN FAKE_OVERRIDE name:<get-prop> visibility:public modality:OPEN <> ($this:<root>.IFoo) returnType:kotlin.String [fake_override]
|
||||||
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:prop visibility:public modality:OPEN [fake_override,val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-prop> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int [fake_override] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String [fake_override] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
CLASS CLASS name:ExplicitOverride modality:FINAL visibility:public superTypes:[<root>.IFoo]
|
||||||
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.ExplicitOverride
|
||||||
|
CONSTRUCTOR visibility:public <> () returnType:<root>.ExplicitOverride [primary]
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ExplicitOverride modality:FINAL visibility:public superTypes:[<root>.IFoo]'
|
||||||
|
PROPERTY name:prop visibility:public modality:OPEN [val]
|
||||||
|
FUN name:<get-prop> visibility:public modality:OPEN <> ($this:<root>.ExplicitOverride) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:prop visibility:public modality:OPEN [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-prop> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.ExplicitOverride
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-prop> (): kotlin.String declared in <root>.ExplicitOverride'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
PROPERTY name:extProp visibility:public modality:OPEN [val]
|
||||||
|
FUN name:<get-extProp> visibility:public modality:OPEN <> ($this:<root>.ExplicitOverride, $receiver:kotlin.String) returnType:kotlin.String
|
||||||
|
correspondingProperty: PROPERTY name:extProp visibility:public modality:OPEN [val]
|
||||||
|
overridden:
|
||||||
|
public open fun <get-extProp> (): kotlin.String declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.ExplicitOverride
|
||||||
|
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
|
||||||
|
BLOCK_BODY
|
||||||
|
RETURN type=kotlin.Nothing from='public open fun <get-extProp> (): kotlin.String declared in <root>.ExplicitOverride'
|
||||||
|
CONST String type=kotlin.String value=""
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun hashCode (): kotlin.Int [fake_override] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
||||||
|
overridden:
|
||||||
|
public open fun toString (): kotlin.String [fake_override] declared in <root>.IFoo
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
+5
@@ -783,6 +783,11 @@ public class BytecodeListingTestGenerated extends AbstractBytecodeListingTest {
|
|||||||
runTest("compiler/testData/codegen/bytecodeListing/deprecated/hidden.kt");
|
runTest("compiler/testData/codegen/bytecodeListing/deprecated/hidden.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inheritingDeprecation.kt")
|
||||||
|
public void testInheritingDeprecation() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeListing/deprecated/inheritingDeprecation.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("inlineClassTypesInSignature.kt")
|
@TestMetadata("inlineClassTypesInSignature.kt")
|
||||||
public void testInlineClassTypesInSignature() throws Exception {
|
public void testInlineClassTypesInSignature() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeListing/deprecated/inlineClassTypesInSignature.kt");
|
runTest("compiler/testData/codegen/bytecodeListing/deprecated/inlineClassTypesInSignature.kt");
|
||||||
|
|||||||
+5
@@ -753,6 +753,11 @@ public class IrBytecodeListingTestGenerated extends AbstractIrBytecodeListingTes
|
|||||||
runTest("compiler/testData/codegen/bytecodeListing/deprecated/hidden.kt");
|
runTest("compiler/testData/codegen/bytecodeListing/deprecated/hidden.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inheritingDeprecation.kt")
|
||||||
|
public void testInheritingDeprecation() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeListing/deprecated/inheritingDeprecation.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("inlineClassTypesInSignature.kt")
|
@TestMetadata("inlineClassTypesInSignature.kt")
|
||||||
public void testInlineClassTypesInSignature() throws Exception {
|
public void testInlineClassTypesInSignature() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeListing/deprecated/inlineClassTypesInSignature.kt");
|
runTest("compiler/testData/codegen/bytecodeListing/deprecated/inlineClassTypesInSignature.kt");
|
||||||
|
|||||||
@@ -485,6 +485,11 @@ public class IrTextTestCaseGenerated extends AbstractIrTextTestCase {
|
|||||||
runTest("compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.kt");
|
runTest("compiler/testData/ir/irText/declarations/annotations/functionsWithAnnotations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inheritingDeprecation.kt")
|
||||||
|
public void testInheritingDeprecation() throws Exception {
|
||||||
|
runTest("compiler/testData/ir/irText/declarations/annotations/inheritingDeprecation.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("javaAnnotation.kt")
|
@TestMetadata("javaAnnotation.kt")
|
||||||
public void testJavaAnnotation() throws Exception {
|
public void testJavaAnnotation() throws Exception {
|
||||||
runTest("compiler/testData/ir/irText/declarations/annotations/javaAnnotation.kt");
|
runTest("compiler/testData/ir/irText/declarations/annotations/javaAnnotation.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user