/* * 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: TypeAliasProcessor // EXPECTED: // a : A = String = (expanded) String // b : B = String = (expanded) String // c : CC = A = String = (expanded) String // d : String = (expanded) String // listOfInt : ListOfInt = List = (expanded) List // listOfInt_B : ListOfInt_B = ListOfInt = List = (expanded) List // listOfInt_C : ListOfInt_C = ListOfInt_B = ListOfInt = List = (expanded) List // myList : MyList = List = (expanded) List // myList_B : List = (expanded) List // myList_String : MyList_String = MyList = List = (expanded) List // myList_b_String : MyList_B_String = MyList_B = MyList = List = (expanded) List // myListOfAlias : MyListOfAlias = List<@JvmSuppressWildcards A> = (expanded) List // myListOfAliasInLib : MyListOfAliasInLib = List<@JvmSuppressWildcards AInLib> = (expanded) List // viewBinderProviders : Map, @JvmSuppressWildcards Provider> = (expanded) Map, Provider>> // nested1 : MyList = List = (expanded) List> // nested2 : List = (expanded) List> // param w.o. asMemberOf: MyAlias = Foo, Baz> = (expanded) Foo, Baz> // param with asMemberOf: MyAlias = Foo, Baz> = (expanded) Foo, Baz> // param: MyAlias: MyAlias = Foo, Baz> = (expanded) Foo, Baz> // END // MODULE: module1 // FILE: KotlinLib.kt typealias AInLib = String typealias MyListOfAliasInLib = List<@JvmSuppressWildcards AInLib> // MODULE: main(module1) // FILE: KotlinSrc.kt typealias A = String typealias B = String typealias CC = A typealias ListOfInt = List typealias ListOfInt_B = ListOfInt typealias ListOfInt_C = ListOfInt_B typealias MyList = List typealias MyList_B = MyList typealias MyList_String = MyList typealias MyList_B_String = MyList_B typealias MyListOfAlias = List<@JvmSuppressWildcards A> val a: A = "" val b: B = "" val c: CC = "" val d: String = "" val listOfInt: ListOfInt = TODO() val listOfInt_B: ListOfInt_B = TODO() val listOfInt_C: ListOfInt_C = TODO() val myList: MyList = TODO() val myList_B: List = TODO() val myList_String: MyList_String = TODO() val myList_b_String: MyList_B_String = TODO() val myListOfAlias: MyListOfAlias = TODO() val myListOfAliasInLib: MyListOfAliasInLib = TODO() interface BaseViewHolder interface SpaceshipEmbedModel interface Provider interface ViewBinder typealias BaseEmbedViewBinder = ViewBinder val viewBinderProviders: Map, @JvmSuppressWildcards Provider> = TODO() val nested1: MyList val nested2: List class Subject(val param: MyAlias) typealias MyAlias = Foo, Baz> class Foo class Bar class Baz