diff options
Diffstat (limited to 'test-utils/testData/api/javaModifiers.kt')
-rw-r--r-- | test-utils/testData/api/javaModifiers.kt | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/test-utils/testData/api/javaModifiers.kt b/test-utils/testData/api/javaModifiers.kt new file mode 100644 index 00000000..04aa1c0d --- /dev/null +++ b/test-utils/testData/api/javaModifiers.kt @@ -0,0 +1,244 @@ +/* + * Copyright 2020 Google LLC + * Copyright 2010-2020 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. + */ + +// TEST PROCESSOR: JavaModifierProcessor +// EXPECTED: +// C: ABSTRACT PUBLIC : ABSTRACT PUBLIC +// C.staticStr: PRIVATE : PRIVATE +// C.s1: FINAL JAVA_TRANSIENT : FINAL JAVA_TRANSIENT +// C.i1: JAVA_STATIC JAVA_VOLATILE PROTECTED : JAVA_STATIC JAVA_VOLATILE PROTECTED +// C.NestedC: JAVA_STATIC PUBLIC : JAVA_STATIC PUBLIC +// NestedC.<init>: FINAL PUBLIC : FINAL PUBLIC +// C.InnerC: PUBLIC : PUBLIC +// InnerC.<init>: FINAL PUBLIC : FINAL PUBLIC +// C.intFun: JAVA_DEFAULT JAVA_SYNCHRONIZED : JAVA_DEFAULT JAVA_SYNCHRONIZED +// C.foo: ABSTRACT JAVA_STRICT : ABSTRACT JAVA_STRICT +// C.<init>: FINAL PUBLIC : FINAL PUBLIC +// OuterJavaClass: PUBLIC : PUBLIC +// OuterJavaClass.staticPublicField: JAVA_STATIC PUBLIC : JAVA_STATIC PUBLIC +// OuterJavaClass.staticPackageProtectedField: JAVA_STATIC : JAVA_STATIC +// OuterJavaClass.staticProtectedField: JAVA_STATIC PROTECTED : JAVA_STATIC PROTECTED +// OuterJavaClass.staticPrivateField: JAVA_STATIC PRIVATE : JAVA_STATIC PRIVATE +// OuterJavaClass.InnerJavaClass: PUBLIC : PUBLIC +// InnerJavaClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// OuterJavaClass.NestedJavaClass: JAVA_STATIC PUBLIC : JAVA_STATIC PUBLIC +// NestedJavaClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// OuterJavaClass.staticPublicMethod: JAVA_STATIC PUBLIC : JAVA_STATIC PUBLIC +// OuterJavaClass.staticPackageProtectedMethod: JAVA_STATIC : JAVA_STATIC +// OuterJavaClass.staticProtectedMethod: JAVA_STATIC PROTECTED : JAVA_STATIC PROTECTED +// OuterJavaClass.staticPrivateMethod: JAVA_STATIC PRIVATE : JAVA_STATIC PRIVATE +// OuterJavaClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// OuterKotlinClass: OPEN : PUBLIC +// OuterKotlinClass.InnerKotlinClass: INNER : FINAL PUBLIC +// InnerKotlinClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// OuterKotlinClass.NestedKotlinClass: OPEN : PUBLIC +// NestedKotlinClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// OuterKotlinClass.Companion: : FINAL JAVA_STATIC PUBLIC +// Companion.companionMethod: : FINAL PUBLIC +// Companion.companionField: CONST : FINAL PUBLIC +// Companion.privateCompanionMethod: PRIVATE : FINAL PRIVATE +// Companion.privateCompanionField: PRIVATE : FINAL PRIVATE +// Companion.jvmStaticCompanionMethod: : FINAL JAVA_STATIC PUBLIC +// Companion.jvmStaticCompanionField: : FINAL JAVA_STATIC PUBLIC +// Companion.customJvmStaticCompanionMethod: : FINAL PUBLIC +// Companion.customJvmStaticCompanionField: : FINAL PUBLIC +// Companion.<init>: FINAL PUBLIC : FINAL PUBLIC +// OuterKotlinClass.transientProperty: : FINAL JAVA_TRANSIENT PUBLIC +// OuterKotlinClass.volatileProperty: : FINAL JAVA_VOLATILE PUBLIC +// OuterKotlinClass.strictfpFun: : FINAL JAVA_STRICT PUBLIC +// OuterKotlinClass.synchronizedFun: : FINAL JAVA_SYNCHRONIZED PUBLIC +// OuterKotlinClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// DependencyOuterJavaClass: OPEN PUBLIC : PUBLIC +// DependencyOuterJavaClass.DependencyNestedJavaClass: OPEN PUBLIC : PUBLIC +// DependencyNestedJavaClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// DependencyOuterJavaClass.DependencyInnerJavaClass: INNER OPEN PUBLIC : PUBLIC +// DependencyInnerJavaClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// DependencyOuterJavaClass.synchronizedFun: JAVA_SYNCHRONIZED OPEN : JAVA_SYNCHRONIZED +// DependencyOuterJavaClass.strictfpFun: JAVA_STRICT OPEN : JAVA_STRICT +// DependencyOuterJavaClass.transientField: FINAL JAVA_TRANSIENT : FINAL JAVA_TRANSIENT +// DependencyOuterJavaClass.volatileField: FINAL JAVA_VOLATILE : FINAL JAVA_VOLATILE +// DependencyOuterJavaClass.staticPublicMethod: JAVA_STATIC PUBLIC : JAVA_STATIC PUBLIC +// DependencyOuterJavaClass.staticPackageProtectedMethod: JAVA_STATIC : JAVA_STATIC +// DependencyOuterJavaClass.staticProtectedMethod: JAVA_STATIC PROTECTED : JAVA_STATIC PROTECTED +// DependencyOuterJavaClass.staticPrivateMethod: JAVA_STATIC PRIVATE : JAVA_STATIC PRIVATE +// DependencyOuterJavaClass.staticPublicField: FINAL JAVA_STATIC PUBLIC : FINAL JAVA_STATIC PUBLIC +// DependencyOuterJavaClass.staticPackageProtectedField: FINAL JAVA_STATIC : FINAL JAVA_STATIC +// DependencyOuterJavaClass.staticProtectedField: FINAL JAVA_STATIC PROTECTED : FINAL JAVA_STATIC PROTECTED +// DependencyOuterJavaClass.staticPrivateField: FINAL JAVA_STATIC PRIVATE : FINAL JAVA_STATIC PRIVATE +// DependencyOuterJavaClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// DependencyOuterKotlinClass: OPEN PUBLIC : PUBLIC +// DependencyOuterKotlinClass.transientProperty: FINAL PUBLIC : FINAL JAVA_TRANSIENT PUBLIC +// DependencyOuterKotlinClass.volatileProperty: FINAL PUBLIC : FINAL JAVA_VOLATILE PUBLIC +// DependencyOuterKotlinClass.strictfpFun: FINAL PUBLIC : FINAL JAVA_STRICT PUBLIC +// DependencyOuterKotlinClass.synchronizedFun: FINAL PUBLIC : FINAL JAVA_SYNCHRONIZED PUBLIC +// DependencyOuterKotlinClass.Companion: FINAL PUBLIC : FINAL PUBLIC +// Companion.companionField: FINAL PUBLIC : FINAL PUBLIC +// Companion.customJvmStaticCompanionField: FINAL PUBLIC : FINAL PUBLIC +// Companion.jvmStaticCompanionField: FINAL PUBLIC : FINAL PUBLIC +// Companion.privateCompanionField: FINAL PUBLIC : FINAL PUBLIC +// Companion.companionMethod: FINAL PUBLIC : FINAL PUBLIC +// Companion.customJvmStaticCompanionMethod: FINAL PUBLIC : FINAL PUBLIC +// Companion.jvmStaticCompanionMethod: FINAL PUBLIC : FINAL PUBLIC +// Companion.privateCompanionMethod: FINAL PRIVATE : FINAL PRIVATE +// Companion.<init>: FINAL PRIVATE : FINAL PRIVATE +// DependencyOuterKotlinClass.DependencyInnerKotlinClass: FINAL INNER PUBLIC : FINAL PUBLIC +// DependencyInnerKotlinClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// DependencyOuterKotlinClass.DependencyNestedKotlinClass: OPEN PUBLIC : PUBLIC +// DependencyNestedKotlinClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// DependencyOuterKotlinClass.<init>: FINAL PUBLIC : FINAL PUBLIC +// END +// MODULE: module1 +// FILE: DependencyOuterJavaClass.java +public class DependencyOuterJavaClass { + public class DependencyInnerJavaClass {} + public static class DependencyNestedJavaClass {} + public static void staticPublicMethod() {} + public static String staticPublicField; + static void staticPackageProtectedMethod() {} + static String staticPackageProtectedField; + protected static void staticProtectedMethod() {} + protected static String staticProtectedField; + private static void staticPrivateMethod() {} + private static String staticPrivateField; + transient String transientField = ""; + volatile String volatileField = ""; + synchronized String synchronizedFun() { return ""; } + strictfp String strictfpFun() { return ""; } +} +// FILE: DependencyOuterKotlinClass.kt +typealias DependencyCustomJvmStatic=JvmStatic +open class DependencyOuterKotlinClass { + inner class DependencyInnerKotlinClass + open class DependencyNestedKotlinClass + companion object { + fun companionMethod() {} + val companionField:String = "" + private fun privateCompanionMethod() {} + val privateCompanionField:String = "" + @JvmStatic + fun jvmStaticCompanionMethod() {} + @JvmStatic + val jvmStaticCompanionField:String = "" + @DependencyCustomJvmStatic + fun customJvmStaticCompanionMethod() {} + @DependencyCustomJvmStatic + val customJvmStaticCompanionField:String = "" + } + + @Transient + val transientProperty: String = "" + + @Volatile + var volatileProperty: String = "" + + @Strictfp + fun strictfpFun(): String = "" + + @Synchronized + fun synchronizedFun(): String = "" +} +// MODULE: main(module1) +// FILE: a.kt +annotation class Test + +@Test +class Foo : C() { + +} + +@Test +class Bar : OuterJavaClass() + +@Test +class Baz : OuterKotlinClass() + +@Test +class JavaDependency : DependencyOuterJavaClass() + +@Test +class KotlinDependency : DependencyOuterKotlinClass() + +// FILE: C.java + +public abstract class C { + + private String staticStr = "str" + + final transient String s1; + + protected static volatile int i1; + + default synchronized int intFun() { + return 1; + } + + abstract strictfp void foo() {} + + public static class NestedC { + + } + + public class InnerC { + + } +} + +// FILE: OuterJavaClass.java +public class OuterJavaClass { + public class InnerJavaClass {} + public static class NestedJavaClass {} + public static void staticPublicMethod() {} + public static String staticPublicField; + static void staticPackageProtectedMethod() {} + static String staticPackageProtectedField; + protected static void staticProtectedMethod() {} + protected static String staticProtectedField; + private static void staticPrivateMethod() {} + private static String staticPrivateField; +} +// FILE: OuterKotlinClass.kt +typealias CustomJvmStatic=JvmStatic +open class OuterKotlinClass { + inner class InnerKotlinClass + open class NestedKotlinClass + companion object { + fun companionMethod() {} + const val companionField:String = "" + private fun privateCompanionMethod() {} + private val privateCompanionField:String = "" + @JvmStatic + fun jvmStaticCompanionMethod() {} + @JvmStatic + val jvmStaticCompanionField:String = "" + @CustomJvmStatic + fun customJvmStaticCompanionMethod() {} + @CustomJvmStatic + val customJvmStaticCompanionField:String = "" + } + + @Transient + val transientProperty: String = "" + + @Volatile + var volatileProperty: String = "" + + @Strictfp + fun strictfpFun(): String = "" + + @Synchronized + fun synchronizedFun(): String = "" +} |