Support platformStatic for properties
#KT-5766 Fixed
This commit is contained in:
+2
-4
@@ -23,8 +23,6 @@ import org.jetbrains.jet.lang.diagnostics.rendering.DiagnosticFactoryToRendererM
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
import org.jetbrains.jet.renderer.Renderer;
|
||||
|
||||
import static org.jetbrains.jet.lang.diagnostics.PositioningStrategies.DECLARATION_SIGNATURE;
|
||||
|
||||
public class DefaultErrorMessagesJvm implements DefaultErrorMessages.Extension {
|
||||
|
||||
private static final Renderer<ConflictingJvmDeclarationsData> CONFLICTING_JVM_DECLARATIONS_DATA = new Renderer<ConflictingJvmDeclarationsData>() {
|
||||
@@ -46,8 +44,8 @@ public class DefaultErrorMessagesJvm implements DefaultErrorMessages.Extension {
|
||||
static {
|
||||
MAP.put(ErrorsJvm.CONFLICTING_JVM_DECLARATIONS, "Platform declaration clash: {0}", CONFLICTING_JVM_DECLARATIONS_DATA);
|
||||
MAP.put(ErrorsJvm.ACCIDENTAL_OVERRIDE, "Accidental override: {0}", CONFLICTING_JVM_DECLARATIONS_DATA);
|
||||
MAP.put(ErrorsJvm.PLATFORM_STATIC_NOT_IN_OBJECT, "Only functions in named objects and class objects of classes can be annotated with ''platformStatic''", DescriptorRenderer.SHORT_NAMES_IN_TYPES);
|
||||
MAP.put(ErrorsJvm.OVERRIDE_CANNOT_BE_STATIC, "Override cannot be ''platformStatic'' in object", DescriptorRenderer.SHORT_NAMES_IN_TYPES);
|
||||
MAP.put(ErrorsJvm.PLATFORM_STATIC_NOT_IN_OBJECT, "Only functions in named objects and class objects of classes can be annotated with ''platformStatic''");
|
||||
MAP.put(ErrorsJvm.OVERRIDE_CANNOT_BE_STATIC, "Override cannot be ''platformStatic'' in object");
|
||||
MAP.put(ErrorsJvm.PLATFORM_STATIC_ILLEGAL_USAGE, "This declaration does not support ''platformStatic''", DescriptorRenderer.SHORT_NAMES_IN_TYPES);
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -22,7 +22,6 @@ import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory0;
|
||||
import org.jetbrains.jet.lang.diagnostics.DiagnosticFactory1;
|
||||
import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||
import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
|
||||
import static org.jetbrains.jet.lang.diagnostics.PositioningStrategies.DECLARATION_SIGNATURE;
|
||||
import static org.jetbrains.jet.lang.diagnostics.PositioningStrategies.DECLARATION_SIGNATURE_OR_DEFAULT;
|
||||
@@ -35,8 +34,8 @@ public interface ErrorsJvm {
|
||||
DiagnosticFactory1<PsiElement, ConflictingJvmDeclarationsData> ACCIDENTAL_OVERRIDE =
|
||||
DiagnosticFactory1.create(ERROR, DECLARATION_SIGNATURE_OR_DEFAULT);
|
||||
|
||||
DiagnosticFactory1<JetDeclaration, DeclarationDescriptor> OVERRIDE_CANNOT_BE_STATIC = DiagnosticFactory1.create(ERROR, DECLARATION_SIGNATURE);
|
||||
DiagnosticFactory1<JetDeclaration, DeclarationDescriptor> PLATFORM_STATIC_NOT_IN_OBJECT = DiagnosticFactory1.create(ERROR, DECLARATION_SIGNATURE);
|
||||
DiagnosticFactory0<JetDeclaration> OVERRIDE_CANNOT_BE_STATIC = DiagnosticFactory0.create(ERROR, DECLARATION_SIGNATURE);
|
||||
DiagnosticFactory0<JetDeclaration> PLATFORM_STATIC_NOT_IN_OBJECT = DiagnosticFactory0.create(ERROR, DECLARATION_SIGNATURE);
|
||||
DiagnosticFactory1<JetDeclaration, DeclarationDescriptor> PLATFORM_STATIC_ILLEGAL_USAGE = DiagnosticFactory1.create(ERROR, DECLARATION_SIGNATURE);
|
||||
|
||||
@SuppressWarnings("UnusedDeclaration")
|
||||
|
||||
+37
-14
@@ -44,6 +44,7 @@ import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns
|
||||
import org.jetbrains.jet.lang.resolve.name.Name
|
||||
import org.jetbrains.jet.lang.resolve.annotations.hasIntrinsicAnnotation
|
||||
import org.jetbrains.jet.lang.psi.JetPropertyAccessor
|
||||
|
||||
public object JavaDeclarationCheckerProvider : AdditionalCheckerProvider {
|
||||
|
||||
@@ -68,18 +69,10 @@ public class PlatformStaticAnnotationChecker : AnnotationChecker {
|
||||
|
||||
override fun check(declaration: JetDeclaration, descriptor: DeclarationDescriptor, diagnosticHolder: DiagnosticSink) {
|
||||
if (descriptor.hasPlatformStaticAnnotation()) {
|
||||
if (declaration is JetNamedFunction) {
|
||||
val insideObject = DescriptorUtils.containerKindIs(descriptor, ClassKind.OBJECT)
|
||||
val insideClassObject = DescriptorUtils.containerKindIs(descriptor, ClassKind.CLASS_OBJECT)
|
||||
|
||||
if (!insideObject && !(insideClassObject && DescriptorUtils.containerKindIs(descriptor.getContainingDeclaration()!!, ClassKind.CLASS))) {
|
||||
diagnosticHolder.report(ErrorsJvm.PLATFORM_STATIC_NOT_IN_OBJECT.on(declaration, descriptor));
|
||||
}
|
||||
|
||||
if (insideObject && declaration.hasModifier(JetTokens.OVERRIDE_KEYWORD)) {
|
||||
diagnosticHolder.report(ErrorsJvm.OVERRIDE_CANNOT_BE_STATIC.on(declaration, descriptor));
|
||||
}
|
||||
} else {
|
||||
if (declaration is JetNamedFunction || declaration is JetProperty) {
|
||||
checkDeclaration(declaration, descriptor, diagnosticHolder, declaration)
|
||||
}
|
||||
else {
|
||||
//TODO: there should be general mechanism
|
||||
diagnosticHolder.report(ErrorsJvm.PLATFORM_STATIC_ILLEGAL_USAGE.on(declaration, descriptor));
|
||||
}
|
||||
@@ -88,14 +81,44 @@ public class PlatformStaticAnnotationChecker : AnnotationChecker {
|
||||
if (declaration is JetProperty) {
|
||||
val getter = declaration.getGetter()
|
||||
if (getter != null) {
|
||||
check(getter, (descriptor as PropertyDescriptor).getGetter()!!, diagnosticHolder)
|
||||
val propertyGetterDescriptor = (descriptor as PropertyDescriptor).getGetter()!!
|
||||
if (propertyGetterDescriptor.hasPlatformStaticAnnotation()) {
|
||||
checkDeclaration(declaration, descriptor, diagnosticHolder, getter)
|
||||
}
|
||||
}
|
||||
|
||||
val setter = declaration.getSetter()
|
||||
if (setter != null) {
|
||||
check(setter, (descriptor as PropertyDescriptor).getSetter()!!, diagnosticHolder)
|
||||
val propertySetterDescriptor = (descriptor as PropertyDescriptor).getSetter()!!
|
||||
if (propertySetterDescriptor.hasPlatformStaticAnnotation()) {
|
||||
checkDeclaration(declaration, descriptor, diagnosticHolder, setter)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun checkDeclaration(
|
||||
declaration: JetDeclaration,
|
||||
descriptor: DeclarationDescriptor,
|
||||
diagnosticHolder: DiagnosticSink,
|
||||
reportDiagnosticOn: JetDeclaration
|
||||
) {
|
||||
val insideObject = containerKindIs(descriptor, ClassKind.OBJECT)
|
||||
val insideClassObject = containerKindIs(descriptor, ClassKind.CLASS_OBJECT)
|
||||
|
||||
if (!insideObject && !(insideClassObject && containerKindIs(descriptor.getContainingDeclaration()!!, ClassKind.CLASS))) {
|
||||
diagnosticHolder.report(ErrorsJvm.PLATFORM_STATIC_NOT_IN_OBJECT.on(reportDiagnosticOn));
|
||||
}
|
||||
|
||||
if (insideObject && declaration.hasModifier(JetTokens.OVERRIDE_KEYWORD)) {
|
||||
diagnosticHolder.report(ErrorsJvm.OVERRIDE_CANNOT_BE_STATIC.on(reportDiagnosticOn));
|
||||
}
|
||||
}
|
||||
|
||||
private fun containerKindIs(descriptor: DeclarationDescriptor, kind: ClassKind): Boolean {
|
||||
val parentDeclaration = descriptor.getContainingDeclaration()
|
||||
return parentDeclaration != null && DescriptorUtils.isKindOf(parentDeclaration, kind)
|
||||
}
|
||||
}
|
||||
|
||||
public class ReifiedTypeParameterAnnotationChecker : AnnotationChecker {
|
||||
|
||||
@@ -21,6 +21,8 @@ import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName
|
||||
import org.jetbrains.jet.lang.descriptors.CallableDescriptor
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils
|
||||
import org.jetbrains.jet.lang.descriptors.PropertyAccessorDescriptor
|
||||
import org.jetbrains.jet.lang.descriptors.ClassKind
|
||||
|
||||
public fun DeclarationDescriptor.hasInlineAnnotation(): Boolean {
|
||||
return getAnnotations().findAnnotation(FqName("kotlin.inline")) != null
|
||||
@@ -35,7 +37,17 @@ public fun DeclarationDescriptor.hasIntrinsicAnnotation(): Boolean {
|
||||
}
|
||||
|
||||
public fun CallableDescriptor.isPlatformStaticInObject(): Boolean =
|
||||
DescriptorUtils.isObject(getContainingDeclaration()) && hasPlatformStaticAnnotation()
|
||||
isPlatformStaticIn(ClassKind.OBJECT)
|
||||
|
||||
public fun CallableDescriptor.isPlatformStaticInClassObject(): Boolean =
|
||||
DescriptorUtils.isClassObject(getContainingDeclaration()) && hasPlatformStaticAnnotation()
|
||||
isPlatformStaticIn(ClassKind.CLASS_OBJECT)
|
||||
|
||||
private fun CallableDescriptor.isPlatformStaticIn(kind: ClassKind): Boolean =
|
||||
when (this) {
|
||||
is PropertyAccessorDescriptor -> {
|
||||
val propertyDescriptor = getCorrespondingProperty()
|
||||
DescriptorUtils.isKindOf(propertyDescriptor.getContainingDeclaration(), kind) &&
|
||||
(hasPlatformStaticAnnotation() || propertyDescriptor.hasPlatformStaticAnnotation())
|
||||
}
|
||||
else -> DescriptorUtils.isKindOf(getContainingDeclaration(), kind) && hasPlatformStaticAnnotation()
|
||||
}
|
||||
|
||||
@@ -12,4 +12,8 @@ class Test {
|
||||
return A.test3("JAVA");
|
||||
}
|
||||
|
||||
public static String test4() {
|
||||
return A.getC();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ class A {
|
||||
class object {
|
||||
val b: String = "OK"
|
||||
|
||||
platformStatic val c: String = "OK"
|
||||
|
||||
platformStatic fun test1() = b
|
||||
|
||||
platformStatic fun test2() = b
|
||||
@@ -20,5 +22,7 @@ fun box(): String {
|
||||
|
||||
if (Test.test3() != "JAVAOK") return "fail 3"
|
||||
|
||||
if (Test.test4() != "OK") return "fail 4"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -12,4 +12,8 @@ class Test {
|
||||
return A.test3("JAVA");
|
||||
}
|
||||
|
||||
public static String test4() {
|
||||
return A.getC();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ object A {
|
||||
|
||||
val b: String = "OK"
|
||||
|
||||
platformStatic val c: String = "OK"
|
||||
|
||||
platformStatic fun test1() = b
|
||||
|
||||
platformStatic fun test2() = b
|
||||
@@ -18,5 +20,7 @@ fun box(): String {
|
||||
|
||||
if (Test.test3() != "JAVAOK") return "fail 3"
|
||||
|
||||
if (Test.test4() != "OK") return "fail 4"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -4,6 +4,8 @@ object A {
|
||||
|
||||
val b: String = "OK"
|
||||
|
||||
platformStatic val c: String = "OK"
|
||||
|
||||
platformStatic fun test1() : String {
|
||||
return b
|
||||
}
|
||||
@@ -34,5 +36,7 @@ fun box(): String {
|
||||
|
||||
if (A.(A::test4)() != "1OK") return "fail 4"
|
||||
|
||||
if (((A::c).get(A)) != "OK") return "fail 5"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -4,6 +4,8 @@ object A {
|
||||
|
||||
val b: String = "OK"
|
||||
|
||||
platformStatic val c: String = "OK"
|
||||
|
||||
platformStatic fun test1() : String {
|
||||
return {b}()
|
||||
}
|
||||
@@ -23,6 +25,10 @@ object A {
|
||||
platformStatic fun String.test5() : String {
|
||||
return {this + b}()
|
||||
}
|
||||
|
||||
fun test6(): String {
|
||||
return {c}()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
@@ -36,5 +42,7 @@ fun box(): String {
|
||||
|
||||
if (with(A) {"1".test5()} != "1OK") return "fail 5"
|
||||
|
||||
if (A.test6() != "OK") return "fail 6"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -2,6 +2,8 @@ import kotlin.platform.platformStatic
|
||||
|
||||
object AX {
|
||||
|
||||
platformStatic val c: String = "OK"
|
||||
|
||||
platformStatic fun aStatic(): String {
|
||||
return AX.b()
|
||||
}
|
||||
@@ -14,13 +16,19 @@ object AX {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
fun getProperty(): String {
|
||||
return AX.c
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
|
||||
if (AX.aStatic() != "OK") return "fail 1"
|
||||
|
||||
if (AX.aNonStatic() != "OK") return "fail 1"
|
||||
if (AX.aNonStatic() != "OK") return "fail 2"
|
||||
|
||||
if (AX.getProperty() != "OK") return "fail 3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import kotlin.platform.platformStatic
|
||||
|
||||
object X {
|
||||
platformStatic val x = "OK"
|
||||
|
||||
fun fn(value : String = x): String = value
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return X.fn()
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
import kotlin.platform.platformStatic
|
||||
|
||||
object A {
|
||||
|
||||
platformStatic var a: Int = 1
|
||||
|
||||
var b: Int = 1
|
||||
[platformStatic] get
|
||||
|
||||
var c: Int = 1
|
||||
[platformStatic] set
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun box(): String {
|
||||
if (A.test1() != "OK") return "fail 1"
|
||||
|
||||
if (A.test2() != "OK") return "fail 2"
|
||||
|
||||
if (A.test3() != "1OK") return "fail 3"
|
||||
|
||||
if (A.test4() != "1OK") return "fail 4"
|
||||
|
||||
if (with(A) {"1".test5()} != "1OK") return "fail 5"
|
||||
|
||||
if (A.c != "OK") return "fail 6"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -4,6 +4,8 @@ object A {
|
||||
|
||||
val b: String = "OK"
|
||||
|
||||
platformStatic val c: String = "OK"
|
||||
|
||||
platformStatic fun test1() : String {
|
||||
return b
|
||||
}
|
||||
@@ -36,5 +38,7 @@ fun box(): String {
|
||||
|
||||
if (with(A) {"1".test5()} != "1OK") return "fail 5"
|
||||
|
||||
if (A.c != "OK") return "fail 6"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package test;
|
||||
|
||||
class Test {
|
||||
|
||||
public static void main(String[] args) {
|
||||
A.getB();
|
||||
A.getC(new A());
|
||||
}
|
||||
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package test
|
||||
|
||||
import kotlin.platform.platformStatic
|
||||
|
||||
class A {
|
||||
class object {
|
||||
[platformStatic] val b: String = "OK"
|
||||
|
||||
var A.c: String
|
||||
[platformStatic] get() = "OK"
|
||||
[platformStatic] set(t: String) {}
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A.b
|
||||
with(A) {
|
||||
A().c
|
||||
A().c = "123"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package test;
|
||||
|
||||
class Test {
|
||||
|
||||
public static void main(String[] args) {
|
||||
A.getB();
|
||||
A.getC(A.INSTANCE$);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package test
|
||||
|
||||
import kotlin.platform.platformStatic
|
||||
|
||||
object A {
|
||||
[platformStatic] val b: String = "OK"
|
||||
|
||||
var A.c: String
|
||||
[platformStatic]get() = "OK"
|
||||
[platformStatic]set(t: String) {}
|
||||
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
A.b
|
||||
with(A) {
|
||||
A.c
|
||||
A.c = "123"
|
||||
}
|
||||
}
|
||||
+23
-8
@@ -1,29 +1,44 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
import kotlin.platform.platformStatic
|
||||
|
||||
open class B {
|
||||
public open val base1 : Int = 1
|
||||
public open val base2 : Int = 1
|
||||
}
|
||||
|
||||
class A {
|
||||
class object {
|
||||
class object : B() {
|
||||
var p1:Int = 1
|
||||
<!PLATFORM_STATIC_ILLEGAL_USAGE!>[platformStatic] set(p: Int)<!> {
|
||||
[platformStatic] set(p: Int) {
|
||||
p1 = 1
|
||||
}
|
||||
|
||||
<!PLATFORM_STATIC_ILLEGAL_USAGE!>[platformStatic] val z<!> = 1;
|
||||
[platformStatic] val z = 1;
|
||||
|
||||
[platformStatic] override val base1: Int = 0
|
||||
|
||||
override val base2: Int = 0
|
||||
[platformStatic] get
|
||||
}
|
||||
|
||||
object A {
|
||||
object A : B() {
|
||||
var p:Int = 1
|
||||
<!PLATFORM_STATIC_ILLEGAL_USAGE!>[platformStatic] set(p1: Int)<!> {
|
||||
[platformStatic] set(p1: Int) {
|
||||
p = 1
|
||||
}
|
||||
|
||||
<!PLATFORM_STATIC_ILLEGAL_USAGE!>[platformStatic] val z<!> = 1;
|
||||
[platformStatic] val z = 1;
|
||||
|
||||
<!OVERRIDE_CANNOT_BE_STATIC!>[platformStatic] override val base1: Int<!> = 0
|
||||
|
||||
override val base2: Int = 0
|
||||
<!OVERRIDE_CANNOT_BE_STATIC!>[platformStatic] get<!>
|
||||
}
|
||||
|
||||
var p:Int = 1
|
||||
<!PLATFORM_STATIC_ILLEGAL_USAGE!>[platformStatic] set(p1: Int)<!> {
|
||||
<!PLATFORM_STATIC_NOT_IN_OBJECT!>[platformStatic] set(p1: Int)<!> {
|
||||
p = 1
|
||||
}
|
||||
|
||||
<!PLATFORM_STATIC_ILLEGAL_USAGE!>[platformStatic] val z<!> = 1;
|
||||
<!PLATFORM_STATIC_NOT_IN_OBJECT!>[platformStatic] val z2<!> = 1;
|
||||
}
|
||||
+186
-125
@@ -6,24 +6,20 @@ DescriptorResolver@3 {
|
||||
<name not found> = IntValue@4
|
||||
<name not found> = IntValue@5
|
||||
<name not found> = IntValue@6
|
||||
<name not found> = JetTypeImpl@7['Int']
|
||||
<name not found> = JetTypeImpl@7['Int']
|
||||
<name not found> = JetTypeImpl@7['Int']
|
||||
<name not found> = IntValue@7
|
||||
<name not found> = IntValue@8
|
||||
<name not found> = IntValue@9
|
||||
<name not found> = IntValue@10
|
||||
<name not found> = IntValue@11
|
||||
<name not found> = IntValue@12
|
||||
<name not found> = JetTypeImpl@13['Int']
|
||||
<name not found> = JetTypeImpl@13['Int']
|
||||
<name not found> = JetTypeImpl@13['Int']
|
||||
}
|
||||
|
||||
DeserializedClassDescriptor@2['platformStatic'] {
|
||||
containingDeclaration = LazyJavaPackageFragment@8['platform']
|
||||
primaryConstructor = ConstructorDescriptorImpl@9['<init>']
|
||||
}
|
||||
|
||||
LazyAnnotationDescriptor@10 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@11
|
||||
type = JetTypeImpl@12['platformStatic']
|
||||
}
|
||||
|
||||
LazyAnnotationDescriptor@13 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@14
|
||||
type = JetTypeImpl@15['platformStatic']
|
||||
containingDeclaration = LazyJavaPackageFragment@14['platform']
|
||||
primaryConstructor = ConstructorDescriptorImpl@15['<init>']
|
||||
}
|
||||
|
||||
LazyAnnotationDescriptor@16 {
|
||||
@@ -46,146 +42,211 @@ LazyAnnotationDescriptor@25 {
|
||||
type = JetTypeImpl@27['platformStatic']
|
||||
}
|
||||
|
||||
LazyJavaPackageFragmentProvider@28 {
|
||||
packageFragments('<root>': FqName@29) = LazyJavaPackageFragment@30['<root>']
|
||||
packageFragments('A': FqName@31) = null
|
||||
packageFragments('Int': FqName@32) = null
|
||||
packageFragments('java': FqName@33) = LazyJavaPackageFragment@34['java']
|
||||
packageFragments('java.lang': FqName@35) = LazyJavaPackageFragment@36['lang']
|
||||
packageFragments('java.lang.Int': FqName@37) = null
|
||||
packageFragments('java.lang.platformStatic': FqName@38) = null
|
||||
packageFragments('kotlin': FqName@39) = LazyJavaPackageFragment@40['kotlin']
|
||||
packageFragments('kotlin.Int': FqName@41) = null
|
||||
packageFragments('kotlin.io': FqName@42) = LazyJavaPackageFragment@43['io']
|
||||
packageFragments('kotlin.io.Int': FqName@44) = null
|
||||
packageFragments('kotlin.io.platformStatic': FqName@45) = null
|
||||
packageFragments('kotlin.jvm': FqName@46) = LazyJavaPackageFragment@47['jvm']
|
||||
packageFragments('kotlin.jvm.Int': FqName@48) = null
|
||||
packageFragments('kotlin.jvm.platformStatic': FqName@49) = null
|
||||
packageFragments('kotlin.platform': FqName@50) = LazyJavaPackageFragment@8['platform']
|
||||
packageFragments('kotlin.platform.platformStatic': FqName@51) = null
|
||||
packageFragments('kotlin.platformStatic': FqName@52) = null
|
||||
packageFragments('platformStatic': FqName@53) = null
|
||||
LazyAnnotationDescriptor@28 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@29
|
||||
type = JetTypeImpl@30['platformStatic']
|
||||
}
|
||||
|
||||
LazyJavaPackageFragment@30['<root>'] {
|
||||
classes('Int': Name@54) = null // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
classes('kotlin': Name@56) = null // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
classes('p': Name@57) = null // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
classes('p1': Name@58) = null // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
classes('platformStatic': Name@59) = null // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
deserializedPackageScope = Empty@60 // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
functions('kotlin': Name@61) = EmptyList@62[empty] // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
memberIndex = computeMemberIndex$1@63 // through LazyPackageFragmentScopeForJavaPackage@55
|
||||
LazyAnnotationDescriptor@31 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@32
|
||||
type = JetTypeImpl@33['platformStatic']
|
||||
}
|
||||
|
||||
LazyJavaPackageFragment@43['io'] {
|
||||
classes('Int': Name@54) = null // through LazyPackageFragmentScopeForJavaPackage@64
|
||||
classes('p': Name@57) = null // through LazyPackageFragmentScopeForJavaPackage@64
|
||||
classes('p1': Name@58) = null // through LazyPackageFragmentScopeForJavaPackage@64
|
||||
deserializedPackageScope = DeserializedPackageMemberScope@65 // through LazyPackageFragmentScopeForJavaPackage@64
|
||||
membersProtos = LinkedHashMap@66 // through DeserializedPackageMemberScope@65
|
||||
properties('p': Name@57) = EmptyList@62[empty] // through DeserializedPackageMemberScope@65
|
||||
properties('p1': Name@58) = EmptyList@62[empty] // through DeserializedPackageMemberScope@65
|
||||
LazyAnnotationDescriptor@34 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@35
|
||||
type = JetTypeImpl@36['platformStatic']
|
||||
}
|
||||
|
||||
LazyJavaPackageFragment@34['java'] {
|
||||
classes('lang': Name@67) = null // through LazyPackageFragmentScopeForJavaPackage@68
|
||||
deserializedPackageScope = Empty@60 // through LazyPackageFragmentScopeForJavaPackage@68
|
||||
functions('lang': Name@69) = EmptyList@62[empty] // through LazyPackageFragmentScopeForJavaPackage@68
|
||||
memberIndex = computeMemberIndex$1@70 // through LazyPackageFragmentScopeForJavaPackage@68
|
||||
LazyAnnotationDescriptor@37 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@38
|
||||
type = JetTypeImpl@39['platformStatic']
|
||||
}
|
||||
|
||||
LazyJavaPackageFragment@47['jvm'] {
|
||||
classes('Int': Name@54) = null // through LazyPackageFragmentScopeForJavaPackage@71
|
||||
classes('p': Name@57) = null // through LazyPackageFragmentScopeForJavaPackage@71
|
||||
classes('p1': Name@58) = null // through LazyPackageFragmentScopeForJavaPackage@71
|
||||
deserializedPackageScope = Empty@60 // through LazyPackageFragmentScopeForJavaPackage@71
|
||||
LazyAnnotationDescriptor@40 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@41
|
||||
type = JetTypeImpl@42['platformStatic']
|
||||
}
|
||||
|
||||
LazyJavaPackageFragment@40['kotlin'] {
|
||||
classes('Int': Name@54) = null // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
classes('io': Name@73) = null // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
classes('jvm': Name@74) = null // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
classes('p': Name@57) = null // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
classes('p1': Name@58) = null // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
classes('platform': Name@75) = null // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
deserializedPackageScope = DeserializedPackageMemberScope@76 // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
functions('io': Name@77) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
functions('io': Name@77) = EmptyList@62[empty] // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
functions('jvm': Name@78) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
functions('jvm': Name@78) = EmptyList@62[empty] // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
functions('platform': Name@79) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
functions('platform': Name@79) = EmptyList@62[empty] // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
memberIndex = computeMemberIndex$1@80 // through LazyPackageFragmentScopeForJavaPackage@72
|
||||
membersProtos = LinkedHashMap@81 // through DeserializedPackageMemberScope@76
|
||||
properties('io': Name@77) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
properties('jvm': Name@78) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
properties('p': Name@57) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
properties('p1': Name@58) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
properties('platform': Name@79) = EmptyList@62[empty] // through DeserializedPackageMemberScope@76
|
||||
LazyAnnotationDescriptor@43 {
|
||||
resolutionResults = OverloadResolutionResultsImpl@44
|
||||
type = JetTypeImpl@45['platformStatic']
|
||||
}
|
||||
|
||||
LazyJavaPackageFragment@36['lang'] {
|
||||
classes('p': Name@57) = null // through LazyPackageFragmentScopeForJavaPackage@82
|
||||
classes('p1': Name@58) = null // through LazyPackageFragmentScopeForJavaPackage@82
|
||||
deserializedPackageScope = Empty@60 // through LazyPackageFragmentScopeForJavaPackage@82
|
||||
LazyJavaPackageFragmentProvider@46 {
|
||||
packageFragments('<root>': FqName@47) = LazyJavaPackageFragment@48['<root>']
|
||||
packageFragments('A': FqName@49) = null
|
||||
packageFragments('B': FqName@50) = null
|
||||
packageFragments('Int': FqName@51) = null
|
||||
packageFragments('java': FqName@52) = LazyJavaPackageFragment@53['java']
|
||||
packageFragments('java.lang': FqName@54) = LazyJavaPackageFragment@55['lang']
|
||||
packageFragments('java.lang.B': FqName@56) = null
|
||||
packageFragments('java.lang.Int': FqName@57) = null
|
||||
packageFragments('java.lang.platformStatic': FqName@58) = null
|
||||
packageFragments('kotlin': FqName@59) = LazyJavaPackageFragment@60['kotlin']
|
||||
packageFragments('kotlin.B': FqName@61) = null
|
||||
packageFragments('kotlin.Int': FqName@62) = null
|
||||
packageFragments('kotlin.io': FqName@63) = LazyJavaPackageFragment@64['io']
|
||||
packageFragments('kotlin.io.B': FqName@65) = null
|
||||
packageFragments('kotlin.io.Int': FqName@66) = null
|
||||
packageFragments('kotlin.io.platformStatic': FqName@67) = null
|
||||
packageFragments('kotlin.jvm': FqName@68) = LazyJavaPackageFragment@69['jvm']
|
||||
packageFragments('kotlin.jvm.B': FqName@70) = null
|
||||
packageFragments('kotlin.jvm.Int': FqName@71) = null
|
||||
packageFragments('kotlin.jvm.platformStatic': FqName@72) = null
|
||||
packageFragments('kotlin.platform': FqName@73) = LazyJavaPackageFragment@14['platform']
|
||||
packageFragments('kotlin.platform.platformStatic': FqName@74) = null
|
||||
packageFragments('kotlin.platformStatic': FqName@75) = null
|
||||
packageFragments('platformStatic': FqName@76) = null
|
||||
}
|
||||
|
||||
LazyJavaPackageFragment@8['platform'] {
|
||||
classes('platformStatic': Name@83) = DeserializedClassDescriptor@2['platformStatic'] // through LazyPackageFragmentScopeForJavaPackage@84
|
||||
deserializedPackageScope = Empty@60 // through LazyPackageFragmentScopeForJavaPackage@84
|
||||
functions('platformStatic': Name@85) = EmptyList@62[empty] // through LazyPackageFragmentScopeForJavaPackage@84
|
||||
memberIndex = computeMemberIndex$1@86 // through LazyPackageFragmentScopeForJavaPackage@84
|
||||
LazyJavaPackageFragment@48['<root>'] {
|
||||
classes('Int': Name@77) = null // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
classes('kotlin': Name@79) = null // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
classes('p': Name@80) = null // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
classes('p1': Name@81) = null // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
classes('platformStatic': Name@82) = null // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
deserializedPackageScope = Empty@83 // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
functions('kotlin': Name@84) = EmptyList@85[empty] // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
memberIndex = computeMemberIndex$1@86 // through LazyPackageFragmentScopeForJavaPackage@78
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@87 {
|
||||
<name not found> = ArrayList@88[1] { ResolutionCandidate@89 }
|
||||
<name not found> = ArrayList@90[1] { ResolutionCandidate@89 }
|
||||
<name not found> = EmptyList@62[empty]
|
||||
<name not found> = EmptyList@62[empty]
|
||||
LazyJavaPackageFragment@64['io'] {
|
||||
classes('Int': Name@77) = null // through LazyPackageFragmentScopeForJavaPackage@87
|
||||
classes('p': Name@80) = null // through LazyPackageFragmentScopeForJavaPackage@87
|
||||
classes('p1': Name@81) = null // through LazyPackageFragmentScopeForJavaPackage@87
|
||||
deserializedPackageScope = DeserializedPackageMemberScope@88 // through LazyPackageFragmentScopeForJavaPackage@87
|
||||
membersProtos = LinkedHashMap@89 // through DeserializedPackageMemberScope@88
|
||||
properties('p': Name@80) = EmptyList@85[empty] // through DeserializedPackageMemberScope@88
|
||||
properties('p1': Name@81) = EmptyList@85[empty] // through DeserializedPackageMemberScope@88
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@91 {
|
||||
<name not found> = ArrayList@92[1] { ResolutionCandidate@93 }
|
||||
<name not found> = ArrayList@94[1] { ResolutionCandidate@93 }
|
||||
<name not found> = EmptyList@62[empty]
|
||||
<name not found> = EmptyList@62[empty]
|
||||
LazyJavaPackageFragment@53['java'] {
|
||||
classes('lang': Name@90) = null // through LazyPackageFragmentScopeForJavaPackage@91
|
||||
deserializedPackageScope = Empty@83 // through LazyPackageFragmentScopeForJavaPackage@91
|
||||
functions('lang': Name@92) = EmptyList@85[empty] // through LazyPackageFragmentScopeForJavaPackage@91
|
||||
memberIndex = computeMemberIndex$1@93 // through LazyPackageFragmentScopeForJavaPackage@91
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@95 {
|
||||
<name not found> = ArrayList@96[1] { ResolutionCandidate@97 }
|
||||
<name not found> = ArrayList@98[1] { ResolutionCandidate@97 }
|
||||
<name not found> = EmptyList@62[empty]
|
||||
<name not found> = EmptyList@62[empty]
|
||||
LazyJavaPackageFragment@69['jvm'] {
|
||||
classes('Int': Name@77) = null // through LazyPackageFragmentScopeForJavaPackage@94
|
||||
classes('p': Name@80) = null // through LazyPackageFragmentScopeForJavaPackage@94
|
||||
classes('p1': Name@81) = null // through LazyPackageFragmentScopeForJavaPackage@94
|
||||
deserializedPackageScope = Empty@83 // through LazyPackageFragmentScopeForJavaPackage@94
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@99 {
|
||||
<name not found> = ArrayList@100[1] { ResolutionCandidate@101 }
|
||||
<name not found> = ArrayList@102[1] { ResolutionCandidate@101 }
|
||||
LazyJavaPackageFragment@60['kotlin'] {
|
||||
classes('Int': Name@77) = null // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
classes('io': Name@96) = null // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
classes('jvm': Name@97) = null // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
classes('p': Name@80) = null // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
classes('p1': Name@81) = null // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
classes('platform': Name@98) = null // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
deserializedPackageScope = DeserializedPackageMemberScope@99 // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
functions('io': Name@100) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
functions('io': Name@100) = EmptyList@85[empty] // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
functions('jvm': Name@101) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
functions('jvm': Name@101) = EmptyList@85[empty] // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
functions('platform': Name@102) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
functions('platform': Name@102) = EmptyList@85[empty] // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
memberIndex = computeMemberIndex$1@103 // through LazyPackageFragmentScopeForJavaPackage@95
|
||||
membersProtos = LinkedHashMap@104 // through DeserializedPackageMemberScope@99
|
||||
properties('io': Name@100) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
properties('jvm': Name@101) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
properties('p': Name@80) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
properties('p1': Name@81) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
properties('platform': Name@102) = EmptyList@85[empty] // through DeserializedPackageMemberScope@99
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@103 {
|
||||
<name not found> = ArrayList@104[1] { ResolutionCandidate@105 }
|
||||
<name not found> = ArrayList@106[1] { ResolutionCandidate@105 }
|
||||
LazyJavaPackageFragment@55['lang'] {
|
||||
classes('p': Name@80) = null // through LazyPackageFragmentScopeForJavaPackage@105
|
||||
classes('p1': Name@81) = null // through LazyPackageFragmentScopeForJavaPackage@105
|
||||
deserializedPackageScope = Empty@83 // through LazyPackageFragmentScopeForJavaPackage@105
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@107 {
|
||||
<name not found> = ArrayList@108[1] { ResolutionCandidate@109 }
|
||||
<name not found> = ArrayList@110[1] { ResolutionCandidate@109 }
|
||||
LazyJavaPackageFragment@14['platform'] {
|
||||
classes('platformStatic': Name@106) = DeserializedClassDescriptor@2['platformStatic'] // through LazyPackageFragmentScopeForJavaPackage@107
|
||||
deserializedPackageScope = Empty@83 // through LazyPackageFragmentScopeForJavaPackage@107
|
||||
functions('platformStatic': Name@108) = EmptyList@85[empty] // through LazyPackageFragmentScopeForJavaPackage@107
|
||||
memberIndex = computeMemberIndex$1@109 // through LazyPackageFragmentScopeForJavaPackage@107
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@111 {
|
||||
<name not found> = ArrayList@112[1] { ResolutionCandidate@113 }
|
||||
<name not found> = ArrayList@114[1] { ResolutionCandidate@113 }
|
||||
ResolutionTaskHolder@110 {
|
||||
<name not found> = ArrayList@111[1] { ResolutionCandidate@112 }
|
||||
<name not found> = ArrayList@113[1] { ResolutionCandidate@112 }
|
||||
<name not found> = EmptyList@85[empty]
|
||||
<name not found> = EmptyList@85[empty]
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@115 {
|
||||
<name not found> = ArrayList@116[1] { ResolutionCandidate@117 }
|
||||
<name not found> = ArrayList@118[1] { ResolutionCandidate@117 }
|
||||
ResolutionTaskHolder@114 {
|
||||
<name not found> = ArrayList@115[1] { ResolutionCandidate@116 }
|
||||
<name not found> = ArrayList@117[1] { ResolutionCandidate@116 }
|
||||
<name not found> = EmptyList@85[empty]
|
||||
<name not found> = EmptyList@85[empty]
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@119 {
|
||||
<name not found> = ArrayList@120[1] { ResolutionCandidate@121 }
|
||||
<name not found> = ArrayList@122[1] { ResolutionCandidate@121 }
|
||||
ResolutionTaskHolder@118 {
|
||||
<name not found> = ArrayList@119[1] { ResolutionCandidate@120 }
|
||||
<name not found> = ArrayList@121[1] { ResolutionCandidate@120 }
|
||||
<name not found> = EmptyList@85[empty]
|
||||
<name not found> = EmptyList@85[empty]
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@122 {
|
||||
<name not found> = ArrayList@123[1] { ResolutionCandidate@124 }
|
||||
<name not found> = ArrayList@125[1] { ResolutionCandidate@124 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@126 {
|
||||
<name not found> = ArrayList@127[1] { ResolutionCandidate@128 }
|
||||
<name not found> = ArrayList@129[1] { ResolutionCandidate@128 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@130 {
|
||||
<name not found> = ArrayList@131[1] { ResolutionCandidate@132 }
|
||||
<name not found> = ArrayList@133[1] { ResolutionCandidate@132 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@134 {
|
||||
<name not found> = ArrayList@135[1] { ResolutionCandidate@136 }
|
||||
<name not found> = ArrayList@137[1] { ResolutionCandidate@136 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@138 {
|
||||
<name not found> = ArrayList@139[1] { ResolutionCandidate@140 }
|
||||
<name not found> = ArrayList@141[1] { ResolutionCandidate@140 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@142 {
|
||||
<name not found> = ArrayList@143[1] { ResolutionCandidate@144 }
|
||||
<name not found> = ArrayList@145[1] { ResolutionCandidate@144 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@146 {
|
||||
<name not found> = ArrayList@147[1] { ResolutionCandidate@148 }
|
||||
<name not found> = ArrayList@149[1] { ResolutionCandidate@148 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@150 {
|
||||
<name not found> = ArrayList@151[1] { ResolutionCandidate@152 }
|
||||
<name not found> = ArrayList@153[1] { ResolutionCandidate@152 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@154 {
|
||||
<name not found> = ArrayList@155[1] { ResolutionCandidate@156 }
|
||||
<name not found> = ArrayList@157[1] { ResolutionCandidate@156 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@158 {
|
||||
<name not found> = ArrayList@159[1] { ResolutionCandidate@160 }
|
||||
<name not found> = ArrayList@161[1] { ResolutionCandidate@160 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@162 {
|
||||
<name not found> = ArrayList@163[1] { ResolutionCandidate@164 }
|
||||
<name not found> = ArrayList@165[1] { ResolutionCandidate@164 }
|
||||
}
|
||||
|
||||
ResolutionTaskHolder@166 {
|
||||
<name not found> = ArrayList@167[1] { ResolutionCandidate@168 }
|
||||
<name not found> = ArrayList@169[1] { ResolutionCandidate@168 }
|
||||
}
|
||||
|
||||
+18
-3
@@ -3,13 +3,15 @@ package
|
||||
internal final class A {
|
||||
public constructor A()
|
||||
internal final var p: kotlin.Int
|
||||
kotlin.platform.platformStatic() internal final val z: kotlin.Int = 1
|
||||
kotlin.platform.platformStatic() internal final val z2: kotlin.Int = 1
|
||||
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 <class-object-for-A> {
|
||||
internal class object <class-object-for-A> : B {
|
||||
private constructor <class-object-for-A>()
|
||||
kotlin.platform.platformStatic() public open override /*1*/ val base1: kotlin.Int = 0
|
||||
public open override /*1*/ val base2: kotlin.Int = 0
|
||||
internal final var p1: kotlin.Int
|
||||
kotlin.platform.platformStatic() internal final val z: kotlin.Int = 1
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -17,8 +19,10 @@ internal final class A {
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
internal object A {
|
||||
internal object A : B {
|
||||
private constructor A()
|
||||
kotlin.platform.platformStatic() public open override /*1*/ val base1: kotlin.Int = 0
|
||||
public open override /*1*/ val base2: kotlin.Int = 0
|
||||
internal final var p: kotlin.Int
|
||||
kotlin.platform.platformStatic() internal final val z: kotlin.Int = 1
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -27,6 +31,8 @@ internal final class A {
|
||||
|
||||
public class object <class-object-for-A> : A.A {
|
||||
private constructor <class-object-for-A>()
|
||||
kotlin.platform.platformStatic() public open override /*1*/ /*fake_override*/ val base1: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ val base2: kotlin.Int
|
||||
internal final override /*1*/ /*fake_override*/ var p: kotlin.Int
|
||||
kotlin.platform.platformStatic() internal final override /*1*/ /*fake_override*/ val z: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -35,3 +41,12 @@ internal final class A {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal open class B {
|
||||
public constructor B()
|
||||
public open val base1: kotlin.Int = 1
|
||||
public open val base2: kotlin.Int = 1
|
||||
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
|
||||
}
|
||||
|
||||
+12
@@ -1664,6 +1664,18 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode
|
||||
doTestWithStdlib(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("propertyAsDefault.kt")
|
||||
public void testPropertyAsDefault() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/platformStatic/propertyAsDefault.kt");
|
||||
doTestWithStdlib(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("propertyInc.kt")
|
||||
public void testPropertyInc() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/platformStatic/propertyInc.kt");
|
||||
doTestWithStdlib(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("simple.kt")
|
||||
public void testSimple() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/boxWithStdlib/platformStatic/simple.kt");
|
||||
|
||||
+12
@@ -427,11 +427,23 @@ public class CompileJavaAgainstKotlinTestGenerated extends AbstractCompileJavaAg
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("simpleClassObjectProperty.kt")
|
||||
public void testSimpleClassObjectProperty() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/compileJavaAgainstKotlin/platformStatic/simpleClassObjectProperty.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("simpleObject.kt")
|
||||
public void testSimpleObject() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/compileJavaAgainstKotlin/platformStatic/simpleObject.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("simpleObjectProperty.kt")
|
||||
public void testSimpleObjectProperty() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/compileJavaAgainstKotlin/platformStatic/simpleObjectProperty.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/compileJavaAgainstKotlin/property")
|
||||
|
||||
@@ -266,11 +266,6 @@ public class DescriptorUtils {
|
||||
return isKindOf(descriptor, ClassKind.CLASS);
|
||||
}
|
||||
|
||||
public static boolean containerKindIs(@NotNull DeclarationDescriptor descriptor, @NotNull ClassKind kind) {
|
||||
DeclarationDescriptor parentDeclaration = descriptor.getContainingDeclaration();
|
||||
return parentDeclaration != null && isKindOf(parentDeclaration, kind);
|
||||
}
|
||||
|
||||
public static boolean isKindOf(@Nullable DeclarationDescriptor descriptor, @NotNull ClassKind classKind) {
|
||||
return descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() == classKind;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user