| /* | |
| * 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: HelloProcessor | |
| // EXPECTED: | |
| // EXPECT CURRENT: 8 | |
| // EXPECT NEXT: 9 | |
| // AClass | |
| // Bar.BBB | |
| // Bar.list | |
| // C | |
| // C.f | |
| // EXPECT NEXT: C.f.field | |
| // C.javaFun | |
| // test.Foo | |
| // test.ITF | |
| // END | |
| //FILE: a.kt | |
| package test | |
| annotation class Anno | |
| @Anno | |
| class Foo() { | |
| val k = "123" | |
| var a : String = "123" | |
| val aaa : (Int) -> Int = { a -> 1 } | |
| fun bar(): Int { | |
| // val aa = 1234 | |
| return 3 | |
| } | |
| } | |
| @Anno | |
| interface ITF<T> { | |
| fun fooITF() = 1 | |
| } | |
| //FILE: b.kt | |
| import test.Anno | |
| import test.ITF | |
| class Bar<out S, out D>() : ITF<D> { | |
| @Anno | |
| val list : List<Int>? = null | |
| val funInObj = foo() | |
| open internal fun foo(c: C, dd: () -> D): Int { | |
| val a = 1 | |
| // fun <TTT> foo(c: C, dd: () -> TTT): Int { | |
| // return 1 | |
| // } | |
| return 1 | |
| } | |
| @Anno | |
| class BBB { | |
| fun <TTA: String> fofo(c: C, dd: () -> TTA): Int { | |
| return 1 | |
| } | |
| fun <TTA: Int> fofofo(c: C, dd: () -> TTA): Int { | |
| return 1 | |
| } | |
| } | |
| val a = 1 | |
| val kk | |
| get() = 1 | |
| companion object { | |
| val s = 1 | |
| fun foo() = 123 | |
| } | |
| } | |
| //FILE: c.kt | |
| import test.Anno | |
| @Anno | |
| class AClass(val a: Int, val b: String, c: Double) { | |
| fun foo() = a + b.length + c | |
| } | |
| fun <D> foo(c: C, dd: () -> D) = 1 | |
| class CC: C() {} | |
| public interface K1 { | |
| fun getProp(): String = "1" | |
| } | |
| public interface K2 { | |
| val prop: String = "2" | |
| } | |
| // FILE: JI.java | |
| public interface JI extends K1, K2 { | |
| } | |
| // FILE: C.java | |
| import java.util.List; | |
| import java.util.ArrayList; | |
| import test.Foo; | |
| import test.ITF; | |
| import test.Anno; | |
| @Anno | |
| class C { | |
| @Anno | |
| public Foo f = new Foo(); | |
| List<? extends ITF> list = new ArrayList<>(); | |
| @Anno | |
| public String javaFun() { | |
| return f.k; | |
| } | |
| } |