Add a warning for name shadowing case with Enum.entries
^KT-53153
This commit is contained in:
committed by
Space Team
parent
c70a1b1884
commit
cf4b415a20
Vendored
+39
@@ -0,0 +1,39 @@
|
||||
// !LANGUAGE: -EnumEntries
|
||||
|
||||
package pckg
|
||||
|
||||
val entries = "E"
|
||||
|
||||
enum class E {
|
||||
;
|
||||
|
||||
fun foo() {
|
||||
entries
|
||||
pckg.entries
|
||||
}
|
||||
}
|
||||
|
||||
class A {
|
||||
enum class E {
|
||||
;
|
||||
|
||||
class B {
|
||||
fun foo() {
|
||||
entries
|
||||
pckg.entries
|
||||
}
|
||||
}
|
||||
|
||||
class C {
|
||||
val entries = 0
|
||||
|
||||
fun foo() {
|
||||
// technically, this warning is incorrect but I believe it's OK to report anyway
|
||||
// first, logic in the compiler will be complicated if we'll try to avoid reporting warnings here
|
||||
// second, this code smells, it'd be better to use qualifiers here anyway
|
||||
entries
|
||||
this.entries
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+39
@@ -0,0 +1,39 @@
|
||||
// !LANGUAGE: -EnumEntries
|
||||
|
||||
package pckg
|
||||
|
||||
val entries = "E"
|
||||
|
||||
enum class E {
|
||||
;
|
||||
|
||||
fun foo() {
|
||||
<!DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM!>entries<!>
|
||||
pckg.entries
|
||||
}
|
||||
}
|
||||
|
||||
class A {
|
||||
enum class E {
|
||||
;
|
||||
|
||||
class B {
|
||||
fun foo() {
|
||||
<!DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM!>entries<!>
|
||||
pckg.entries
|
||||
}
|
||||
}
|
||||
|
||||
class C {
|
||||
val entries = 0
|
||||
|
||||
fun foo() {
|
||||
// technically, this warning is incorrect but I believe it's OK to report anyway
|
||||
// first, logic in the compiler will be complicated if we'll try to avoid reporting warnings here
|
||||
// second, this code smells, it'd be better to use qualifiers here anyway
|
||||
<!DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM!>entries<!>
|
||||
this.entries
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+64
@@ -0,0 +1,64 @@
|
||||
package
|
||||
|
||||
package pckg {
|
||||
public val entries: kotlin.String = "E"
|
||||
|
||||
public final class A {
|
||||
public constructor A()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final enum class E : kotlin.Enum<pckg.A.E> {
|
||||
private constructor E()
|
||||
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: pckg.A.E): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<pckg.A.E!>!
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class C {
|
||||
public constructor C()
|
||||
public final val entries: kotlin.Int = 0
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.A.E
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<pckg.A.E>
|
||||
}
|
||||
}
|
||||
|
||||
public final enum class E : kotlin.Enum<pckg.E> {
|
||||
private constructor E()
|
||||
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: pckg.E): kotlin.Int
|
||||
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
|
||||
public final fun foo(): kotlin.Unit
|
||||
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<pckg.E!>!
|
||||
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): pckg.E
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<pckg.E>
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user