Implement backend error reporting on unsupported script capturing
#KT-30616 fixed #KT-43995 fixed #KT-19424 fixed #KT-49443 fixed
This commit is contained in:
committed by
TeamCityServer
parent
cb5e451e05
commit
10c5071eda
+10
@@ -0,0 +1,10 @@
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
// KT-30616
|
||||
val foo = "hello"
|
||||
|
||||
<!SCRIPT_CAPTURING_ENUM!>enum class Bar(val s: String = foo) {
|
||||
|
||||
Eleven("0")
|
||||
}<!>
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package
|
||||
|
||||
public final class EnumCapturesProperty : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor EnumCapturesProperty(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
public final val foo: kotlin.String = "hello"
|
||||
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 Bar : kotlin.Enum<EnumCapturesProperty.Bar> {
|
||||
enum entry Eleven
|
||||
|
||||
private constructor Bar(/*0*/ s: kotlin.String = ...)
|
||||
public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
public final val s: kotlin.String
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: EnumCapturesProperty.Bar): 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<EnumCapturesProperty.Bar!>!
|
||||
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): EnumCapturesProperty.Bar
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<EnumCapturesProperty.Bar>
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
// KT-30616
|
||||
val foo = "hello"
|
||||
|
||||
<!SCRIPT_CAPTURING_ENUM!>enum class Bar(val s: String) {
|
||||
Eleven(s = foo)
|
||||
}<!>
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
package
|
||||
|
||||
public final class EnumEntryCapturesProperty : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor EnumEntryCapturesProperty(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
public final val foo: kotlin.String = "hello"
|
||||
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 Bar : kotlin.Enum<EnumEntryCapturesProperty.Bar> {
|
||||
enum entry Eleven
|
||||
|
||||
private constructor Bar(/*0*/ s: kotlin.String)
|
||||
public final override /*1*/ /*fake_override*/ val name: kotlin.String
|
||||
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
|
||||
public final val s: kotlin.String
|
||||
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
|
||||
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: EnumEntryCapturesProperty.Bar): 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<EnumEntryCapturesProperty.Bar!>!
|
||||
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): EnumEntryCapturesProperty.Bar
|
||||
public final /*synthesized*/ fun values(): kotlin.Array<EnumEntryCapturesProperty.Bar>
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
fun foo() = B().bar()
|
||||
|
||||
val life = 42
|
||||
|
||||
<!SCRIPT_CAPTURING_INTERFACE!>interface A {
|
||||
val x get() = life
|
||||
}<!>
|
||||
|
||||
class B : A {
|
||||
fun bar() = x
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package
|
||||
|
||||
public final class InterfaceCapturesProperty : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor InterfaceCapturesProperty(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
public final val life: kotlin.Int = 42
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun foo(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public interface A {
|
||||
public open val x: 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 : InterfaceCapturesProperty.A {
|
||||
public constructor B()
|
||||
public open override /*1*/ /*fake_override*/ val x: kotlin.Int
|
||||
public final fun bar(): 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
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
fun foo() = B.bar()
|
||||
|
||||
val life = 42
|
||||
|
||||
<!SCRIPT_CAPTURING_OBJECT!>object B<!> {
|
||||
fun bar() = life
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package
|
||||
|
||||
public final class ObjectCapturesProperty : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor ObjectCapturesProperty(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
public final val life: kotlin.Int = 42
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun foo(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public object B {
|
||||
private constructor B()
|
||||
public final fun bar(): 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
|
||||
}
|
||||
}
|
||||
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
fun foo() = B.bar()
|
||||
|
||||
val life = 42
|
||||
|
||||
class A {
|
||||
val x = life
|
||||
}
|
||||
|
||||
<!SCRIPT_CAPTURING_OBJECT!>object B<!> {
|
||||
fun bar() = A().x
|
||||
}
|
||||
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
package
|
||||
|
||||
public final class ObjectCapturesPropertyIndirect : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor ObjectCapturesPropertyIndirect(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
public final val life: kotlin.Int = 42
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun foo(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final class A {
|
||||
public constructor A()
|
||||
public final val x: kotlin.Int = 42
|
||||
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 object B {
|
||||
private constructor B()
|
||||
public final fun bar(): 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
|
||||
}
|
||||
}
|
||||
Vendored
+23
@@ -0,0 +1,23 @@
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
// see KT-49443
|
||||
// two similar examples check dependency on declarations ordering
|
||||
|
||||
interface I {
|
||||
fun rename()
|
||||
}
|
||||
|
||||
<!SCRIPT_CAPTURING_OBJECT!>object ZipHelper<!> {
|
||||
fun buildZip() {
|
||||
DefaultEachEntryConfiguration(0).rename()
|
||||
}
|
||||
}
|
||||
|
||||
class DefaultEachEntryConfiguration(val entry: Int) : I {
|
||||
override fun rename() {
|
||||
entry.copy()
|
||||
}
|
||||
}
|
||||
|
||||
fun Int.copy() = Unit
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
package
|
||||
|
||||
public final class ObjectCapturesPropertyViaExtension1 : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor ObjectCapturesPropertyViaExtension1(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
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 fun kotlin.Int.copy(): kotlin.Unit
|
||||
|
||||
public final class DefaultEachEntryConfiguration : ObjectCapturesPropertyViaExtension1.I {
|
||||
public constructor DefaultEachEntryConfiguration(/*0*/ entry: kotlin.Int)
|
||||
public final val entry: 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*/ fun rename(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface I {
|
||||
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 abstract fun rename(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public object ZipHelper {
|
||||
private constructor ZipHelper()
|
||||
public final fun buildZip(): kotlin.Unit
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+23
@@ -0,0 +1,23 @@
|
||||
// !RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
|
||||
// see KT-49443
|
||||
// two similar examples check dependency on declarations ordering
|
||||
|
||||
interface I {
|
||||
fun rename()
|
||||
}
|
||||
|
||||
class DefaultEachEntryConfiguration(val entry: Int) : I {
|
||||
override fun rename() {
|
||||
entry.copy()
|
||||
}
|
||||
}
|
||||
|
||||
<!SCRIPT_CAPTURING_OBJECT!>object ZipHelper<!> {
|
||||
fun buildZip() {
|
||||
DefaultEachEntryConfiguration(0).rename()
|
||||
}
|
||||
}
|
||||
|
||||
fun Int.copy() = Unit
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
package
|
||||
|
||||
public final class ObjectCapturesPropertyViaExtension2 : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor ObjectCapturesPropertyViaExtension2(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
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 fun kotlin.Int.copy(): kotlin.Unit
|
||||
|
||||
public final class DefaultEachEntryConfiguration : ObjectCapturesPropertyViaExtension2.I {
|
||||
public constructor DefaultEachEntryConfiguration(/*0*/ entry: kotlin.Int)
|
||||
public final val entry: 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*/ fun rename(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public interface I {
|
||||
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 abstract fun rename(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public object ZipHelper {
|
||||
private constructor ZipHelper()
|
||||
public final fun buildZip(): kotlin.Unit
|
||||
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