KT-8575 Fix warnings for Java synthetic properties
This commit is contained in:
committed by
teamcity
parent
26dc010d30
commit
f4bdf54601
+6
-6
@@ -31541,6 +31541,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("FullySupportedSyntheticJavaPropertyReference.kt")
|
||||||
|
public void testFullySupportedSyntheticJavaPropertyReference() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FullySupportedSyntheticJavaPropertyReference.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("GenericClass.kt")
|
@TestMetadata("GenericClass.kt")
|
||||||
public void testGenericClass() throws Exception {
|
public void testGenericClass() throws Exception {
|
||||||
@@ -31643,12 +31649,6 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@TestMetadata("PartiallySupportedSyntheticJavaPropertyReference.kt")
|
|
||||||
public void testPartiallySupportedSyntheticJavaPropertyReference() throws Exception {
|
|
||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/PartiallySupportedSyntheticJavaPropertyReference.kt");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("SetterHasHigherAccess.kt")
|
@TestMetadata("SetterHasHigherAccess.kt")
|
||||||
public void testSetterHasHigherAccess() throws Exception {
|
public void testSetterHasHigherAccess() throws Exception {
|
||||||
|
|||||||
+6
-6
@@ -31541,6 +31541,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("FullySupportedSyntheticJavaPropertyReference.kt")
|
||||||
|
public void testFullySupportedSyntheticJavaPropertyReference() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FullySupportedSyntheticJavaPropertyReference.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("GenericClass.kt")
|
@TestMetadata("GenericClass.kt")
|
||||||
public void testGenericClass() throws Exception {
|
public void testGenericClass() throws Exception {
|
||||||
@@ -31643,12 +31649,6 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@TestMetadata("PartiallySupportedSyntheticJavaPropertyReference.kt")
|
|
||||||
public void testPartiallySupportedSyntheticJavaPropertyReference() throws Exception {
|
|
||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/PartiallySupportedSyntheticJavaPropertyReference.kt");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("SetterHasHigherAccess.kt")
|
@TestMetadata("SetterHasHigherAccess.kt")
|
||||||
public void testSetterHasHigherAccess() throws Exception {
|
public void testSetterHasHigherAccess() throws Exception {
|
||||||
|
|||||||
+6
-6
@@ -31541,6 +31541,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("FullySupportedSyntheticJavaPropertyReference.kt")
|
||||||
|
public void testFullySupportedSyntheticJavaPropertyReference() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FullySupportedSyntheticJavaPropertyReference.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("GenericClass.kt")
|
@TestMetadata("GenericClass.kt")
|
||||||
public void testGenericClass() throws Exception {
|
public void testGenericClass() throws Exception {
|
||||||
@@ -31643,12 +31649,6 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@TestMetadata("PartiallySupportedSyntheticJavaPropertyReference.kt")
|
|
||||||
public void testPartiallySupportedSyntheticJavaPropertyReference() throws Exception {
|
|
||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/PartiallySupportedSyntheticJavaPropertyReference.kt");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("SetterHasHigherAccess.kt")
|
@TestMetadata("SetterHasHigherAccess.kt")
|
||||||
public void testSetterHasHigherAccess() throws Exception {
|
public void testSetterHasHigherAccess() throws Exception {
|
||||||
|
|||||||
+5
-11
@@ -18,8 +18,7 @@ package org.jetbrains.kotlin.resolve.jvm.checkers
|
|||||||
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.config.LanguageFeature
|
import org.jetbrains.kotlin.config.LanguageFeature
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors.CALLABLE_REFERENCE_TO_JAVA_SYNTHETIC_PROPERTY
|
import org.jetbrains.kotlin.diagnostics.Errors.UNSUPPORTED_FEATURE
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors.UNSUPPORTED
|
|
||||||
import org.jetbrains.kotlin.psi.KtPropertyDelegate
|
import org.jetbrains.kotlin.psi.KtPropertyDelegate
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.unwrapParenthesesLabelsAndAnnotationsDeeply
|
import org.jetbrains.kotlin.psi.psiUtil.unwrapParenthesesLabelsAndAnnotationsDeeply
|
||||||
import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker
|
import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker
|
||||||
@@ -37,16 +36,11 @@ class UnsupportedSyntheticCallableReferenceChecker : CallChecker {
|
|||||||
if (callableReferenceExpression.unwrapParenthesesLabelsAndAnnotationsDeeply() is KtPropertyDelegate) return
|
if (callableReferenceExpression.unwrapParenthesesLabelsAndAnnotationsDeeply() is KtPropertyDelegate) return
|
||||||
|
|
||||||
if (resolvedCall.resultingDescriptor is SyntheticJavaPropertyDescriptor) {
|
if (resolvedCall.resultingDescriptor is SyntheticJavaPropertyDescriptor) {
|
||||||
val diagnostic = if (
|
if (!context.languageVersionSettings.supportsFeature(LanguageFeature.ReferencesToSyntheticJavaProperties)) {
|
||||||
context.languageVersionSettings.supportsFeature(LanguageFeature.NewInference) &&
|
context.trace.report(UNSUPPORTED_FEATURE.on(reportOn, LanguageFeature.ReferencesToSyntheticJavaProperties to context.languageVersionSettings))
|
||||||
context.languageVersionSettings.supportsFeature(LanguageFeature.ReferencesToSyntheticJavaProperties)
|
} else if (!context.languageVersionSettings.supportsFeature(LanguageFeature.NewInference)) {
|
||||||
) {
|
context.trace.report(UNSUPPORTED_FEATURE.on(reportOn, LanguageFeature.NewInference to context.languageVersionSettings))
|
||||||
CALLABLE_REFERENCE_TO_JAVA_SYNTHETIC_PROPERTY.on(reportOn)
|
|
||||||
} else {
|
|
||||||
UNSUPPORTED.on(reportOn, "reference to the synthetic extension property for a Java get/set method")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
context.trace.report(diagnostic)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -935,8 +935,6 @@ public interface Errors {
|
|||||||
DiagnosticFactory0<KtExpression> NULLABLE_TYPE_IN_CLASS_LITERAL_LHS = DiagnosticFactory0.create(ERROR);
|
DiagnosticFactory0<KtExpression> NULLABLE_TYPE_IN_CLASS_LITERAL_LHS = DiagnosticFactory0.create(ERROR);
|
||||||
DiagnosticFactory1<KtExpression, KotlinType> EXPRESSION_OF_NULLABLE_TYPE_IN_CLASS_LITERAL_LHS = DiagnosticFactory1.create(ERROR);
|
DiagnosticFactory1<KtExpression, KotlinType> EXPRESSION_OF_NULLABLE_TYPE_IN_CLASS_LITERAL_LHS = DiagnosticFactory1.create(ERROR);
|
||||||
|
|
||||||
DiagnosticFactory0<PsiElement> CALLABLE_REFERENCE_TO_JAVA_SYNTHETIC_PROPERTY = DiagnosticFactory0.create(WARNING);
|
|
||||||
|
|
||||||
DiagnosticFactory0<PsiElement> ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE = DiagnosticFactory0.create(ERROR);
|
DiagnosticFactory0<PsiElement> ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE = DiagnosticFactory0.create(ERROR);
|
||||||
|
|
||||||
// Destructuring-declarations
|
// Destructuring-declarations
|
||||||
|
|||||||
-2
@@ -1088,8 +1088,6 @@ public class DefaultErrorMessages {
|
|||||||
MAP.put(NULLABLE_TYPE_IN_CLASS_LITERAL_LHS, "Type in a class literal must not be nullable");
|
MAP.put(NULLABLE_TYPE_IN_CLASS_LITERAL_LHS, "Type in a class literal must not be nullable");
|
||||||
MAP.put(EXPRESSION_OF_NULLABLE_TYPE_IN_CLASS_LITERAL_LHS, "Expression in a class literal has a nullable type ''{0}'', use !! to make the type non-nullable", RENDER_TYPE);
|
MAP.put(EXPRESSION_OF_NULLABLE_TYPE_IN_CLASS_LITERAL_LHS, "Expression in a class literal has a nullable type ''{0}'', use !! to make the type non-nullable", RENDER_TYPE);
|
||||||
|
|
||||||
MAP.put(CALLABLE_REFERENCE_TO_JAVA_SYNTHETIC_PROPERTY, "References to the synthetic extension properties for a Java get/set methods aren't supported fully, please use reference to a method");
|
|
||||||
|
|
||||||
MAP.put(ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE, "Adapted callable reference cannot be resolved against reflective types");
|
MAP.put(ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE, "Adapted callable reference cannot be resolved against reflective types");
|
||||||
|
|
||||||
//Inline
|
//Inline
|
||||||
|
|||||||
Vendored
+2
@@ -1,3 +1,5 @@
|
|||||||
|
// !LANGUAGE: -ReferencesToSyntheticJavaProperties
|
||||||
|
|
||||||
// FILE: Customer.java
|
// FILE: Customer.java
|
||||||
public class Customer {
|
public class Customer {
|
||||||
private String name;
|
private String name;
|
||||||
|
|||||||
+3
-1
@@ -1,3 +1,5 @@
|
|||||||
|
// !LANGUAGE: -ReferencesToSyntheticJavaProperties
|
||||||
|
|
||||||
// FILE: Customer.java
|
// FILE: Customer.java
|
||||||
public class Customer {
|
public class Customer {
|
||||||
private String name;
|
private String name;
|
||||||
@@ -16,4 +18,4 @@ public class Customer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
val customerName = Customer::<!UNSUPPORTED!>name<!>
|
val customerName = Customer::<!UNSUPPORTED_FEATURE!>name<!>
|
||||||
|
|||||||
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
// !LANGUAGE: +ReferencesToSyntheticJavaProperties
|
// !LANGUAGE: +ReferencesToSyntheticJavaProperties
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
||||||
|
|
||||||
-17
@@ -1,17 +0,0 @@
|
|||||||
// !LANGUAGE: +ReferencesToSyntheticJavaProperties
|
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
|
||||||
|
|
||||||
// FILE: KotlinFile.kt
|
|
||||||
|
|
||||||
fun call(c: Any) {}
|
|
||||||
|
|
||||||
fun test() {
|
|
||||||
JavaClass::<!CALLABLE_REFERENCE_TO_JAVA_SYNTHETIC_PROPERTY!>foo<!>
|
|
||||||
call(JavaClass::<!CALLABLE_REFERENCE_TO_JAVA_SYNTHETIC_PROPERTY!>foo<!>)
|
|
||||||
}
|
|
||||||
|
|
||||||
// FILE: JavaClass.java
|
|
||||||
|
|
||||||
public class JavaClass {
|
|
||||||
public String getFoo() {}
|
|
||||||
}
|
|
||||||
+2
-2
@@ -6,8 +6,8 @@
|
|||||||
fun call(c: Any) {}
|
fun call(c: Any) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
JavaClass::<!UNSUPPORTED!>foo<!>
|
JavaClass::<!UNSUPPORTED_FEATURE!>foo<!>
|
||||||
call(JavaClass::<!UNSUPPORTED!>foo<!>)
|
call(JavaClass::<!UNSUPPORTED_FEATURE!>foo<!>)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FILE: JavaClass.java
|
// FILE: JavaClass.java
|
||||||
|
|||||||
Generated
+6
-6
@@ -31631,6 +31631,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FromTwoBases.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("FullySupportedSyntheticJavaPropertyReference.kt")
|
||||||
|
public void testFullySupportedSyntheticJavaPropertyReference() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/FullySupportedSyntheticJavaPropertyReference.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("GenericClass.kt")
|
@TestMetadata("GenericClass.kt")
|
||||||
public void testGenericClass() throws Exception {
|
public void testGenericClass() throws Exception {
|
||||||
@@ -31733,12 +31739,6 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
|||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/OverrideGetterOnly.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@TestMetadata("PartiallySupportedSyntheticJavaPropertyReference.kt")
|
|
||||||
public void testPartiallySupportedSyntheticJavaPropertyReference() throws Exception {
|
|
||||||
runTest("compiler/testData/diagnostics/tests/syntheticExtensions/javaProperties/PartiallySupportedSyntheticJavaPropertyReference.kt");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("SetterHasHigherAccess.kt")
|
@TestMetadata("SetterHasHigherAccess.kt")
|
||||||
public void testSetterHasHigherAccess() throws Exception {
|
public void testSetterHasHigherAccess() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user