Restore some of the tests for deprecated OBJECT$ field
This commit is contained in:
@@ -3,6 +3,11 @@ public final class ClassObjectField implements kotlin.jvm.internal.KObject {
|
|||||||
public static final java.lang.String x = "";
|
public static final java.lang.String x = "";
|
||||||
private static final java.lang.String y = "";
|
private static final java.lang.String y = "";
|
||||||
public static final ClassObjectField.Default Default;
|
public static final ClassObjectField.Default Default;
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
@java.lang.Deprecated
|
||||||
|
public static final ClassObjectField.Default OBJECT$;
|
||||||
|
|
||||||
public ClassObjectField() { /* compiled code */ }
|
public ClassObjectField() { /* compiled code */ }
|
||||||
|
|
||||||
|
|||||||
+5
@@ -1,5 +1,10 @@
|
|||||||
public interface TraitClassObjectField {
|
public interface TraitClassObjectField {
|
||||||
TraitClassObjectField.Default Default;
|
TraitClassObjectField.Default Default;
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
@java.lang.Deprecated
|
||||||
|
TraitClassObjectField.Default OBJECT$;
|
||||||
@org.jetbrains.annotations.Nullable
|
@org.jetbrains.annotations.Nullable
|
||||||
java.lang.String x = "";
|
java.lang.String x = "";
|
||||||
|
|
||||||
|
|||||||
@@ -3,3 +3,9 @@ class C {
|
|||||||
|
|
||||||
val <!REDECLARATION!>Default<!> = C
|
val <!REDECLARATION!>Default<!> = C
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class D {
|
||||||
|
<!CONFLICTING_JVM_DECLARATIONS!>class object<!> {}
|
||||||
|
|
||||||
|
<!CONFLICTING_JVM_DECLARATIONS!>val `OBJECT$`<!> = D
|
||||||
|
}
|
||||||
+15
@@ -14,3 +14,18 @@ internal final class C {
|
|||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal final class D {
|
||||||
|
public constructor D()
|
||||||
|
internal final val `OBJECT$`: D.Default
|
||||||
|
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
|
||||||
|
|
||||||
|
internal class object Default {
|
||||||
|
private constructor Default()
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
+8
@@ -5,3 +5,11 @@ class C {
|
|||||||
|
|
||||||
val <!REDECLARATION!>Default<!> = C
|
val <!REDECLARATION!>Default<!> = C
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class D {
|
||||||
|
<!CONFLICTING_JVM_DECLARATIONS!>class object<!> {
|
||||||
|
<!CONFLICTING_JVM_DECLARATIONS!>val `OBJECT$`<!> = this
|
||||||
|
}
|
||||||
|
|
||||||
|
val `OBJECT$` = D
|
||||||
|
}
|
||||||
+16
@@ -15,3 +15,19 @@ internal final class C {
|
|||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal final class D {
|
||||||
|
public constructor D()
|
||||||
|
internal final val `OBJECT$`: D.Default
|
||||||
|
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
|
||||||
|
|
||||||
|
internal class object Default {
|
||||||
|
private constructor Default()
|
||||||
|
internal final val `OBJECT$`: D.Default
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
public class Testing {
|
||||||
|
public static void test() {
|
||||||
|
mockLib.foo.LibClass.<caret>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// EXIST: Default
|
||||||
|
// EXIST: OBJECT$
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
public class ClassObjectField {
|
||||||
|
public static void foo() {
|
||||||
|
k.ClassWithClassObject.OB<caret>JECT$.f();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// REF: class object of (k).ClassWithClassObject
|
||||||
+6
@@ -55,6 +55,12 @@ public class CompiledKotlinInJavaCompletionTestGenerated extends AbstractCompile
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ClassObjectField.java")
|
||||||
|
public void testClassObjectField() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassObjectField.java");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ClassesFromNamespace.java")
|
@TestMetadata("ClassesFromNamespace.java")
|
||||||
public void testClassesFromNamespace() throws Exception {
|
public void testClassesFromNamespace() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassesFromNamespace.java");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassesFromNamespace.java");
|
||||||
|
|||||||
+6
@@ -55,6 +55,12 @@ public class KotlinSourceInJavaCompletionTestGenerated extends AbstractKotlinSou
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ClassObjectField.java")
|
||||||
|
public void testClassObjectField() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassObjectField.java");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ClassesFromNamespace.java")
|
@TestMetadata("ClassesFromNamespace.java")
|
||||||
public void testClassesFromNamespace() throws Exception {
|
public void testClassesFromNamespace() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassesFromNamespace.java");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassesFromNamespace.java");
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.asJava.LightClassUtil;
|
|||||||
import org.jetbrains.kotlin.idea.JetLightCodeInsightFixtureTestCase;
|
import org.jetbrains.kotlin.idea.JetLightCodeInsightFixtureTestCase;
|
||||||
import org.jetbrains.kotlin.idea.JetLightProjectDescriptor;
|
import org.jetbrains.kotlin.idea.JetLightProjectDescriptor;
|
||||||
import org.jetbrains.kotlin.idea.PluginTestCaseBase;
|
import org.jetbrains.kotlin.idea.PluginTestCaseBase;
|
||||||
|
import org.jetbrains.kotlin.load.java.JvmAbi;
|
||||||
import org.jetbrains.kotlin.name.SpecialNames;
|
import org.jetbrains.kotlin.name.SpecialNames;
|
||||||
import org.jetbrains.kotlin.psi.*;
|
import org.jetbrains.kotlin.psi.*;
|
||||||
|
|
||||||
@@ -199,6 +200,14 @@ public class JetJavaFacadeTest extends JetLightCodeInsightFixtureTestCase {
|
|||||||
assertTrue(instance.hasModifierProperty(PsiModifier.STATIC));
|
assertTrue(instance.hasModifierProperty(PsiModifier.STATIC));
|
||||||
assertTrue(instance.hasModifierProperty(PsiModifier.FINAL));
|
assertTrue(instance.hasModifierProperty(PsiModifier.FINAL));
|
||||||
|
|
||||||
|
PsiField deprecatedAccessor = theClass.findFieldByName(JvmAbi.DEPRECATED_CLASS_OBJECT_FIELD, false);
|
||||||
|
assertNotNull(deprecatedAccessor);
|
||||||
|
assertEquals("foo.TheClass." + defaultClassObjectName, deprecatedAccessor.getType().getCanonicalText());
|
||||||
|
assertTrue(deprecatedAccessor.hasModifierProperty(PsiModifier.PUBLIC));
|
||||||
|
assertTrue(deprecatedAccessor.hasModifierProperty(PsiModifier.STATIC));
|
||||||
|
assertTrue(deprecatedAccessor.hasModifierProperty(PsiModifier.FINAL));
|
||||||
|
assertTrue(deprecatedAccessor.isDeprecated());
|
||||||
|
|
||||||
PsiMethod[] methods = classObjectClass.findMethodsByName("getOut", false);
|
PsiMethod[] methods = classObjectClass.findMethodsByName("getOut", false);
|
||||||
|
|
||||||
assertEquals("java.io.PrintStream", methods[0].getReturnType().getCanonicalText());
|
assertEquals("java.io.PrintStream", methods[0].getReturnType().getCanonicalText());
|
||||||
|
|||||||
@@ -60,6 +60,12 @@ public class ReferenceResolveInJavaTestGenerated extends AbstractReferenceResolv
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("DeprecatedClassObjectField.java")
|
||||||
|
public void testDeprecatedClassObjectField() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/DeprecatedClassObjectField.java");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("EnumEntry.java")
|
@TestMetadata("EnumEntry.java")
|
||||||
public void testEnumEntry() throws Exception {
|
public void testEnumEntry() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/EnumEntry.java");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/EnumEntry.java");
|
||||||
|
|||||||
Reference in New Issue
Block a user