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 = "";
|
||||
private static final java.lang.String y = "";
|
||||
public static final ClassObjectField.Default Default;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
@java.lang.Deprecated
|
||||
public static final ClassObjectField.Default OBJECT$;
|
||||
|
||||
public ClassObjectField() { /* compiled code */ }
|
||||
|
||||
|
||||
+5
@@ -1,5 +1,10 @@
|
||||
public interface TraitClassObjectField {
|
||||
TraitClassObjectField.Default Default;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
@java.lang.Deprecated
|
||||
TraitClassObjectField.Default OBJECT$;
|
||||
@org.jetbrains.annotations.Nullable
|
||||
java.lang.String x = "";
|
||||
|
||||
|
||||
@@ -2,4 +2,10 @@ class C {
|
||||
<!REDECLARATION!>class object<!> {}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
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
@@ -4,4 +4,12 @@ class 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
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@TestMetadata("ClassObjectField.java")
|
||||
public void testClassObjectField() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassObjectField.java");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("ClassesFromNamespace.java")
|
||||
public void testClassesFromNamespace() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassesFromNamespace.java");
|
||||
|
||||
+6
@@ -55,6 +55,12 @@ public class KotlinSourceInJavaCompletionTestGenerated extends AbstractKotlinSou
|
||||
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")
|
||||
public void testClassesFromNamespace() throws Exception {
|
||||
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.JetLightProjectDescriptor;
|
||||
import org.jetbrains.kotlin.idea.PluginTestCaseBase;
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi;
|
||||
import org.jetbrains.kotlin.name.SpecialNames;
|
||||
import org.jetbrains.kotlin.psi.*;
|
||||
|
||||
@@ -199,6 +200,14 @@ public class JetJavaFacadeTest extends JetLightCodeInsightFixtureTestCase {
|
||||
assertTrue(instance.hasModifierProperty(PsiModifier.STATIC));
|
||||
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);
|
||||
|
||||
assertEquals("java.io.PrintStream", methods[0].getReturnType().getCanonicalText());
|
||||
|
||||
@@ -60,6 +60,12 @@ public class ReferenceResolveInJavaTestGenerated extends AbstractReferenceResolv
|
||||
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")
|
||||
public void testEnumEntry() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/EnumEntry.java");
|
||||
|
||||
Reference in New Issue
Block a user