[FE] Do not change original semantics in LabelResolver
This commit is contained in:
committed by
TeamCityServer
parent
5d76f979cf
commit
2b30c1eb5d
+6
@@ -10660,6 +10660,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
|||||||
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("noLabelsByClassName.kt")
|
||||||
|
public void testNoLabelsByClassName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noLabelsByClassName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("outerClass.kt")
|
@TestMetadata("outerClass.kt")
|
||||||
public void testOuterClass() throws Exception {
|
public void testOuterClass() throws Exception {
|
||||||
|
|||||||
+6
@@ -10660,6 +10660,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
|||||||
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("noLabelsByClassName.kt")
|
||||||
|
public void testNoLabelsByClassName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noLabelsByClassName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("outerClass.kt")
|
@TestMetadata("outerClass.kt")
|
||||||
public void testOuterClass() throws Exception {
|
public void testOuterClass() throws Exception {
|
||||||
|
|||||||
+6
@@ -10660,6 +10660,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
|||||||
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("noLabelsByClassName.kt")
|
||||||
|
public void testNoLabelsByClassName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noLabelsByClassName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("outerClass.kt")
|
@TestMetadata("outerClass.kt")
|
||||||
public void testOuterClass() throws Exception {
|
public void testOuterClass() throws Exception {
|
||||||
|
|||||||
@@ -57,7 +57,10 @@ object LabelResolver {
|
|||||||
is KtLambdaExpression -> result.addIfNotNull(getLabelForFunctionalExpression(element))
|
is KtLambdaExpression -> result.addIfNotNull(getLabelForFunctionalExpression(element))
|
||||||
}
|
}
|
||||||
val functionOrProperty = when (element) {
|
val functionOrProperty = when (element) {
|
||||||
is KtNamedFunction -> element
|
is KtNamedFunction -> {
|
||||||
|
result.addIfNotNull(element.nameAsName ?: getLabelForFunctionalExpression(element))
|
||||||
|
element
|
||||||
|
}
|
||||||
is KtPropertyAccessor -> element.property
|
is KtPropertyAccessor -> element.property
|
||||||
else -> return result
|
else -> return result
|
||||||
}
|
}
|
||||||
@@ -66,8 +69,6 @@ object LabelResolver {
|
|||||||
functionOrProperty.contextReceivers
|
functionOrProperty.contextReceivers
|
||||||
.mapNotNullTo(result) { it.name()?.let { s -> Name.identifier(s) } }
|
.mapNotNullTo(result) { it.name()?.let { s -> Name.identifier(s) } }
|
||||||
}
|
}
|
||||||
val name = functionOrProperty.nameAsName ?: getLabelForFunctionalExpression(functionOrProperty)
|
|
||||||
result.addIfNotNull(name)
|
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
fun Int.f() {
|
||||||
|
this<!UNRESOLVED_LABEL!>@Int<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
var Int.p: Int
|
||||||
|
get() {
|
||||||
|
this<!UNRESOLVED_LABEL!>@Int<!>
|
||||||
|
<!RETURN_NOT_ALLOWED!>return@p<!> 42
|
||||||
|
}
|
||||||
|
set(value) {
|
||||||
|
this<!UNRESOLVED_LABEL!>@Int<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
class X {
|
||||||
|
var Int.p: Int
|
||||||
|
get() {
|
||||||
|
this<!UNRESOLVED_LABEL!>@Int<!>
|
||||||
|
<!RETURN_NOT_ALLOWED!>return@p<!> 42
|
||||||
|
}
|
||||||
|
set(value) {
|
||||||
|
this<!UNRESOLVED_LABEL!>@Int<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Int.f() {
|
||||||
|
this<!UNRESOLVED_LABEL!>@Int<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
fun Int.f() {
|
||||||
|
this<!UNRESOLVED_REFERENCE!>@Int<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
var Int.p: Int
|
||||||
|
get() {
|
||||||
|
this<!UNRESOLVED_REFERENCE!>@Int<!>
|
||||||
|
return<!UNRESOLVED_REFERENCE!>@p<!> 42
|
||||||
|
}
|
||||||
|
set(value) {
|
||||||
|
this<!UNRESOLVED_REFERENCE!>@Int<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
class X {
|
||||||
|
var Int.p: Int
|
||||||
|
get() {
|
||||||
|
this<!UNRESOLVED_REFERENCE!>@Int<!>
|
||||||
|
return<!UNRESOLVED_REFERENCE!>@p<!> 42
|
||||||
|
}
|
||||||
|
set(value) {
|
||||||
|
this<!UNRESOLVED_REFERENCE!>@Int<!>
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Int.f() {
|
||||||
|
this<!UNRESOLVED_REFERENCE!>@Int<!>
|
||||||
|
}
|
||||||
|
}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package
|
||||||
|
|
||||||
|
public var kotlin.Int.p: kotlin.Int
|
||||||
|
public fun kotlin.Int.f(): kotlin.Unit
|
||||||
|
|
||||||
|
public final class X {
|
||||||
|
public constructor X()
|
||||||
|
public final var kotlin.Int.p: 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 fun kotlin.Int.f(): kotlin.Unit
|
||||||
|
}
|
||||||
Generated
+6
@@ -10666,6 +10666,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
|||||||
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noExplicitReceiver.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("noLabelsByClassName.kt")
|
||||||
|
public void testNoLabelsByClassName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/extensions/contextReceivers/noLabelsByClassName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("outerClass.kt")
|
@TestMetadata("outerClass.kt")
|
||||||
public void testOuterClass() throws Exception {
|
public void testOuterClass() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user