/* * 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. */ // TEST PROCESSOR: LocationsProcessor // EXPECTED: // A:K.kt:51 // File: K.kt:K.kt:1 // K:J.java:73 // K:K.kt:54 // T:J.java:73 // T:J.java:73 // T:K.kt:54 // f1:J.java:77 // f1:K.kt:61 // p1:K.kt:56 // p2:J.java:77 // p2:K.kt:61 // v1:K.kt:55 // v1:K.kt:55 // v2:J.java:74 // v2:K.kt:58 // v3.getter():K.kt:66 // v3.setter():K.kt:67 // v3:J.java:82 // END // FILE: Location.kt annotation class Location // FILE: K.kt @file:Location @Location typealias A = K @Location class K<@Location T>( @Location val v1: Int, @Location p1: String, ) { @Location val v2: Int @Location fun f1(@Location p2: Int) = Unit @get:Location @set:Location var v3: List get() = TODO() set(v: List) = Unit } // FILE: J.java @Location class K<@Location T> { @Location int v2 = 0; @Location void f1(@Location int p2) { } @Location List v3 = List() }