Transform anonymous types even for public symbols
This became necessary when we removed the requirement to specify types for public members, because otherwise everything fails not being able to locate the anonymous class from another module #KT-9072 Fixed EA-72801
This commit is contained in:
@@ -26,6 +26,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationSplitter;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.CompositeAnnotations;
|
||||
@@ -42,12 +43,14 @@ import org.jetbrains.kotlin.resolve.constants.ConstantValue;
|
||||
import org.jetbrains.kotlin.resolve.constants.evaluate.ConstantExpressionEvaluator;
|
||||
import org.jetbrains.kotlin.resolve.dataClassUtils.DataClassUtilsPackage;
|
||||
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil;
|
||||
import org.jetbrains.kotlin.resolve.scopes.*;
|
||||
import org.jetbrains.kotlin.resolve.scopes.JetScopeUtils;
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalWritableScope;
|
||||
import org.jetbrains.kotlin.resolve.scopes.WritableScope;
|
||||
import org.jetbrains.kotlin.storage.StorageManager;
|
||||
import org.jetbrains.kotlin.types.*;
|
||||
import org.jetbrains.kotlin.types.checker.JetTypeChecker;
|
||||
import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationSplitter;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -930,25 +933,21 @@ public class DescriptorResolver {
|
||||
@NotNull JetType type,
|
||||
@NotNull BindingTrace trace
|
||||
) {
|
||||
ClassifierDescriptor classifierDescriptor = type.getConstructor().getDeclarationDescriptor();
|
||||
if (classifierDescriptor == null || !DescriptorUtils.isAnonymousObject(classifierDescriptor)) {
|
||||
ClassifierDescriptor classifier = type.getConstructor().getDeclarationDescriptor();
|
||||
if (classifier == null || !DescriptorUtils.isAnonymousObject(classifier) || DescriptorUtils.isLocal(descriptor)) {
|
||||
return type;
|
||||
}
|
||||
|
||||
boolean definedInClass = DescriptorUtils.getParentOfType(descriptor, ClassDescriptor.class) != null;
|
||||
boolean isLocal = DescriptorUtils.isLocal(descriptor);
|
||||
Visibility visibility = descriptor.getVisibility();
|
||||
boolean transformNeeded = !isLocal && !visibility.getIsPublicAPI()
|
||||
&& !(definedInClass && Visibilities.isPrivate(visibility));
|
||||
if (transformNeeded) {
|
||||
if (!definedInClass || !Visibilities.isPrivate(descriptor.getVisibility())) {
|
||||
if (type.getConstructor().getSupertypes().size() == 1) {
|
||||
assert type.getArguments().isEmpty() : "Object expression couldn't have any type parameters!";
|
||||
return type.getConstructor().getSupertypes().iterator().next();
|
||||
}
|
||||
else {
|
||||
trace.report(AMBIGUOUS_ANONYMOUS_TYPE_INFERRED.on(declaration, type.getConstructor().getSupertypes()));
|
||||
}
|
||||
}
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package pkg
|
||||
|
||||
interface ClassA {
|
||||
companion object {
|
||||
val DEFAULT = object : ClassA {
|
||||
override fun toString() = "OK"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import pkg.ClassA
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val obj = ClassA.DEFAULT
|
||||
obj.toString()
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public val x: x.<no name provided>
|
||||
public val x: kotlin.Any
|
||||
|
||||
public object A1 {
|
||||
private constructor A1()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public val a: a.<no name provided>
|
||||
public val a: T
|
||||
|
||||
kotlin.annotation.annotation() public final class Ann : C {
|
||||
public constructor Ann()
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ package kt462 {
|
||||
|
||||
public final class T {
|
||||
public constructor T()
|
||||
public final val a: kt462.T.a.<no name provided>
|
||||
public final val a: kotlin.Any
|
||||
public final var r: kotlin.Int
|
||||
public final var x: kotlin.Int
|
||||
public final val z: kotlin.Int
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public val m: m.<no name provided>
|
||||
public val m: X
|
||||
|
||||
public interface X {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package
|
||||
|
||||
package kt1191 {
|
||||
public fun foo(/*0*/ unused: kotlin.Int): kt1191.foo.<no name provided>
|
||||
public fun foo(/*0*/ unused: kotlin.Int): kotlin.Any
|
||||
public fun </*0*/ T> kt1191.FunctionalList<T>.plus(/*0*/ element: T): kt1191.FunctionalList<T>
|
||||
|
||||
public interface FunctionalList</*0*/ T> {
|
||||
|
||||
@@ -3,7 +3,7 @@ package
|
||||
package b {
|
||||
public var f: () -> kotlin.Unit
|
||||
public val g: () -> kotlin.Int
|
||||
public val o: b.o.<no name provided>
|
||||
public val o: kotlin.Any
|
||||
public val p: b.P
|
||||
public fun doSmth(/*0*/ i: kotlin.Int): kotlin.Int
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public val m: m.<no name provided>
|
||||
public val m: X
|
||||
public fun box(): kotlin.Unit
|
||||
|
||||
public interface X {
|
||||
|
||||
+18
-18
@@ -16,13 +16,13 @@ class Foo {
|
||||
privateProperty.f2()
|
||||
}
|
||||
|
||||
protected val protectedProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>protected val protectedProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
val internalProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>val internalProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>internal val internal2Property<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
public val publicProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>public val publicProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
|
||||
private fun privateFunction() = object : MyClass(), MyTrait {}
|
||||
@@ -32,13 +32,13 @@ class Foo {
|
||||
privateFunction().f2()
|
||||
}
|
||||
|
||||
protected fun protectedFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>protected fun protectedFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
fun internalFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>fun internalFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>internal fun internal2Function()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
public fun publicFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>public fun publicFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
|
||||
|
||||
@@ -50,13 +50,13 @@ class Foo {
|
||||
privatePropertyInner.f2()
|
||||
}
|
||||
|
||||
protected val protectedProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>protected val protectedProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
val internalProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>val internalProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>internal val internal2Property<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
public val publicProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>public val publicProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
|
||||
private fun privateFunctionInner() = object : MyClass(), MyTrait {}
|
||||
@@ -66,13 +66,13 @@ class Foo {
|
||||
privateFunctionInner().f2()
|
||||
}
|
||||
|
||||
protected fun protectedFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>protected fun protectedFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
fun internalFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>fun internalFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>internal fun internal2Function()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
public fun publicFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>public fun publicFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
}
|
||||
|
||||
@@ -90,21 +90,21 @@ class Foo {
|
||||
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>private val packagePrivateProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!WRONG_MODIFIER_TARGET!>protected<!> val packageProtectedProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!><!WRONG_MODIFIER_TARGET!>protected<!> val packageProtectedProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
val packageInternalProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>val packageInternalProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>internal val packageInternal2Property<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
public val packagePublicProperty = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>public val packagePublicProperty<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!WRONG_MODIFIER_TARGET!>protected<!> fun packageProtectedFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!><!WRONG_MODIFIER_TARGET!>protected<!> fun packageProtectedFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
fun packageInternalFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>fun packageInternalFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>internal fun packageInternal2Function()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
public fun packagePublicFunction() = object : MyClass(), MyTrait {}
|
||||
<!AMBIGUOUS_ANONYMOUS_TYPE_INFERRED!>public fun packagePublicFunction()<!> = object : MyClass(), MyTrait {}
|
||||
|
||||
fun fooPackage() {
|
||||
val packageLocalVar = object : MyClass(), MyTrait {}
|
||||
|
||||
+12
-12
@@ -2,15 +2,15 @@ package
|
||||
|
||||
internal val packageInternalProperty: MyClass
|
||||
private val packagePrivateProperty: MyClass
|
||||
protected val packageProtectedProperty: packageProtectedProperty.<no name provided>
|
||||
protected val packageProtectedProperty: MyClass
|
||||
public val packagePublic2Property: MyClass
|
||||
public val packagePublicProperty: packagePublicProperty.<no name provided>
|
||||
public val packagePublicProperty: MyClass
|
||||
public fun fooPackage(): kotlin.Unit
|
||||
internal fun internalFunction(): MyClass
|
||||
private fun privateFunction(): MyClass
|
||||
protected fun protectedFunction(): protectedFunction.<no name provided>
|
||||
protected fun protectedFunction(): MyClass
|
||||
public fun public2Function(): MyClass
|
||||
public fun publicFunction(): publicFunction.<no name provided>
|
||||
public fun publicFunction(): MyClass
|
||||
public fun testFunctions(): kotlin.Unit
|
||||
public fun testProperties(): kotlin.Unit
|
||||
|
||||
@@ -19,18 +19,18 @@ public final class Foo {
|
||||
internal final val internalProperty: MyClass
|
||||
private final val privateProperty: Foo.privateProperty.<no name provided>
|
||||
protected final val protected2Property: MyClass
|
||||
protected final val protectedProperty: Foo.protectedProperty.<no name provided>
|
||||
protected final val protectedProperty: MyClass
|
||||
public final val public2Property: MyClass
|
||||
public final val publicProperty: Foo.publicProperty.<no name provided>
|
||||
public final val publicProperty: MyClass
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun foo(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal final fun internalFunction(): MyClass
|
||||
private final fun privateFunction(): Foo.privateFunction.<no name provided>
|
||||
protected final fun protected2Function(): MyClass
|
||||
protected final fun protectedFunction(): Foo.protectedFunction.<no name provided>
|
||||
protected final fun protectedFunction(): MyClass
|
||||
public final fun public2Function(): MyClass
|
||||
public final fun publicFunction(): Foo.publicFunction.<no name provided>
|
||||
public final fun publicFunction(): MyClass
|
||||
public final fun testFunctions(): kotlin.Unit
|
||||
public final fun testProperties(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
@@ -40,17 +40,17 @@ public final class Foo {
|
||||
internal final val internalProperty: MyClass
|
||||
private final val privateProperty: Foo.FooInner.privateProperty.<no name provided>
|
||||
protected final val protected2Property: MyClass
|
||||
protected final val protectedProperty: Foo.FooInner.protectedProperty.<no name provided>
|
||||
protected final val protectedProperty: MyClass
|
||||
public final val public2Property: MyClass
|
||||
public final val publicProperty: Foo.FooInner.publicProperty.<no name provided>
|
||||
public final val publicProperty: MyClass
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
internal final fun internalFunction(): MyClass
|
||||
private final fun privateFunction(): Foo.FooInner.privateFunction.<no name provided>
|
||||
protected final fun protected2Function(): MyClass
|
||||
protected final fun protectedFunction(): Foo.FooInner.protectedFunction.<no name provided>
|
||||
protected final fun protectedFunction(): MyClass
|
||||
public final fun public2Function(): MyClass
|
||||
public final fun publicFunction(): Foo.FooInner.publicFunction.<no name provided>
|
||||
public final fun publicFunction(): MyClass
|
||||
public final fun testFunctions(): kotlin.Unit
|
||||
public final fun testProperties(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
Vendored
+1
-1
@@ -1,3 +1,3 @@
|
||||
package
|
||||
|
||||
public fun foo(): foo.<no name provided>
|
||||
public fun foo(): kotlin.Any
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package
|
||||
|
||||
public final class Outer {
|
||||
public constructor Outer()
|
||||
public final val x: Outer.x.<no name provided>
|
||||
public final val x: kotlin.Any
|
||||
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
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package
|
||||
|
||||
public fun main(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
|
||||
public fun </*0*/ T : kotlin.Any> T?.iterator(): iterator.<no name provided>
|
||||
public fun </*0*/ T> java.util.Enumeration<T>.iterator(): iterator.<no name provided>
|
||||
public fun </*0*/ T : kotlin.Any> T?.iterator(): MyIterator<T>
|
||||
public fun </*0*/ T> java.util.Enumeration<T>.iterator(): kotlin.Iterator<T>
|
||||
|
||||
public interface MyIterator</*0*/ T> {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package
|
||||
|
||||
public fun a(/*0*/ e: java.util.Enumeration<kotlin.Int>): kotlin.Unit
|
||||
public fun </*0*/ T> java.util.Enumeration<T>.iterator(): iterator.<no name provided>
|
||||
public fun </*0*/ T> java.util.Enumeration<T>.iterator(): kotlin.Iterator<T>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public val R: R.<no name provided>
|
||||
public val R: kotlin.Any
|
||||
public val prop: kotlin.Int = 42
|
||||
public fun foo(): kotlin.Unit
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ public final class Test {
|
||||
|
||||
public companion object Companion : Test.InnerClass {
|
||||
private constructor Companion()
|
||||
public final val a: Test.Companion.a.<no name provided>
|
||||
public final val a: Test.InnerClass
|
||||
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 final fun more(): Test.InnerClass
|
||||
|
||||
@@ -24,7 +24,7 @@ public final class Test {
|
||||
|
||||
public object Some : Test.InnerClass {
|
||||
private constructor Some()
|
||||
public final val a: Test.Some.a.<no name provided>
|
||||
public final val a: Test.InnerClass
|
||||
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 final fun more(): Test.InnerClass
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
package
|
||||
|
||||
public val oo: oo.<no name provided>
|
||||
public val oo: kotlin.Any
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ package
|
||||
|
||||
package toplevelObjectDeclarations {
|
||||
public val x: kotlin.Int
|
||||
public val y: toplevelObjectDeclarations.y.<no name provided>
|
||||
public val y: toplevelObjectDeclarations.Foo
|
||||
public val z: kotlin.Int
|
||||
|
||||
public object A : toplevelObjectDeclarations.Foo {
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package
|
||||
|
||||
package a {
|
||||
public val o: a.o.<no name provided>
|
||||
public val o: kotlin.Any
|
||||
public fun </*0*/ T> a.A.foo(/*0*/ f: T): kotlin.Unit
|
||||
|
||||
public final class A {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public val anonObject: anonObject.<no name provided>
|
||||
public val anonObject: kotlin.Any
|
||||
|
||||
public object A {
|
||||
private constructor A()
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ kotlin.js.native() public final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public final val anonymous: A.B.anonymous.<no name provided>
|
||||
public final val anonymous: kotlin.Any
|
||||
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
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ public final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public final val anonymous: A.B.anonymous.<no name provided>
|
||||
public final val anonymous: kotlin.Any
|
||||
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
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ kotlin.js.native() public final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public final val anonymous: A.B.anonymous.<no name provided>
|
||||
public final val anonymous: kotlin.Any
|
||||
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
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ public final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public final val anonymous: A.B.anonymous.<no name provided>
|
||||
public final val anonymous: kotlin.Any
|
||||
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
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ kotlin.js.native() public final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public final val anonymous: A.B.anonymous.<no name provided>
|
||||
public final val anonymous: kotlin.Any
|
||||
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
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ public final class A {
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public final val anonymous: A.B.anonymous.<no name provided>
|
||||
public final val anonymous: kotlin.Any
|
||||
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
|
||||
|
||||
+6
@@ -167,6 +167,12 @@ public class CompileKotlinAgainstKotlinTestGenerated extends AbstractCompileKotl
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("SimpleValAnonymousObject.A.kt")
|
||||
public void testSimpleValAnonymousObject() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/compileKotlinAgainstKotlin/SimpleValAnonymousObject.A.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("StarImportEnum.A.kt")
|
||||
public void testStarImportEnum() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/compileKotlinAgainstKotlin/StarImportEnum.A.kt");
|
||||
|
||||
Reference in New Issue
Block a user