diff options
Diffstat (limited to 'test-utils/testData/api/superTypes.kt')
-rw-r--r-- | test-utils/testData/api/superTypes.kt | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/test-utils/testData/api/superTypes.kt b/test-utils/testData/api/superTypes.kt new file mode 100644 index 00000000..ce944f0a --- /dev/null +++ b/test-utils/testData/api/superTypes.kt @@ -0,0 +1,112 @@ +/* + * 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. + */ + +// WITH_RUNTIME +// TEST PROCESSOR: SuperTypesProcessor +// EXPECTED: +// KotlinInterfaceInLib: kotlin.Any +// KotlinInterfaceInLibWithSuper: KotlinInterfaceInLib +// AbstractKotlinClassInLib: kotlin.Any +// AbstractKotlinClassInLibWithSuperClass: AbstractKotlinClassInLib +// AbstractKotlinClassInLibWithSuperInterface: KotlinInterfaceInLib +// KotlinClassInLib: kotlin.Any +// KotlinClassInLibWithSuperAbstract: AbstractKotlinClassInLib +// KotlinClassInLibWithSuperClass: KotlinClassInLib +// KotlinClassInLibWithSuperInterface: KotlinInterfaceInLib +// JavaInterfaceInLib: kotlin.Any +// JavaInterfaceInLibWithSuper: JavaInterfaceInLib +// AbstractJavaClassInLib: kotlin.Any +// AbstractJavaClassInLibWithSuperInterface: JavaInterfaceInLib +// AbstractJavaClassInLibWithSuperClass: AbstractJavaClassInLib +// JavaClassInLib: kotlin.Any +// JavaClassInLibWithSuperInterface: JavaInterfaceInLib +// JavaClassInLibWithSuperAbstract: AbstractJavaClassInLib +// JavaClassInLibWithSuperClass: JavaClassInLib +// KotlinInterfaceInSource: kotlin.Any +// KotlinInterfaceInSourceWithSuper: KotlinInterfaceInSource +// AbstractKotlinClassInSource: kotlin.Any +// AbstractKotlinClassInSourceWithSuperClass: AbstractKotlinClassInSource +// AbstractKotlinClassInSourceWithSuperInterface: KotlinInterfaceInSource +// KotlinClassInSource: kotlin.Any +// KotlinClassInSourceWithSuperAbstract: AbstractKotlinClassInSource +// KotlinClassInSourceWithSuperClass: KotlinClassInSource +// KotlinClassInSourceWithSuperInterface: KotlinInterfaceInSource +// JavaInterfaceInSource: kotlin.Any +// JavaInterfaceInSourceWithSuper: JavaInterfaceInSource +// AbstractJavaClassInSource: kotlin.Any +// AbstractJavaClassInSourceWithSuperInterface: JavaInterfaceInSource +// AbstractJavaClassInSourceWithSuperClass: AbstractJavaClassInSource +// JavaClassInSource: kotlin.Any +// JavaClassInSourceWithSuperInterface: JavaInterfaceInSource +// JavaClassInSourceWithSuperAbstract: AbstractJavaClassInSource +// JavaClassInSourceWithSuperClass: JavaClassInSource +// END + +// MODULE: lib +// FILE: KotlinLib.kt +interface KotlinInterfaceInLib +interface KotlinInterfaceInLibWithSuper : KotlinInterfaceInLib + +abstract class AbstractKotlinClassInLib +abstract class AbstractKotlinClassInLibWithSuperClass : AbstractKotlinClassInLib() +abstract class AbstractKotlinClassInLibWithSuperInterface : KotlinInterfaceInLib + +open class KotlinClassInLib +open class KotlinClassInLibWithSuperAbstract : AbstractKotlinClassInLib() +open class KotlinClassInLibWithSuperClass : KotlinClassInLib() +open class KotlinClassInLibWithSuperInterface : KotlinInterfaceInLib + +// FILE: JavaLib.java +interface JavaInterfaceInLib {} +interface JavaInterfaceInLibWithSuper extends JavaInterfaceInLib {} + +abstract class AbstractJavaClassInLib {} +abstract class AbstractJavaClassInLibWithSuperInterface implements JavaInterfaceInLib {} +abstract class AbstractJavaClassInLibWithSuperClass extends AbstractJavaClassInLib {} + +class JavaClassInLib {} +class JavaClassInLibWithSuperInterface implements JavaInterfaceInLib {} +class JavaClassInLibWithSuperAbstract extends AbstractJavaClassInLib {} +class JavaClassInLibWithSuperClass extends JavaClassInLib {} + +// MODULE: main(lib) +// FILE: KotlinSource.kt +interface KotlinInterfaceInSource +interface KotlinInterfaceInSourceWithSuper : KotlinInterfaceInSource + +abstract class AbstractKotlinClassInSource +abstract class AbstractKotlinClassInSourceWithSuperClass : AbstractKotlinClassInSource() +abstract class AbstractKotlinClassInSourceWithSuperInterface : KotlinInterfaceInSource + +open class KotlinClassInSource +open class KotlinClassInSourceWithSuperAbstract : AbstractKotlinClassInSource() +open class KotlinClassInSourceWithSuperClass : KotlinClassInSource() +open class KotlinClassInSourceWithSuperInterface : KotlinInterfaceInSource + +// FILE: JavaSource.java +interface JavaInterfaceInSource {} +interface JavaInterfaceInSourceWithSuper extends JavaInterfaceInSource {} + +abstract class AbstractJavaClassInSource {} +abstract class AbstractJavaClassInSourceWithSuperInterface implements JavaInterfaceInSource {} +abstract class AbstractJavaClassInSourceWithSuperClass extends AbstractJavaClassInSource {} + +class JavaClassInSource {} +class JavaClassInSourceWithSuperInterface implements JavaInterfaceInSource {} +class JavaClassInSourceWithSuperAbstract extends AbstractJavaClassInSource {} +class JavaClassInSourceWithSuperClass extends JavaClassInSource {} + |