[FIR] Fix issues with properties' fake sources
This commit is contained in:
Generated
+5
-5
@@ -1041,6 +1041,11 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest {
|
|||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/repeatedModifier.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/repeatedModifier.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("returnTypeMismatchOnOverride.kt")
|
||||||
|
public void testReturnTypeMismatchOnOverride() throws Exception {
|
||||||
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/returnTypeMismatchOnOverride.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("sealedClassConstructorCall.kt")
|
@TestMetadata("sealedClassConstructorCall.kt")
|
||||||
public void testSealedClassConstructorCall() throws Exception {
|
public void testSealedClassConstructorCall() throws Exception {
|
||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedClassConstructorCall.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedClassConstructorCall.kt");
|
||||||
@@ -1051,11 +1056,6 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest {
|
|||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedSupertype.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedSupertype.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("returnTypeMismatchOnOverride.kt")
|
|
||||||
public void testReturnTypeMismatchOnOverride() throws Exception {
|
|
||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/returnTypeMismatchOnOverride.kt");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("superIsNotAnExpression.kt")
|
@TestMetadata("superIsNotAnExpression.kt")
|
||||||
public void testSuperIsNotAnExpression() throws Exception {
|
public void testSuperIsNotAnExpression() throws Exception {
|
||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/superIsNotAnExpression.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/superIsNotAnExpression.kt");
|
||||||
|
|||||||
+5
-5
@@ -1041,6 +1041,11 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos
|
|||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/repeatedModifier.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/repeatedModifier.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("returnTypeMismatchOnOverride.kt")
|
||||||
|
public void testReturnTypeMismatchOnOverride() throws Exception {
|
||||||
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/returnTypeMismatchOnOverride.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("sealedClassConstructorCall.kt")
|
@TestMetadata("sealedClassConstructorCall.kt")
|
||||||
public void testSealedClassConstructorCall() throws Exception {
|
public void testSealedClassConstructorCall() throws Exception {
|
||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedClassConstructorCall.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedClassConstructorCall.kt");
|
||||||
@@ -1051,11 +1056,6 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos
|
|||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedSupertype.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/sealedSupertype.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("returnTypeMismatchOnOverride.kt")
|
|
||||||
public void testReturnTypeMismatchOnOverride() throws Exception {
|
|
||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/returnTypeMismatchOnOverride.kt");
|
|
||||||
}
|
|
||||||
|
|
||||||
@TestMetadata("superIsNotAnExpression.kt")
|
@TestMetadata("superIsNotAnExpression.kt")
|
||||||
public void testSuperIsNotAnExpression() throws Exception {
|
public void testSuperIsNotAnExpression() throws Exception {
|
||||||
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/superIsNotAnExpression.kt");
|
runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/superIsNotAnExpression.kt");
|
||||||
|
|||||||
+15
-3
@@ -48,7 +48,7 @@ class ValueParameter(
|
|||||||
source = firValueParameter.source
|
source = firValueParameter.source
|
||||||
this.session = session
|
this.session = session
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.ImplicitTypeRef)
|
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
|
||||||
this.name = name
|
this.name = name
|
||||||
initializer = buildQualifiedAccessExpression {
|
initializer = buildQualifiedAccessExpression {
|
||||||
calleeReference = buildPropertyFromParameterResolvedNamedReference {
|
calleeReference = buildPropertyFromParameterResolvedNamedReference {
|
||||||
@@ -67,8 +67,20 @@ class ValueParameter(
|
|||||||
isLateInit = false
|
isLateInit = false
|
||||||
}
|
}
|
||||||
annotations += this@ValueParameter.firValueParameter.annotations
|
annotations += this@ValueParameter.firValueParameter.annotations
|
||||||
getter = FirDefaultPropertyGetter(null, session, FirDeclarationOrigin.Source, type, modifiers.getVisibility())
|
getter = FirDefaultPropertyGetter(
|
||||||
setter = if (this.isVar) FirDefaultPropertySetter(null, session, FirDeclarationOrigin.Source, type, modifiers.getVisibility()) else null
|
null,
|
||||||
|
session,
|
||||||
|
FirDeclarationOrigin.Source,
|
||||||
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
|
modifiers.getVisibility()
|
||||||
|
)
|
||||||
|
setter = if (this.isVar) FirDefaultPropertySetter(
|
||||||
|
null,
|
||||||
|
session,
|
||||||
|
FirDeclarationOrigin.Source,
|
||||||
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
|
modifiers.getVisibility()
|
||||||
|
) else null
|
||||||
}.apply {
|
}.apply {
|
||||||
this.isFromVararg = firValueParameter.isVararg
|
this.isFromVararg = firValueParameter.isVararg
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -399,12 +399,18 @@ class RawFirBuilder(
|
|||||||
isLocal = false
|
isLocal = false
|
||||||
this.status = status
|
this.status = status
|
||||||
val defaultAccessorSource = propertySource.fakeElement(FirFakeSourceElementKind.DefaultAccessor)
|
val defaultAccessorSource = propertySource.fakeElement(FirFakeSourceElementKind.DefaultAccessor)
|
||||||
getter = FirDefaultPropertyGetter(defaultAccessorSource, baseSession, FirDeclarationOrigin.Source, type, visibility)
|
getter = FirDefaultPropertyGetter(
|
||||||
|
defaultAccessorSource,
|
||||||
|
baseSession,
|
||||||
|
FirDeclarationOrigin.Source,
|
||||||
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
|
visibility
|
||||||
|
)
|
||||||
setter = if (isMutable) FirDefaultPropertySetter(
|
setter = if (isMutable) FirDefaultPropertySetter(
|
||||||
defaultAccessorSource,
|
defaultAccessorSource,
|
||||||
baseSession,
|
baseSession,
|
||||||
FirDeclarationOrigin.Source,
|
FirDeclarationOrigin.Source,
|
||||||
type,
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
visibility
|
visibility
|
||||||
) else null
|
) else null
|
||||||
extractAnnotationsTo(this)
|
extractAnnotationsTo(this)
|
||||||
|
|||||||
+3
@@ -20,12 +20,14 @@ import org.jetbrains.kotlin.fir.FirSession
|
|||||||
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirEmptyArgumentList
|
import org.jetbrains.kotlin.fir.expressions.FirEmptyArgumentList
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirStubStatement
|
import org.jetbrains.kotlin.fir.expressions.impl.FirStubStatement
|
||||||
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
|
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.isExtensionFunctionAnnotationCall
|
import org.jetbrains.kotlin.fir.types.isExtensionFunctionAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||||
@@ -164,6 +166,7 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
|
|||||||
|
|
||||||
private fun throwTwiceVisitingError(element: FirElement) {
|
private fun throwTwiceVisitingError(element: FirElement) {
|
||||||
if (element is FirTypeRef || element is FirNoReceiverExpression || element is FirTypeParameter ||
|
if (element is FirTypeRef || element is FirNoReceiverExpression || element is FirTypeParameter ||
|
||||||
|
element is FirTypeProjection || element is FirValueParameter || element is FirAnnotationCall ||
|
||||||
element is FirEmptyContractDescription ||
|
element is FirEmptyContractDescription ||
|
||||||
element is FirStubReference || element.isExtensionFunctionAnnotation || element is FirEmptyArgumentList ||
|
element is FirStubReference || element.isExtensionFunctionAnnotation || element is FirEmptyArgumentList ||
|
||||||
element is FirStubStatement
|
element is FirStubStatement
|
||||||
|
|||||||
@@ -52,6 +52,11 @@ fun <R : FirTypeRef> R.copyWithNewSourceKind(newKind: FirFakeSourceElementKind):
|
|||||||
is FirFunctionTypeRefImpl -> buildFunctionTypeRefCopy(typeRef) {
|
is FirFunctionTypeRefImpl -> buildFunctionTypeRefCopy(typeRef) {
|
||||||
source = newSource
|
source = newSource
|
||||||
}
|
}
|
||||||
|
is FirDynamicTypeRef -> buildDynamicTypeRef {
|
||||||
|
source = newSource
|
||||||
|
isMarkedNullable = typeRef.isMarkedNullable
|
||||||
|
annotations += typeRef.annotations
|
||||||
|
}
|
||||||
is FirImplicitBuiltinTypeRef -> typeRef.withFakeSource(newKind)
|
is FirImplicitBuiltinTypeRef -> typeRef.withFakeSource(newKind)
|
||||||
else -> TODO("Not implemented for ${typeRef::class}")
|
else -> TODO("Not implemented for ${typeRef::class}")
|
||||||
} as R
|
} as R
|
||||||
|
|||||||
+7
-37
@@ -1,52 +1,22 @@
|
|||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:6:1: error: 'lateinit' modifier is not allowed on properties of primitive types
|
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:6:1: error: 'lateinit' modifier is not allowed on delegated properties
|
||||||
lateinit var test: Int
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:7:1: error: 'lateinit' modifier is not allowed on delegated properties
|
|
||||||
lateinit var kest by Delegate
|
lateinit var kest by Delegate
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:12:5: error: 'lateinit' modifier is allowed only on mutable properties
|
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:9:5: error: 'lateinit' modifier is allowed only on mutable properties
|
||||||
lateinit val fest = "10"
|
lateinit val fest = "10"
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:12:5: error: 'lateinit' modifier is not allowed on properties with initializer
|
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:11:5: error: 'lateinit' modifier is not allowed on properties of a type with nullable upper bound
|
||||||
lateinit val fest = "10"
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:14:5: error: 'lateinit' modifier is not allowed on properties of nullable types
|
|
||||||
lateinit var xest: String?
|
lateinit var xest: String?
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:15:5: error: 'lateinit' modifier is not allowed on properties of primitive types
|
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:12:5: error: 'lateinit' modifier is not allowed on properties of primitive types
|
||||||
lateinit var nest: Int
|
lateinit var nest: Int
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:16:5: error: 'lateinit' modifier is not allowed on properties of primitive types
|
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:13:5: error: 'lateinit' modifier is allowed only on mutable properties
|
||||||
lateinit var west: Char
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:17:5: error: 'lateinit' modifier is not allowed on properties of primitive types
|
|
||||||
lateinit var qest: Boolean
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:18:5: error: 'lateinit' modifier is not allowed on properties of primitive types
|
|
||||||
lateinit var aest: Short
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:19:5: error: 'lateinit' modifier is not allowed on properties of primitive types
|
|
||||||
lateinit var hest: Byte
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:20:5: error: 'lateinit' modifier is not allowed on properties of primitive types
|
|
||||||
lateinit var jest: Long
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:21:5: error: 'lateinit' modifier is allowed only on mutable properties
|
|
||||||
lateinit val dest: String
|
lateinit val dest: String
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:21:5: error: 'lateinit' modifier is not allowed on properties with a custom getter or setter
|
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:18:5: error: 'lateinit' modifier is not allowed on properties of a type with nullable upper bound
|
||||||
lateinit val dest: String
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:26:5: error: 'lateinit' modifier is not allowed on properties of a type with nullable upper bound
|
|
||||||
lateinit var best: T
|
lateinit var best: T
|
||||||
^
|
^
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:31:5: error: 'lateinit' modifier is not allowed on properties of nullable types
|
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:23:5: error: 'lateinit' modifier is not allowed on local variables with initializer
|
||||||
lateinit var vest: K?
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:35:5: error: 'lateinit' modifier is not allowed on local variables of primitive types
|
|
||||||
lateinit var i: Int
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/inapplicableLateinitModifier.kt:37:5: error: 'lateinit' modifier is not allowed on local variables with initializer
|
|
||||||
lateinit var b: B<String> = B()
|
lateinit var b: B<String> = B()
|
||||||
^
|
^
|
||||||
COMPILATION_ERROR
|
COMPILATION_ERROR
|
||||||
|
|||||||
+4
-16
@@ -1,30 +1,18 @@
|
|||||||
warning: ATTENTION!
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:26: error: unresolved reference: getSomeInt
|
||||||
This build uses unsafe internal compiler arguments:
|
|
||||||
|
|
||||||
-XXLanguage:-SoundSmartCastsAfterTry
|
|
||||||
|
|
||||||
This mode is not recommended for production use,
|
|
||||||
as no stability/compatibility guarantees are given on
|
|
||||||
compiler or generated code. Use it at your own risk!
|
|
||||||
|
|
||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:26: error: cannot access 'getSomeInt' before superclass constructor has been called
|
|
||||||
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 superclass constructor has been called
|
||||||
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: cannot access 'keker' before superclass constructor has been called
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:74: error: unresolved reference: keker
|
||||||
constructor(x: Int = getSomeInt(), other: A = this, header: String = keker) {}
|
|
||||||
^
|
|
||||||
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:2:74: error: variable 'keker' must be 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: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: type mismatch: inferred type is () -> C but Int was expected
|
compiler/testData/cli/jvm/instanceAccessBeforeSuperCall.kt:10:27: error: inapplicable candidate(s): /C.C
|
||||||
constructor(x: Int) : this({
|
constructor(x: Int) : 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 superclass constructor has been called
|
||||||
this
|
this
|
||||||
^
|
^
|
||||||
|
|||||||
Vendored
+4
-4
@@ -142,13 +142,13 @@ fun main() {
|
|||||||
val x18: (C) -> Unit = select(id { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, id<(B) -> Unit> { x -> x })
|
val x18: (C) -> Unit = select(id { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, { <!DEBUG_INFO_EXPRESSION_TYPE("C")!>it<!> }, id<(B) -> Unit> { x -> x })
|
||||||
|
|
||||||
// Resolution of extension/non-extension functions combination
|
// Resolution of extension/non-extension functions combination
|
||||||
val x19: String.() -> Unit = select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id { <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved this@null"), DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved this@null")!>this<!> }<!>, <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>)
|
val x19: String.() -> Unit = select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id { <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: 'this' is not defined in this context"), DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: 'this' is not defined in this context"), NO_THIS!>this<!> }<!>, <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>)
|
||||||
val x20: String.() -> Unit = select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>{ <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved this@null"), DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved this@null")!>this<!> }<!>, (fun(x: String) {}))
|
val x20: String.() -> Unit = select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>{ <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: 'this' is not defined in this context"), DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: 'this' is not defined in this context"), NO_THIS!>this<!> }<!>, (fun(x: String) {}))
|
||||||
val x21: String.() -> Unit = select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>, <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>)
|
val x21: String.() -> Unit = select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>, <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>)
|
||||||
select(id<String.() -> Unit>(fun(x: String) {}), <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>)
|
select(id<String.() -> Unit>(fun(x: String) {}), <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function1<kotlin.String, kotlin.Unit>")!>id(fun(x: String) {})<!>)
|
||||||
select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function2<kotlin.String, kotlin.String, kotlin.Unit>")!>id(fun String.(x: String) {})<!>, <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function2<kotlin.String, kotlin.String, kotlin.Unit>")!>id(fun(x: String, y: String) {})<!>)
|
select(<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function2<kotlin.String, kotlin.String, kotlin.Unit>")!>id(fun String.(x: String) {})<!>, <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Function2<kotlin.String, kotlin.String, kotlin.Unit>")!>id(fun(x: String, y: String) {})<!>)
|
||||||
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x: String -> <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved this@null"), DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing")!>this<!> })
|
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x: String -> <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: 'this' is not defined in this context"), DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing"), NO_THIS!>this<!> })
|
||||||
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x -> <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: Unresolved this@null"), DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing")!>this<!> })
|
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x -> <!DEBUG_INFO_EXPRESSION_TYPE("ERROR CLASS: 'this' is not defined in this context"), DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing"), NO_THIS!>this<!> })
|
||||||
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x: String, y: String -> x })
|
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x: String, y: String -> x })
|
||||||
// Convert to extension lambda is impossible because the lambda parameter types aren't specified explicitly
|
// Convert to extension lambda is impossible because the lambda parameter types aren't specified explicitly
|
||||||
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x, y -> x })
|
select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x, y -> x })
|
||||||
|
|||||||
Reference in New Issue
Block a user