Files
kotlin-fork/compiler/testData/diagnostics/tests/inline/publishedApi.kt
T
Dmitriy Novozhilov e6b5cb5216 [TD] Update diagnostics test data due to new test runners
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00

176 lines
5.2 KiB
Kotlin
Vendored

// !DIAGNOSTICS: -EXPOSED_PARAMETER_TYPE -NOTHING_TO_INLINE
inline fun call(a: A) {
a.test()
publishedTopLevel()
a.publishedVar
a.publishedVar = 1
publishedVarTopLevel
publishedVarTopLevel = 1
}
inline var inlineVar: Int
get() {
val a = A()
a.test()
publishedTopLevel()
a.publishedVar
a.publishedVar = 1
publishedVarTopLevel
publishedVarTopLevel = 1
return 1
}
set(<!UNUSED_PARAMETER!>value<!>) {
val a = A()
a.test()
publishedTopLevel()
a.publishedVar
a.publishedVar = 1
publishedVarTopLevel
publishedVarTopLevel = 1
}
@PublishedApi
internal class A {
@PublishedApi
internal fun test() {
publicFun()
internalFun()
privateFun()
publicVarTopLevel
publicVarTopLevel = 1
internalVarTopLevel
internalVarTopLevel = 1
privateVarTopLevel
privateVarTopLevel = 1
publishedVar
publishedVar = 1
}
@PublishedApi
internal inline fun testInline() {
publicFun()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
publicVarTopLevel
publicVarTopLevel = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
publishedVar
publishedVar = 1
}
@PublishedApi
internal inline var publishedVar: Int
get() {
publicFun()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
publicVarTopLevel
publicVarTopLevel = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
return 1
}
set(<!UNUSED_PARAMETER!>value<!>) {
publicFun()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
publicVarTopLevel
publicVarTopLevel = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
}
}
@PublishedApi
internal fun publishedTopLevel() {
publicFun()
internalFun()
privateFun()
publicVarTopLevel
publicVarTopLevel = 1
internalVarTopLevel
internalVarTopLevel = 1
privateVarTopLevel
privateVarTopLevel = 1
}
@PublishedApi
inline internal fun publishedTopLevelInline() {
publicFun()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
publicVarTopLevel
publicVarTopLevel = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
}
@PublishedApi
inline internal var publishedVarTopLevel: Int
get() {
publicFun()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
publicVarTopLevel
publicVarTopLevel = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
return 1
}
set(<!UNUSED_PARAMETER!>value<!>) {
publicFun()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalFun<!>()
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateFun<!>()
publicVarTopLevel
publicVarTopLevel = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>internalVarTopLevel<!> = 1
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!>
<!NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, NON_PUBLIC_CALL_FROM_PUBLIC_INLINE!>privateVarTopLevel<!> = 1
}
fun publicFun() {}
internal fun internalFun() {}
private fun privateFun() {}
var publicVarTopLevel = 1
internal var internalVarTopLevel = 1
private var privateVarTopLevel = 1