diff options
Diffstat (limited to 'test-utils/testData/api/declarationOrder.kt')
-rw-r--r-- | test-utils/testData/api/declarationOrder.kt | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/test-utils/testData/api/declarationOrder.kt b/test-utils/testData/api/declarationOrder.kt new file mode 100644 index 00000000..7de65a23 --- /dev/null +++ b/test-utils/testData/api/declarationOrder.kt @@ -0,0 +1,156 @@ +/* + * 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; +// 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; +// <init>:()V +// 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 +// <init>:()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; +// 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; +// <init>:()V +// 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 +// <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) {} + 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) {} +} +// 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) {} + 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) {} +} |