/* * 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: ReferenceElementProcessor // EXPECTED: // KSClassifierReferenceImpl: Qualifier of B is A // KSClassifierReferenceImpl: Qualifier of C is A // KSClassifierReferenceImpl: Qualifier of Int is null // KSClassifierReferenceImpl: Qualifier of String is null // KSClassifierReferenceDescriptorImpl: Qualifier of Int is null // KSClassifierReferenceDescriptorImpl: Qualifier of String is null // KSClassifierReferenceDescriptorImpl: Qualifier of Y is X // KSClassifierReferenceDescriptorImpl: Qualifier of Z is X // KSDefNonNullReferenceImpl: Enclosed type of T // KSClassifierReferenceJavaImpl: Qualifier of H is J // KSClassifierReferenceJavaImpl: Qualifier of I is J // KSClassifierReferenceJavaImpl: Qualifier of Object is null // KSClassifierReferenceJavaImpl: Qualifier of Object is null // KSClassifierReferenceJavaImpl: Qualifier of Object is null // KSClassifierReferenceJavaImpl: Qualifier of Object is null // KSClassifierReferenceJavaImpl: Qualifier of String is null // END // MODULE: lib // FILE: lib.kt class X { class Y inner class Z } val z: X.Y = X.Y() val w: X.Z = X().Z() // MODULE: main(lib) // FILE: reference.kt class A { class B inner class C } class DefNonNull { val u: T & Any } val x: A.B = A.B() val y: A.C = A().C() // FILE: J.java class J { class H { } static class I { } } class K { J.H x = null; J.I z = null; }