| /* | |
| * Copyright 2022 Google LLC | |
| * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| // WITH_RUNTIME | |
| // TEST PROCESSOR: DeclarationOrderProcessor | |
| // EXPECTED: | |
| // lib.KotlinClass | |
| // b:Ljava/lang/String; | |
| // a:Ljava/lang/String; | |
| // c:Ljava/lang/String; | |
| // isB:Ljava/lang/String; | |
| // isA:Ljava/lang/String; | |
| // isC:Ljava/lang/String; | |
| // noBackingB:Ljava/lang/String; | |
| // noBackingA:Ljava/lang/String; | |
| // noBackingC:Ljava/lang/String; | |
| // noBackingVarB:Ljava/lang/String; | |
| // noBackingVarA:Ljava/lang/String; | |
| // noBackingVarC:Ljava/lang/String; | |
| // privateFun:()V | |
| // protectedFun:()V | |
| // internalFun:()V | |
| // publicFun:()V | |
| // overloaded:(Ljava/lang/String;)Ljava/lang/String; | |
| // overloaded:(I)Ljava/lang/String; | |
| // overloaded:()Ljava/lang/String; | |
| // overloaded:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | |
| // lib.JavaClass | |
| // b:Ljava/lang/String; | |
| // a:Ljava/lang/String; | |
| // c:Ljava/lang/String; | |
| // overloaded:(Ljava/lang/String;)V | |
| // overloaded:(I)V | |
| // overloaded:()V | |
| // overloaded:(Ljava/lang/String;Ljava/lang/String;)V | |
| // KotlinClass | |
| // b:Ljava/lang/String; | |
| // a:Ljava/lang/String; | |
| // c:Ljava/lang/String; | |
| // isB:Ljava/lang/String; | |
| // isA:Ljava/lang/String; | |
| // isC:Ljava/lang/String; | |
| // noBackingB:Ljava/lang/String; | |
| // noBackingA:Ljava/lang/String; | |
| // noBackingC:Ljava/lang/String; | |
| // noBackingVarB:Ljava/lang/String; | |
| // noBackingVarA:Ljava/lang/String; | |
| // noBackingVarC:Ljava/lang/String; | |
| // privateFun:()V | |
| // protectedFun:()V | |
| // internalFun:()V | |
| // publicFun:()V | |
| // overloaded:(Ljava/lang/String;)Ljava/lang/String; | |
| // overloaded:(I)Ljava/lang/String; | |
| // overloaded:()Ljava/lang/String; | |
| // overloaded:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; | |
| // JavaClass | |
| // b:Ljava/lang/String; | |
| // a:Ljava/lang/String; | |
| // c:Ljava/lang/String; | |
| // overloaded:(Ljava/lang/String;)V | |
| // overloaded:(I)V | |
| // overloaded:()V | |
| // overloaded:(Ljava/lang/String;Ljava/lang/String;)V | |
| // KotlinCompanion.Companion | |
| // companionObjectProperty:Ljava/lang/String; | |
| // companionObjectPropertyJvmStatic:Ljava/lang/String; | |
| // companionObjectPropertyJvmField:Ljava/lang/String; | |
| // companionObjectPropertyLateinit:Ljava/lang/String; | |
| // companionObjectPropertyConst:Ljava/lang/String; | |
| // companionObjectFunction:(Ljava/lang/String;)V | |
| // companionObjectFunctionJvmStatic:(Ljava/lang/String;)V | |
| // lib.KotlinCompanion.Companion | |
| // companionObjectProperty:Ljava/lang/String; | |
| // companionObjectPropertyJvmStatic:Ljava/lang/String; | |
| // companionObjectPropertyJvmField:Ljava/lang/String; | |
| // companionObjectPropertyLateinit:Ljava/lang/String; | |
| // companionObjectPropertyConst:Ljava/lang/String; | |
| // companionObjectFunction:(Ljava/lang/String;)V | |
| // companionObjectFunctionJvmStatic:(Ljava/lang/String;)V | |
| // equals:(Ljava/lang/Object;)Z | |
| // hashCode:()I | |
| // toString:()Ljava/lang/String; | |
| // <init>:()V | |
| // END | |
| // MODULE: module1 | |
| // FILE: lib/KotlinClass.kt | |
| package lib; | |
| class KotlinClass { | |
| val b: String = TODO() | |
| val a: String = TODO() | |
| val c: String = TODO() | |
| val isB:String = TODO() | |
| val isA:String = TODO() | |
| val isC:String = TODO() | |
| val noBackingB: String | |
| get() = "" | |
| val noBackingA: String | |
| get() = "" | |
| val noBackingC: String | |
| get() = "" | |
| var noBackingVarB: String | |
| get() = "" | |
| set(value) {} | |
| var noBackingVarA: String | |
| get() = "" | |
| set(value) {} | |
| var noBackingVarC: String | |
| get() = "" | |
| set(value) {} | |
| private fun privateFun(): Unit = TODO() | |
| protected fun protectedFun(): Unit = TODO() | |
| internal fun internalFun(): Unit = TODO() | |
| fun publicFun(): Unit = TODO() | |
| fun overloaded(x:String): String = TODO() | |
| fun overloaded(x:Int): String = TODO() | |
| fun overloaded(): String = TODO() | |
| fun overloaded(x:String, y:String): String = TODO() | |
| } | |
| // FILE: lib/JavaClass.java | |
| package lib; | |
| public class JavaClass { | |
| // notice the non alphabetic order, which is triggering the problem | |
| String b = ""; | |
| String a = ""; | |
| String c = ""; | |
| void overloaded(String x) {} | |
| void overloaded(int x) {} | |
| void overloaded() {} | |
| void overloaded(String x, String y) {} | |
| } | |
| // FILE: lib/KotlinCompanion.kt | |
| package lib | |
| class KotlinCompanion { | |
| companion object { | |
| val companionObjectProperty: String = "hello" | |
| @JvmStatic | |
| val companionObjectPropertyJvmStatic: String = "hello" | |
| @JvmField val companionObjectPropertyJvmField: String = "hello" | |
| lateinit var companionObjectPropertyLateinit: String | |
| const val companionObjectPropertyConst: String = "hello" | |
| fun companionObjectFunction(companionFunctionParam: String) {} | |
| @JvmStatic | |
| fun companionObjectFunctionJvmStatic(companionFunctionParam: String) {} | |
| } | |
| } | |
| // MODULE: main(module1) | |
| // FILE: main.kt | |
| class KotlinClass { | |
| val b: String? = TODO() | |
| val a: String = TODO() | |
| val c: String? = TODO() | |
| val isB:String = TODO() | |
| val isA:String = TODO() | |
| val isC:String = TODO() | |
| val noBackingB: String | |
| get() = "" | |
| val noBackingA: String | |
| get() = "" | |
| val noBackingC: String | |
| get() = "" | |
| var noBackingVarB: String | |
| get() = "" | |
| set(value) {} | |
| var noBackingVarA: String | |
| get() = "" | |
| set(value) {} | |
| var noBackingVarC: String | |
| get() = "" | |
| set(value) {} | |
| private fun privateFun(): Unit = TODO() | |
| protected fun protectedFun(): Unit = TODO() | |
| internal fun internalFun(): Unit = TODO() | |
| fun publicFun(): Unit = TODO() | |
| fun overloaded(x:String): String = TODO() | |
| fun overloaded(x:Int): String = TODO() | |
| fun overloaded(): String = TODO() | |
| fun overloaded(x:String, y:String): String = TODO() | |
| } | |
| // FILE: JavaClass.java | |
| public class JavaClass { | |
| String b = ""; | |
| String a = ""; | |
| String c = ""; | |
| void overloaded(String x) {} | |
| void overloaded(int x) {} | |
| void overloaded() {} | |
| void overloaded(String x, String y) {} | |
| } | |
| // FILE: KotlinCompanion.kt | |
| class KotlinCompanion { | |
| companion object { | |
| val companionObjectProperty: String = "hello" | |
| @JvmStatic | |
| val companionObjectPropertyJvmStatic: String = "hello" | |
| @JvmField val companionObjectPropertyJvmField: String = "hello" | |
| lateinit var companionObjectPropertyLateinit: String | |
| const val companionObjectPropertyConst: String = "hello" | |
| fun companionObjectFunction(companionFunctionParam: String) {} | |
| @JvmStatic | |
| fun companionObjectFunctionJvmStatic(companionFunctionParam: String) {} | |
| } | |
| } |