Add checks for const modifier applicability
1. Must be initialized in-place 2. Can not be open/abstract 3. Can not be an override 4. Can not be delegated 5. Initializer must be a compile-time constant 6. No getters 7. `const` is not applicable to vars or locals 8. `const val` should be whether top-level property or object member
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package
|
||||
|
||||
public const val aConst: kotlin.Int = 1
|
||||
public const val bConst: kotlin.Int = 2
|
||||
public const val boolVal: kotlin.Boolean = true
|
||||
public const val stringInterpolation: kotlin.String = "Result: true"
|
||||
|
||||
public object A {
|
||||
private constructor A()
|
||||
public const final val boolVal: kotlin.Boolean = true
|
||||
public const final val recursive1: kotlin.Int
|
||||
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 class B {
|
||||
public constructor B()
|
||||
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 companion object Companion {
|
||||
private constructor Companion()
|
||||
public const final val boolVal: kotlin.Boolean = true
|
||||
public const final val recursive2: kotlin.Int
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user