/* * 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: ReplaceWithErrorTypeArgsProcessor // EXPECTED: // KS.star.replace([INVARIANT Int, INVARIANT String]): KS // KS.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KS.asType([INVARIANT Int, INVARIANT String]): KS // KS.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KS.asType(emptyList()): KS // KL.star.replace([INVARIANT Int, INVARIANT String]): KL // KL.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KL.asType([INVARIANT Int, INVARIANT String]): KL // KL.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KL.asType(emptyList()): KL // JS.star.replace([INVARIANT Int, INVARIANT String]): JS // JS.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JS.asType([INVARIANT Int, INVARIANT String]): JS // JS.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JS.asType(emptyList()): JS // JL.star.replace([INVARIANT Int, INVARIANT String]): JL // JL.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JL.asType([INVARIANT Int, INVARIANT String]): JL // JL.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JL.asType(emptyList()): JL // KS1.star.replace([INVARIANT Int, INVARIANT String]): // KS1.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KS1.asType([INVARIANT Int, INVARIANT String]): // KS1.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KS1.asType(emptyList()): KS1 // KL1.star.replace([INVARIANT Int, INVARIANT String]): // KL1.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KL1.asType([INVARIANT Int, INVARIANT String]): // KL1.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KL1.asType(emptyList()): KL1 // JS1.star.replace([INVARIANT Int, INVARIANT String]): // JS1.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JS1.asType([INVARIANT Int, INVARIANT String]): // JS1.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JS1.asType(emptyList()): JS1 // JL1.star.replace([INVARIANT Int, INVARIANT String]): // JL1.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JL1.asType([INVARIANT Int, INVARIANT String]): // JL1.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JL1.asType(emptyList()): JL1 // JSE.star.replace([INVARIANT Int, INVARIANT String]): // JSE.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JSE.asType([INVARIANT Int, INVARIANT String]): // JSE.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JSE.asType(emptyList()): JSE // JSE.E.star.replace([INVARIANT Int, INVARIANT String]): // JSE.E.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JSE.E.asType([INVARIANT Int, INVARIANT String]): // JSE.E.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JSE.E.asType(emptyList()): JSE.E // JLE.star.replace([INVARIANT Int, INVARIANT String]): // JLE.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JLE.asType([INVARIANT Int, INVARIANT String]): // JLE.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JLE.asType(emptyList()): JLE // JLE.E.star.replace([INVARIANT Int, INVARIANT String]): // JLE.E.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // JLE.E.asType([INVARIANT Int, INVARIANT String]): // JLE.E.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // JLE.E.asType(emptyList()): JLE.E // KSE.star.replace([INVARIANT Int, INVARIANT String]): // KSE.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KSE.asType([INVARIANT Int, INVARIANT String]): // KSE.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KSE.asType(emptyList()): KSE // KSE.E.star.replace([INVARIANT Int, INVARIANT String]): // KSE.E.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KSE.E.asType([INVARIANT Int, INVARIANT String]): // KSE.E.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KSE.E.asType(emptyList()): E // KLE.star.replace([INVARIANT Int, INVARIANT String]): // KLE.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KLE.asType([INVARIANT Int, INVARIANT String]): // KLE.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KLE.asType(emptyList()): KLE // KLE.E.star.replace([INVARIANT Int, INVARIANT String]): // KLE.E.star.replace([INVARIANT NotExist1, INVARIANT NotExist2]): // KLE.E.asType([INVARIANT Int, INVARIANT String]): // KLE.E.asType([INVARIANT NotExist1, INVARIANT NotExist2]): // KLE.E.asType(emptyList()): KLE.E // END // MODULE: lib // FILE: JL.java class JL {} class JL1 {} enum JLE { E } // FILE: KL.kt class KL class KL1 enum class KLE { E } // MODULE: main(lib) // FILE: JS.java class JS {} class JS1 {} enum JSE { E } // FILE: KS.kt class KS class KS1 enum class KSE { E } val x: KS = TODO() val y: KS = TODO()