[FIR] KT-53479: Paraphrase INSTANCE_ACCESS_BEFORE_SUPER_CALL
This commit is contained in:
Vendored
+1
-1
@@ -25,7 +25,7 @@ FILE: instanceAccessBeforeSuperCall.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public constructor(x: R|kotlin/Int|): R|C| {
|
public constructor(x: R|kotlin/Int|): R|C| {
|
||||||
this<R|C|>(fun <anonymous>(): <ERROR TYPE REF: Cannot access ''<this>'' before superclass constructor has been called> <inline=Unknown> {
|
this<R|C|>(fun <anonymous>(): <ERROR TYPE REF: Cannot access ''<this>'' before the instance has been initialized> <inline=Unknown> {
|
||||||
lval a: R|kotlin/Int| = Int(10)
|
lval a: R|kotlin/Int| = Int(10)
|
||||||
^ this@R|/C|
|
^ this@R|/C|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -664,7 +664,7 @@ object FirErrorsDefaultMessages : BaseDiagnosticRendererFactory() {
|
|||||||
)
|
)
|
||||||
map.put(
|
map.put(
|
||||||
INSTANCE_ACCESS_BEFORE_SUPER_CALL,
|
INSTANCE_ACCESS_BEFORE_SUPER_CALL,
|
||||||
"Cannot access ''{0}'' before superclass constructor has been called",
|
"Cannot access ''{0}'' before the instance has been initialized",
|
||||||
TO_STRING
|
TO_STRING
|
||||||
)
|
)
|
||||||
map.put(CREATING_AN_INSTANCE_OF_ABSTRACT_CLASS, "Cannot create an instance of an abstract class")
|
map.put(CREATING_AN_INSTANCE_OF_ABSTRACT_CLASS, "Cannot create an instance of an abstract class")
|
||||||
|
|||||||
+1
-1
@@ -172,7 +172,7 @@ class ConeOuterClassArgumentsRequired(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class ConeInstanceAccessBeforeSuperCall(val target: String) : ConeDiagnostic {
|
class ConeInstanceAccessBeforeSuperCall(val target: String) : ConeDiagnostic {
|
||||||
override val reason: String get() = "Cannot access ''${target}'' before superclass constructor has been called"
|
override val reason: String get() = "Cannot access ''${target}'' before the instance has been initialized"
|
||||||
}
|
}
|
||||||
|
|
||||||
class ConeUnsupportedCallableReferenceTarget(override val candidate: AbstractCandidate) : ConeDiagnosticWithSingleCandidate {
|
class ConeUnsupportedCallableReferenceTarget(override val candidate: AbstractCandidate) : ConeDiagnosticWithSingleCandidate {
|
||||||
|
|||||||
+1
-1
@@ -698,7 +698,7 @@ public class DefaultErrorMessages {
|
|||||||
MAP.put(EXPLICIT_DELEGATION_CALL_REQUIRED,
|
MAP.put(EXPLICIT_DELEGATION_CALL_REQUIRED,
|
||||||
"Explicit 'this' or 'super' call is required. There is no constructor in superclass that can be called without arguments");
|
"Explicit 'this' or 'super' call is required. There is no constructor in superclass that can be called without arguments");
|
||||||
|
|
||||||
MAP.put(INSTANCE_ACCESS_BEFORE_SUPER_CALL, "Cannot access ''{0}'' before superclass constructor has been called", NAME);
|
MAP.put(INSTANCE_ACCESS_BEFORE_SUPER_CALL, "Cannot access ''{0}'' before the instance has been initialized", NAME);
|
||||||
|
|
||||||
MAP.put(ILLEGAL_SELECTOR, "The expression cannot be a selector (occur after a dot)");
|
MAP.put(ILLEGAL_SELECTOR, "The expression cannot be a selector (occur after a dot)");
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ warning: ATTENTION!
|
|||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:26: error: unresolved reference: getSomeInt
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:26: error: unresolved reference: getSomeInt
|
||||||
constructor(x: Int = getSomeInt(), other: A = this, header: String = keker) {}
|
constructor(x: Int = getSomeInt(), other: A = this, header: String = keker) {}
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:51: error: cannot access '<this>' before superclass constructor has been called
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:51: error: cannot access '<this>' before the instance has been initialized
|
||||||
constructor(x: Int = getSomeInt(), other: A = this, header: String = keker) {}
|
constructor(x: Int = getSomeInt(), other: A = this, header: String = keker) {}
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:74: error: unresolved reference: keker
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:74: error: unresolved reference: keker
|
||||||
@@ -13,13 +13,13 @@ compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:74: error: unresolv
|
|||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:7:20: error: 'this' is not defined in this context
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:7:20: error: 'this' is not defined in this context
|
||||||
class B(other: B = this)
|
class B(other: B = this)
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:10:32: error: argument type mismatch: actual type is kotlin/Function0<ERROR CLASS: Cannot access ''<this>'' before superclass constructor has been called> but kotlin/Int was expected
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:10:32: error: argument type mismatch: actual type is kotlin/Function0<ERROR CLASS: Cannot access ''<this>'' before the instance has been initialized> but kotlin/Int was expected
|
||||||
constructor(x: Int) : this({
|
constructor(x: Int) : this({
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:12:9: error: argument type mismatch: actual type is ERROR CLASS: Cannot access ''<this>'' before superclass constructor has been called but ERROR CLASS: Unknown return lambda parameter type was expected
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:12:9: error: argument type mismatch: actual type is ERROR CLASS: Cannot access ''<this>'' before the instance has been initialized but ERROR CLASS: Unknown return lambda parameter type was expected
|
||||||
this
|
this
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:12:9: error: cannot access '<this>' before superclass constructor has been called
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:12:9: error: cannot access '<this>' before the instance has been initialized
|
||||||
this
|
this
|
||||||
^
|
^
|
||||||
COMPILATION_ERROR
|
COMPILATION_ERROR
|
||||||
|
|||||||
Reference in New Issue
Block a user