1*af87fb4bSXin Li /* 2*af87fb4bSXin Li * Copyright 2020 Google LLC 3*af87fb4bSXin Li * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. 4*af87fb4bSXin Li * 5*af87fb4bSXin Li * Licensed under the Apache License, Version 2.0 (the "License"); 6*af87fb4bSXin Li * you may not use this file except in compliance with the License. 7*af87fb4bSXin Li * You may obtain a copy of the License at 8*af87fb4bSXin Li * 9*af87fb4bSXin Li * http://www.apache.org/licenses/LICENSE-2.0 10*af87fb4bSXin Li * 11*af87fb4bSXin Li * Unless required by applicable law or agreed to in writing, software 12*af87fb4bSXin Li * distributed under the License is distributed on an "AS IS" BASIS, 13*af87fb4bSXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*af87fb4bSXin Li * See the License for the specific language governing permissions and 15*af87fb4bSXin Li * limitations under the License. 16*af87fb4bSXin Li */ 17*af87fb4bSXin Li 18*af87fb4bSXin Li // TEST PROCESSOR: ImplicitElementProcessor 19*af87fb4bSXin Li // EXPECTED: 20*af87fb4bSXin Li // <init>; origin: SYNTHETIC 21*af87fb4bSXin Li // synthetic constructor for Cls 22*af87fb4bSXin Li // <null> 23*af87fb4bSXin Li // <null> 24*af87fb4bSXin Li // <init>,<init>,<init> 25*af87fb4bSXin Li // readOnly.get(): SYNTHETIC annotations from property: GetAnno 26*af87fb4bSXin Li // readOnly.getter.owner: readOnly: KOTLIN 27*af87fb4bSXin Li // readWrite.get(): KOTLIN 28*af87fb4bSXin Li // readWrite.set(): SYNTHETIC annotations from property: SetAnno 29*af87fb4bSXin Li // <init> 30*af87fb4bSXin Li // comp1.get(): SYNTHETIC 31*af87fb4bSXin Li // comp2.get(): SYNTHETIC 32*af87fb4bSXin Li // comp2.set(): SYNTHETIC 33*af87fb4bSXin Li // GetAnno 34*af87fb4bSXin Li // <init> 35*af87fb4bSXin Li // synthetic constructor for ImplictConstructorJava 36*af87fb4bSXin Li // END 37*af87fb4bSXin Li // FILE: a.kt 38*af87fb4bSXin Li annotation class GetAnno 39*af87fb4bSXin Li annotation class SetAnno 40*af87fb4bSXin Li 41*af87fb4bSXin Li class Cls { 42*af87fb4bSXin Li @get:GetAnno 43*af87fb4bSXin Li val readOnly: Int = 1 44*af87fb4bSXin Li 45*af87fb4bSXin Li @set:SetAnno 46*af87fb4bSXin Li var readWrite: Int = 2 47*af87fb4bSXin Li get() = 1 48*af87fb4bSXin Li } 49*af87fb4bSXin Li 50*af87fb4bSXin Li data class Data(@get:GetAnno val comp1: Int, var comp2: Int) 51*af87fb4bSXin Li 52*af87fb4bSXin Li class ClassWithoutImplicitPrimaryConstructor : ITF { 53*af87fb4bSXin Li constructor(x: Int) 54*af87fb4bSXin Li } 55*af87fb4bSXin Li 56*af87fb4bSXin Li interface ITF 57*af87fb4bSXin Li 58*af87fb4bSXin Li // FILE: JavaClass.java 59*af87fb4bSXin Li public class JavaClass { 60*af87fb4bSXin Li public JavaClass() { this(1); } 61*af87fb4bSXin Li public JavaClass(int a) { this(a, "ok"); } 62*af87fb4bSXin Li public JavaClass(int a, String s) { } 63*af87fb4bSXin Li } 64*af87fb4bSXin Li 65*af87fb4bSXin Li // FILE:ImplictConstructorJava.java 66*af87fb4bSXin Li 67*af87fb4bSXin Li public class ImplictConstructorJava { 68*af87fb4bSXin Li 69*af87fb4bSXin Li }