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: DefaultFunctionProcessor 19*af87fb4bSXin Li // EXPECTED: 20*af87fb4bSXin Li // funLiteral: false 21*af87fb4bSXin Li // funWithBody: false 22*af87fb4bSXin Li // emptyFun: true 23*af87fb4bSXin Li // foo: false 24*af87fb4bSXin Li // bar: true 25*af87fb4bSXin Li // iterator: true 26*af87fb4bSXin Li // equals: false 27*af87fb4bSXin Li // interfaceProperty: isAbstract: true: isMutable: false 28*af87fb4bSXin Li // interfaceVar: isAbstract: true: isMutable: true 29*af87fb4bSXin Li // nonAbstractInterfaceProp: isAbstract: false: isMutable: false 30*af87fb4bSXin Li // B: true 31*af87fb4bSXin Li // parameterVal: isAbstract: false: isMutable: false 32*af87fb4bSXin Li // parameterVar: isAbstract: false: isMutable: true 33*af87fb4bSXin Li // abstractVar: isAbstract: true: isMutable: true 34*af87fb4bSXin Li // abstractProperty: isAbstract: true: isMutable: false 35*af87fb4bSXin Li // a: false 36*af87fb4bSXin Li // normalField: isMutable: true 37*af87fb4bSXin Li // finalField: isMutable: false 38*af87fb4bSXin Li // END 39*af87fb4bSXin Li // FILE: a.kt 40*af87fb4bSXin Li interface KTInterface: Sequence<String> { funLiteralnull41*af87fb4bSXin Li fun funLiteral() = 1 42*af87fb4bSXin Li 43*af87fb4bSXin Li fun funWithBody(): Int { 44*af87fb4bSXin Li return 1 45*af87fb4bSXin Li } 46*af87fb4bSXin Li emptyFunnull47*af87fb4bSXin Li fun emptyFun() 48*af87fb4bSXin Li 49*af87fb4bSXin Li val interfaceProperty: String 50*af87fb4bSXin Li 51*af87fb4bSXin Li var interfaceVar: Int 52*af87fb4bSXin Li 53*af87fb4bSXin Li val nonAbstractInterfaceProp: Int 54*af87fb4bSXin Li get() = 1 55*af87fb4bSXin Li } 56*af87fb4bSXin Li 57*af87fb4bSXin Li abstract class B(val parameterVal: String, var parameterVar: String) { 58*af87fb4bSXin Li abstract var abstractVar: String 59*af87fb4bSXin Li abstract val abstractProperty: String 60*af87fb4bSXin Li val a: String = "str" 61*af87fb4bSXin Li } 62*af87fb4bSXin Li 63*af87fb4bSXin Li // FILE: C.java 64*af87fb4bSXin Li interface C { <lambda>null65*af87fb4bSXin Li default int foo() { 66*af87fb4bSXin Li return 1; 67*af87fb4bSXin Li } 68*af87fb4bSXin Li 69*af87fb4bSXin Li int bar() 70*af87fb4bSXin Li } 71*af87fb4bSXin Li 72*af87fb4bSXin Li // FILE: D.java 73*af87fb4bSXin Li 74*af87fb4bSXin Li class D { 75*af87fb4bSXin Li int normalField; 76*af87fb4bSXin Li 77*af87fb4bSXin Li final int finalField; 78*af87fb4bSXin Li } 79