[LL FIR] make script initializers independent

Now we can resolve all script declarations independently

^KT-65344 Fixed
This commit is contained in:
Dmitrii Gridin
2024-02-05 15:57:24 +01:00
committed by Space Team
parent d59b8b3244
commit 58ad26ee5b
26 changed files with 535 additions and 362 deletions
@@ -3,7 +3,6 @@ with default settings:
[qualifier] one.A
with DO_NOT_SHORTEN:
with SHORTEN_IF_ALREADY_IMPORTED:
[qualifier] one.A
with SHORTEN_AND_IMPORT:
[qualifier] one.A
with SHORTEN_AND_STAR_IMPORT:
@@ -334,9 +334,6 @@ fun FirElementWithResolveState.tryCollectDesignationWithFile(): FirDesignation?
return when (this) {
is FirSyntheticProperty, is FirSyntheticPropertyAccessor -> unexpectedElementError<FirElementWithResolveState>(this)
is FirFileAnnotationsContainer, is FirDeclaration -> {
val scriptDesignation = (this as? FirDeclaration)?.scriptDesignation()
if (scriptDesignation != null) return scriptDesignation
val path = collectDesignationPath(this) ?: return null
val firFile = path.lastOrNull()?.getContainingFile() ?: getContainingFile() ?: return null
FirDesignation(path = listOf(firFile) + path, target = this)
@@ -346,17 +343,6 @@ fun FirElementWithResolveState.tryCollectDesignationWithFile(): FirDesignation?
}
}
private fun FirDeclaration.scriptDesignation(): FirDesignation? {
return when {
this is FirAnonymousInitializer -> {
val firScriptSymbol = (containingDeclarationSymbol as? FirScriptSymbol) ?: return null
val firFile = firScriptSymbol.fir.getContainingFile() ?: return null
FirDesignation(path = listOf(firFile), target = firScriptSymbol.fir)
}
else -> null
}
}
internal fun patchDesignationPathIfNeeded(target: FirElementWithResolveState, targetPath: List<FirDeclaration>): List<FirDeclaration> {
return patchDesignationPathForCopy(target, targetPath) ?: targetPath
}
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
@@ -302,12 +302,7 @@ internal fun getNonLocalContainingDeclaration(
when (parent) {
is KtScript -> propose(parent)
is KtDestructuringDeclaration -> propose(parent)
is KtScriptInitializer -> {
val blockExpression = parent.parent as? KtBlockExpression
if (blockExpression?.statements?.lastOrNull() == parent && predicate(parent)) {
propose(parent)
}
}
is KtScriptInitializer -> propose(parent)
is KtClassInitializer -> {
val container = parent.containingDeclaration
if (!container.isObjectLiteral() &&
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.util.findSourceNonLocalFi
import org.jetbrains.kotlin.diagnostics.KtPsiDiagnostic
import org.jetbrains.kotlin.fir.correspondingProperty
import org.jetbrains.kotlin.fir.declarations.FirDanglingModifierList
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirFile
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.impl.FirPrimaryConstructor
@@ -142,15 +141,7 @@ internal class FileStructure private constructor(
override fun visitDeclaration(dcl: KtDeclaration) {
val structureElement = getStructureElementFor(dcl)
// workaround to not duplicate diagnostics in the case of FirAnonymousInitializer in the last position
// will be dropped in the context of KT-65344
if (dcl !is KtScriptInitializer ||
structureElement is DeclarationBaseStructureElement<*> &&
structureElement.declaration.origin == FirDeclarationOrigin.ScriptCustomization.ResultProperty
) {
structureElements += structureElement
}
structureElements += structureElement
// Go down only in the case of container declaration
val canHaveInnerStructure = dcl is KtClassOrObject || dcl is KtScript
@@ -1,5 +1,5 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostics.FileStructure
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostics.ScriptDiagnosticRetriever
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostics.SingleNonLocalDeclarationDiagnosticRetriever
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostics.isImplicitConstructor
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isElementWhichShouldBeResolvedAsPartOfScript
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.correspondingProperty
import org.jetbrains.kotlin.fir.declarations.*
@@ -141,11 +140,6 @@ internal class RootScriptStructureElement(
internal fun <T, R> visitScriptDependentElements(script: FirScript, visitor: FirVisitor<T, R>, data: R) {
script.annotations.forEach { it.accept(visitor, data) }
script.contextReceivers.forEach { it.accept(visitor, data) }
script.declarations.forEach {
if (it.isElementWhichShouldBeResolvedAsPartOfScript) {
it.accept(visitor, data)
}
}
}
internal class ClassDeclarationStructureElement(
@@ -867,13 +867,4 @@ private abstract class FirLazyBodiesCalculatorTransformer : FirTransformer<Persi
return codeFragment
}
override fun transformScript(script: FirScript, data: PersistentList<FirDeclaration>): FirScript {
for (declaration in script.declarations) {
if (declaration !is FirAnonymousInitializer) continue
declaration.accept(this, data)
}
return script
}
}
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.isElementWhichShouldBeResolvedAsPartOfScript
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirElementWithResolveState
import org.jetbrains.kotlin.fir.declarations.*
@@ -31,14 +30,7 @@ internal object LLFirPhaseUpdater {
}
is FirAnonymousInitializer -> target.body?.accept(PhaseUpdatingTransformer, newPhase)
is FirScript -> {
target.parameters.forEach { it.accept(PhaseUpdatingTransformer, newPhase) }
for (declaration in target.declarations) {
if (!declaration.isElementWhichShouldBeResolvedAsPartOfScript) continue
declaration.accept(PhaseUpdatingTransformer, newPhase)
}
}
is FirScript -> target.parameters.forEach { it.accept(PhaseUpdatingTransformer, newPhase) }
is FirCodeFragment -> target.block.accept(PhaseUpdatingTransformer, newPhase)
}
}
@@ -44,7 +44,6 @@ import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.types.isResolved
import org.jetbrains.kotlin.fir.utils.exceptions.withFirEntry
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.transformSingle
import org.jetbrains.kotlin.psi.KtCodeFragment
import org.jetbrains.kotlin.psi.KtFile
@@ -72,7 +71,6 @@ internal object LLFirBodyLazyResolver : LLFirLazyResolver(FirResolvePhase.BODY_R
checkBodyIsResolved(target)
}
is FirFunction -> checkBodyIsResolved(target)
is FirScript -> checkStatementsAreResolved(target)
}
}
}
@@ -133,6 +131,7 @@ private class LLFirBodyTargetResolver(
return true
}
is FirFile -> {
if (target.resolvePhase >= resolverPhase) return true
@@ -146,12 +145,19 @@ private class LLFirBodyTargetResolver(
return true
}
is FirScript -> {
if (target.resolvePhase >= resolverPhase) return true
// resolve properties so they are available for CFG building in resolveScript
resolveMembersForControlFlowGraph(target)
return false
performCustomResolveUnderLock(target) {
resolve(target, BodyStateKeepers.SCRIPT)
}
return true
}
is FirCodeFragment -> {
resolveCodeFragmentContext(target)
performCustomResolveUnderLock(target) {
@@ -244,7 +250,7 @@ private class LLFirBodyTargetResolver(
private fun resolveMembersForControlFlowGraph(target: FirScript) {
withScript(target) {
for (member in target.declarations) {
if (member is FirControlFlowGraphOwner && member.isUsedInControlFlowGraphBuilderForScript && member !is FirAnonymousInitializer) {
if (member is FirControlFlowGraphOwner && member.isUsedInControlFlowGraphBuilderForScript) {
member.lazyResolveToPhase(resolverPhase.previous)
performResolve(member)
}
@@ -293,14 +299,13 @@ private class LLFirBodyTargetResolver(
if (target is FirCallableDeclaration && target.isCopyCreatedInScope) return
when (target) {
is FirFile, is FirRegularClass, is FirCodeFragment -> error("Should have been resolved in ${::doResolveWithoutLock.name}")
is FirFile, is FirScript, is FirRegularClass, is FirCodeFragment -> error("Should have been resolved in ${::doResolveWithoutLock.name}")
is FirConstructor -> resolve(target, BodyStateKeepers.CONSTRUCTOR)
is FirFunction -> resolve(target, BodyStateKeepers.FUNCTION)
is FirProperty -> resolve(target, BodyStateKeepers.PROPERTY)
is FirField -> resolve(target, BodyStateKeepers.FIELD)
is FirVariable -> resolve(target, BodyStateKeepers.VARIABLE)
is FirAnonymousInitializer -> resolve(target, BodyStateKeepers.ANONYMOUS_INITIALIZER)
is FirScript -> resolve(target, BodyStateKeepers.SCRIPT)
is FirDanglingModifierList,
is FirFileAnnotationsContainer,
is FirTypeAlias,
@@ -327,29 +332,13 @@ private class LLFirBodyTargetResolver(
private fun resolveScript(script: FirScript) {
transformer.declarationsTransformer.withScript(script) {
script.parameters.forEach { it.transformSingle(transformer, ResolutionMode.ContextIndependent) }
script.transformDeclarations(
transformer = object : FirTransformer<Any?>() {
override fun <E : FirElement> transformElement(element: E, data: Any?): E {
if (element !is FirDeclaration || !element.isElementWhichShouldBeResolvedAsPartOfScript) return element
transformer.firResolveContextCollector?.addDeclarationContext(element, transformer.context)
return element.transformSingle(transformer, ResolutionMode.ContextIndependent)
}
},
data = null,
)
script
}
}
}
internal object BodyStateKeepers {
val SCRIPT: StateKeeper<FirScript, FirDesignation> = stateKeeper { script, designation ->
val oldDeclarations = script.declarations
if (oldDeclarations.none { it.isElementWhichShouldBeResolvedAsPartOfScript }) return@stateKeeper
entityList(oldDeclarations.mapNotNull { it as? FirAnonymousInitializer }, ANONYMOUS_INITIALIZER, designation)
val SCRIPT: StateKeeper<FirScript, FirDesignation> = stateKeeper { _, _ ->
add(FirScript::controlFlowGraphReference, FirScript::replaceControlFlowGraphReference)
}
@@ -61,7 +61,7 @@ internal fun KtDeclaration.findSourceNonLocalFirDeclaration(firFile: FirFile, pr
return@findSourceNonLocalFirDeclarationByProvider firScript?.takeIf { it.psi == declaration }
}
firScript?.declarations?.filterNot { it is FirAnonymousInitializer }
firScript?.declarations
} else {
firFile.declarations
}
@@ -204,7 +204,6 @@ val FirDeclaration.isGeneratedDeclaration
internal inline fun FirScript.forEachDeclaration(action: (FirDeclaration) -> Unit) {
for (statement in declarations) {
if (statement.isElementWhichShouldBeResolvedAsPartOfScript) continue
action(statement)
}
}
@@ -228,8 +227,6 @@ internal inline fun FirDeclaration.forEachDeclaration(action: (FirDeclaration) -
}
}
internal val FirDeclaration.isElementWhichShouldBeResolvedAsPartOfScript: Boolean get() = this is FirAnonymousInitializer
/**
* Some "local" declarations are not local from the lazy resolution perspective.
*/
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.utils.isExpect
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirResolvable
import org.jetbrains.kotlin.fir.expressions.UnresolvedExpressionTypeAccess
import org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList
@@ -107,19 +106,6 @@ internal fun checkBodyIsResolved(function: FirFunction) {
}
}
internal fun checkStatementsAreResolved(script: FirScript) {
fun checkExpression(expression: FirExpression) {
checkExpressionTypeIsResolved(expression.coneTypeOrNull, "script statement", script) {
withFirEntry("expression", expression)
}
}
for (declaration in script.declarations) {
if (declaration is FirAnonymousInitializer) {
declaration.body?.statements?.filterIsInstance<FirExpression>()?.forEach(::checkExpression)
}
}
}
internal fun checkExpectForActualIsResolved(memberDeclaration: FirMemberDeclaration) {
if (memberDeclaration.isExpect) return
@@ -14,21 +14,16 @@ Tower Data Context:
Element 6
Scope: FirScriptDeclarationsScope
Classifiers:
FirRegularClassSymbol public final class ScriptClass : R|kotlin/Any|
FirRegularClassSymbol public final? class ScriptClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun foo(i: R|kotlin/Int|, action: R|(kotlin/Int) -> kotlin/Unit|): R|kotlin/Unit|
FirNamedFunctionSymbol public final fun scriptFunction(): R|kotlin/Int|
FirNamedFunctionSymbol public final fun unusedScriptFunction(p: R|kotlin/String|): R|kotlin/Int|
FirNamedFunctionSymbol public? final? fun unusedScriptFunction(p: String): <implicit>
Properties:
FirPropertySymbol public final val $$result: R|kotlin/Unit|
public get(): R|kotlin/Unit|
Element 7
Scope: FirLocalScope
Classifiers:
FirRegularClassSymbol public final class ScriptClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun scriptFunction(): R|kotlin/Int|
FirNamedFunctionSymbol public final fun unusedScriptFunction(p: R|kotlin/String|): R|kotlin/Int|
Properties:
FirPropertySymbol lval args: R|kotlin/Array<kotlin/String>|
Element 8
@@ -37,9 +32,9 @@ Tower Data Context:
SCRIPT: <script-statement.kts>
lval args: R|kotlin/Array<kotlin/String>|
public final class ScriptClass : R|kotlin/Any|
public final? class ScriptClass : R|kotlin/Any|
public final fun scriptFunction(): R|kotlin/Int|
public final fun unusedScriptFunction(p: R|kotlin/String|): R|kotlin/Int|
public? final? fun unusedScriptFunction(p: String): <implicit>
init
public final fun foo(i: R|kotlin/Int|, action: R|(kotlin/Int) -> kotlin/Unit|): R|kotlin/Unit|
public final val $$result: R|kotlin/Unit|
@@ -53,37 +48,30 @@ Tower Data Context:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-statement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class ScriptClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|ScriptClass| {
super<R|kotlin/Any|>()
public final? [ResolvedTo(RAW_FIR)] class ScriptClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] constructor(): R|ScriptClass| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] val memberProperty: R|kotlin/Int| = Int(4)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
}
public final [ResolvedTo(BODY_RESOLVE)] fun scriptFunction(): R|kotlin/Int| {
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun scriptFunction(): R|kotlin/Int| {
^scriptFunction Int(42)
}
public final [ResolvedTo(BODY_RESOLVE)] fun unusedScriptFunction([ResolvedTo(BODY_RESOLVE)] p: R|kotlin/String|): R|kotlin/Int| {
^unusedScriptFunction Int(22)
}
public? final? [ResolvedTo(RAW_FIR)] fun unusedScriptFunction([ResolvedTo(RAW_FIR)] p: String): <implicit> { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/scriptFunction|()
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/Int|, [ResolvedTo(BODY_RESOLVE)] action: R|(kotlin/Int) -> kotlin/Unit|): R|kotlin/Unit| {
R|<local>/action|.R|SubstitutionOverride<kotlin/Function1.invoke: R|kotlin/Unit|>|(R|<local>/i|)
}
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int, [ResolvedTo(RAW_FIR)] action: ( (Int) -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|kotlin/Unit| = R|/foo|(R|/scriptFunction|(), <L> = [ResolvedTo(BODY_RESOLVE)] foo@fun <anonymous>([ResolvedTo(BODY_RESOLVE)] it: R|kotlin/Int|): R|kotlin/Unit| <inline=NoInline> {
R|/scriptFunction|()
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Unit|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION, <L> = LAZY_EXPRESSION)
public [ResolvedTo(RAW_FIR)] get(): <implicit>
@@ -14,21 +14,16 @@ Tower Data Context:
Element 6
Scope: FirScriptDeclarationsScope
Classifiers:
FirRegularClassSymbol public final class ScriptClass : R|kotlin/Any|
FirRegularClassSymbol public final? class ScriptClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun foo(i: R|kotlin/Int|, action: R|(kotlin/Int) -> kotlin/Unit|): R|kotlin/Unit|
FirNamedFunctionSymbol public? final? fun foo(i: Int, action: ( (Int) -> Unit )): R|kotlin/Unit|
FirNamedFunctionSymbol public final fun scriptFunction(): R|kotlin/Int|
FirNamedFunctionSymbol public final fun unusedScriptFunction(p: R|kotlin/String|): R|kotlin/Int|
FirNamedFunctionSymbol public? final? fun unusedScriptFunction(p: String): <implicit>
Properties:
FirPropertySymbol public final val $$result: R|kotlin/Unit|
public get(): R|kotlin/Unit|
FirPropertySymbol public final val $$result: <implicit>
public get(): <implicit>
Element 7
Scope: FirLocalScope
Classifiers:
FirRegularClassSymbol public final class ScriptClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun scriptFunction(): R|kotlin/Int|
FirNamedFunctionSymbol public final fun unusedScriptFunction(p: R|kotlin/String|): R|kotlin/Int|
Properties:
FirPropertySymbol lval args: R|kotlin/Array<kotlin/String>|
Element 8
@@ -37,13 +32,13 @@ Tower Data Context:
SCRIPT: <script-statement.kts>
lval args: R|kotlin/Array<kotlin/String>|
public final class ScriptClass : R|kotlin/Any|
public final? class ScriptClass : R|kotlin/Any|
public final fun scriptFunction(): R|kotlin/Int|
public final fun unusedScriptFunction(p: R|kotlin/String|): R|kotlin/Int|
public? final? fun unusedScriptFunction(p: String): <implicit>
init
public final fun foo(i: R|kotlin/Int|, action: R|(kotlin/Int) -> kotlin/Unit|): R|kotlin/Unit|
public final val $$result: R|kotlin/Unit|
public get(): R|kotlin/Unit|
public? final? fun foo(i: Int, action: ( (Int) -> Unit )): R|kotlin/Unit|
public final val $$result: <implicit>
public get(): <implicit>
Type: kotlin.script.templates.standard.ScriptTemplateWithArgs
Label: <script>
Element 9
@@ -53,37 +48,30 @@ Tower Data Context:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-statement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class ScriptClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|ScriptClass| {
super<R|kotlin/Any|>()
public final? [ResolvedTo(RAW_FIR)] class ScriptClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] constructor(): R|ScriptClass| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] val memberProperty: R|kotlin/Int| = Int(4)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
}
public final [ResolvedTo(BODY_RESOLVE)] fun scriptFunction(): R|kotlin/Int| {
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun scriptFunction(): R|kotlin/Int| {
^scriptFunction Int(42)
}
public final [ResolvedTo(BODY_RESOLVE)] fun unusedScriptFunction([ResolvedTo(BODY_RESOLVE)] p: R|kotlin/String|): R|kotlin/Int| {
^unusedScriptFunction Int(22)
}
public? final? [ResolvedTo(RAW_FIR)] fun unusedScriptFunction([ResolvedTo(RAW_FIR)] p: String): <implicit> { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/scriptFunction|()
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/Int|, [ResolvedTo(BODY_RESOLVE)] action: R|(kotlin/Int) -> kotlin/Unit|): R|kotlin/Unit| {
R|<local>/action|.R|SubstitutionOverride<kotlin/Function1.invoke: R|kotlin/Unit|>|(R|<local>/i|)
}
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int, [ResolvedTo(RAW_FIR)] action: ( (Int) -> Unit )): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] val $$result: R|kotlin/Unit| = R|/foo|(R|/scriptFunction|(), <L> = [ResolvedTo(BODY_RESOLVE)] foo@fun <anonymous>([ResolvedTo(BODY_RESOLVE)] it: R|kotlin/Int|): R|kotlin/Unit| <inline=NoInline> {
R|/scriptFunction|()
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Unit|
public final [ResolvedTo(RAW_FIR)] val $$result: <implicit> = foo#(LAZY_EXPRESSION, <L> = LAZY_EXPRESSION)
public [ResolvedTo(RAW_FIR)] get(): <implicit>
@@ -14,11 +14,11 @@ Tower Data Context:
Element 6
Scope: FirScriptDeclarationsScope
Classifiers:
FirRegularClassSymbol public final class After_OtherClass : R|kotlin/Any|
FirRegularClassSymbol public final class Before_OtherClass : R|kotlin/Any|
FirRegularClassSymbol public final? class After_OtherClass : R|kotlin/Any|
FirRegularClassSymbol public final? class Before_OtherClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun after_Fun(): R|kotlin/Unit|
FirNamedFunctionSymbol public final fun before_Fun(): R|kotlin/Unit|
FirNamedFunctionSymbol public? final? fun after_Fun(): R|kotlin/Unit|
FirNamedFunctionSymbol public? final? fun before_Fun(): R|kotlin/Unit|
Properties:
FirPropertySymbol public final val after_Val: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -26,10 +26,6 @@ Tower Data Context:
public get(): R|kotlin/Int|
Element 7
Scope: FirLocalScope
Classifiers:
FirRegularClassSymbol public final class Before_OtherClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun before_Fun(): R|kotlin/Unit|
Properties:
FirPropertySymbol lval args: R|kotlin/Array<kotlin/String>|
Element 8
@@ -38,17 +34,17 @@ Tower Data Context:
SCRIPT: <script-topLevel.kts>
lval args: R|kotlin/Array<kotlin/String>|
public final fun before_Fun(): R|kotlin/Unit|
public? final? fun before_Fun(): R|kotlin/Unit|
public final val before_Val: R|kotlin/Int|
public get(): R|kotlin/Int|
public final class Before_OtherClass : R|kotlin/Any|
public final? class Before_OtherClass : R|kotlin/Any|
init
public final fun after_Fun(): R|kotlin/Unit|
public? final? fun after_Fun(): R|kotlin/Unit|
public final val after_Val: R|kotlin/Int|
public get(): R|kotlin/Int|
public final class After_OtherClass : R|kotlin/Any|
public final? class After_OtherClass : R|kotlin/Any|
Type: kotlin.script.templates.standard.ScriptTemplateWithArgs
Label: <script>
Element 9
@@ -58,18 +54,17 @@ Tower Data Context:
FILE: [ResolvedTo(IMPORTS)] topLevel.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-topLevel.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-topLevel.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] fun before_Fun(): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] fun before_Fun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] val before_Val: R|kotlin/Int| = Int(10)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public? final? [ResolvedTo(RAW_FIR)] val before_Val: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(STATUS)] class Before_OtherClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|Before_OtherClass| {
super<R|kotlin/Any|>()
public final? [ResolvedTo(RAW_FIR)] class Before_OtherClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] constructor(): R|Before_OtherClass| {
LAZY_super<R|kotlin/Any|>
}
}
@@ -78,13 +73,12 @@ FILE: [ResolvedTo(IMPORTS)] topLevel.kts
R|<local>/args|
}
public final [ResolvedTo(BODY_RESOLVE)] fun after_Fun(): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] fun after_Fun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] val after_Val: R|kotlin/Int| = Int(10)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public? final? [ResolvedTo(RAW_FIR)] val after_Val: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(STATUS)] class After_OtherClass : R|kotlin/Any| {
public final? [ResolvedTo(RAW_FIR)] class After_OtherClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] constructor(): R|After_OtherClass| {
LAZY_super<R|kotlin/Any|>
}
@@ -14,22 +14,18 @@ Tower Data Context:
Element 6
Scope: FirScriptDeclarationsScope
Classifiers:
FirRegularClassSymbol public final class After_OtherClass : R|kotlin/Any|
FirRegularClassSymbol public final class Before_OtherClass : R|kotlin/Any|
FirRegularClassSymbol public final? class After_OtherClass : R|kotlin/Any|
FirRegularClassSymbol public final? class Before_OtherClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun after_Fun(): R|kotlin/Unit|
FirNamedFunctionSymbol public final fun before_Fun(): R|kotlin/Unit|
FirNamedFunctionSymbol public? final? fun after_Fun(): R|kotlin/Unit|
FirNamedFunctionSymbol public? final? fun before_Fun(): R|kotlin/Unit|
Properties:
FirPropertySymbol public final val after_Val: R|kotlin/Int|
public get(): R|kotlin/Int|
FirPropertySymbol public final val before_Val: R|kotlin/Int|
public get(): R|kotlin/Int|
FirPropertySymbol public? final? val after_Val: <implicit>
public? get(): <implicit>
FirPropertySymbol public? final? val before_Val: <implicit>
public? get(): <implicit>
Element 7
Scope: FirLocalScope
Classifiers:
FirRegularClassSymbol public final class Before_OtherClass : R|kotlin/Any|
Functions
FirNamedFunctionSymbol public final fun before_Fun(): R|kotlin/Unit|
Properties:
FirPropertySymbol lval args: R|kotlin/Array<kotlin/String>|
Element 8
@@ -38,17 +34,17 @@ Tower Data Context:
SCRIPT: <script-topLevel.kts>
lval args: R|kotlin/Array<kotlin/String>|
public final fun before_Fun(): R|kotlin/Unit|
public final val before_Val: R|kotlin/Int|
public get(): R|kotlin/Int|
public? final? fun before_Fun(): R|kotlin/Unit|
public? final? val before_Val: <implicit>
public? get(): <implicit>
public final class Before_OtherClass : R|kotlin/Any|
public final? class Before_OtherClass : R|kotlin/Any|
init
public final fun after_Fun(): R|kotlin/Unit|
public final val after_Val: R|kotlin/Int|
public get(): R|kotlin/Int|
public? final? fun after_Fun(): R|kotlin/Unit|
public? final? val after_Val: <implicit>
public? get(): <implicit>
public final class After_OtherClass : R|kotlin/Any|
public final? class After_OtherClass : R|kotlin/Any|
Type: kotlin.script.templates.standard.ScriptTemplateWithArgs
Label: <script>
Element 9
@@ -58,18 +54,17 @@ Tower Data Context:
FILE: [ResolvedTo(IMPORTS)] topLevel.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-topLevel.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-topLevel.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] fun before_Fun(): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] fun before_Fun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] val before_Val: R|kotlin/Int| = Int(10)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public? final? [ResolvedTo(RAW_FIR)] val before_Val: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class Before_OtherClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] constructor(): R|Before_OtherClass| {
super<R|kotlin/Any|>()
public final? [ResolvedTo(RAW_FIR)] class Before_OtherClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] constructor(): R|Before_OtherClass| {
LAZY_super<R|kotlin/Any|>
}
}
@@ -78,14 +73,13 @@ FILE: [ResolvedTo(IMPORTS)] topLevel.kts
R|<local>/args|
}
public final [ResolvedTo(BODY_RESOLVE)] fun after_Fun(): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] fun after_Fun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] val after_Val: R|kotlin/Int| = Int(10)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public? final? [ResolvedTo(RAW_FIR)] val after_Val: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
public final [ResolvedTo(STATUS)] class After_OtherClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] constructor(): R|After_OtherClass| {
public final? [ResolvedTo(RAW_FIR)] class After_OtherClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] constructor(): R|After_OtherClass| {
LAZY_super<R|kotlin/Any|>
}
@@ -10,12 +10,12 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] compoundAssignOnVarScript.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-compoundAssignOnVarScript.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-compoundAssignOnVarScript.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(BODY_RESOLVE)] var i: R|kotlin/Int| = Int(1)
public [ResolvedTo(BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] set([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var i: R|kotlin/Int| = Int(1)
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|kotlin/Int|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] value: R|kotlin/Int|): R|kotlin/Unit|
[ResolvedTo(BODY_RESOLVE)] init {
R|/i| = R|/i|.R|kotlin/Int.plus|(Int(1))
@@ -8,8 +8,8 @@ String()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] assignment.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-assignment.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-assignment.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -20,9 +20,7 @@ FILE: [ResolvedTo(IMPORTS)] assignment.kts
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=Builder] get(): R|kotlin/String|
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=Builder] set([ResolvedTo(CONTRACTS)] value: R|kotlin/String|): R|kotlin/Unit|
public final [ResolvedTo(CONTRACTS)] fun execute(): R|kotlin/Unit| {
println#(version#)
}
public final [ResolvedTo(STATUS)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -30,33 +28,15 @@ FILE: [ResolvedTo(IMPORTS)] assignment.kts
^build R|/Builder.Builder|().R|kotlin/apply|<R|Builder|>(R|<local>/action|)
}
[ResolvedTo(BODY_RESOLVE)] init {
R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(123)
local final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|<local>/A| {
super<R|kotlin/Any|>()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|kotlin/Unit| {
}
}
this@R|special/anonymous|.R|/Builder.execute|()
}
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|Builder|
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
@@ -8,8 +8,8 @@ this@R|special/anonymous|.R|/Builder.execute|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] callInsideStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-callInsideStatement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-callInsideStatement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -48,16 +48,11 @@ FILE: [ResolvedTo(IMPORTS)] callInsideStatement.kts
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
@@ -10,8 +10,8 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] firstStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-firstStatement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-firstStatement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo Int(4)
@@ -21,9 +21,6 @@ FILE: [ResolvedTo(IMPORTS)] firstStatement.kts
R|/foo|()
}
[ResolvedTo(BODY_RESOLVE)] init {
R|/bar|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
public final [ResolvedTo(CONTRACTS)] fun bar(): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -8,8 +8,8 @@ R|/foo|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] firstStatementCall.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-firstStatementCall.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-firstStatementCall.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo Int(4)
@@ -19,9 +19,6 @@ FILE: [ResolvedTo(IMPORTS)] firstStatementCall.kts
R|/foo|()
}
[ResolvedTo(BODY_RESOLVE)] init {
R|/bar|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
public final [ResolvedTo(CONTRACTS)] fun bar(): R|kotlin/Unit| {
}
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit| { LAZY_BLOCK }
@@ -10,20 +10,16 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] secondStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-secondStatement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-secondStatement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo Int(4)
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/foo|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/bar|()
}
public final [ResolvedTo(CONTRACTS)] fun bar(): R|kotlin/Unit| {
}
}
@@ -8,20 +8,16 @@ R|/bar|()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] secondStatementCall.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-secondStatementCall.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-secondStatementCall.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo(): R|kotlin/Int| {
^foo Int(4)
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): <implicit> { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/foo|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/bar|()
}
public final [ResolvedTo(CONTRACTS)] fun bar(): R|kotlin/Unit| {
}
}
@@ -8,8 +8,8 @@ R|/builder|.R|/Builder.version| = String()
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] assignmentStatement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-assignmentStatement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-assignmentStatement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -20,9 +20,7 @@ FILE: [ResolvedTo(IMPORTS)] assignmentStatement.kts
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=Builder] get(): R|kotlin/String|
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=Builder] set([ResolvedTo(CONTRACTS)] value: R|kotlin/String|): R|kotlin/Unit|
public final [ResolvedTo(CONTRACTS)] fun execute(): R|kotlin/Unit| {
println#(version#)
}
public final [ResolvedTo(STATUS)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
public final? [ResolvedTo(RAW_FIR)] class NestedBuilder : Builder {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedBuilder] constructor(): R|Builder.NestedBuilder| {
@@ -37,33 +35,15 @@ FILE: [ResolvedTo(IMPORTS)] assignmentStatement.kts
^build R|/Builder.Builder|().R|kotlin/apply|<R|Builder|>(R|<local>/action|)
}
[ResolvedTo(BODY_RESOLVE)] init {
R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(123)
local final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|<local>/A| {
super<R|kotlin/Any|>()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
public final [ResolvedTo(BODY_RESOLVE)] fun doo(): R|kotlin/Unit| {
}
}
this@R|special/anonymous|.R|/Builder.execute|()
}
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): R|Builder|
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
@@ -24,8 +24,8 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] scriptInitializer.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-scriptInitializer.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-scriptInitializer.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -71,16 +71,11 @@ FILE: [ResolvedTo(IMPORTS)] scriptInitializer.kts
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
@@ -24,8 +24,8 @@ FIR element rendered:
FIR FILE:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-statement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public open [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -71,16 +71,11 @@ FILE: [ResolvedTo(IMPORTS)] statement.kts
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
+370 -12
View File
@@ -1,8 +1,371 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(COMPANION_GENERATION)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(SUPER_TYPES)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
TYPES:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(TYPES)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
STATUS:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(STATUS)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(EXPECT_ACTUAL_MATCHING)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(CONTRACTS)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Builder : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] constructor(): R|Builder| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] var version: String = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] get(): String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Builder] set([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun execute(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? final? [ResolvedTo(RAW_FIR)] fun build([ResolvedTo(RAW_FIR)] action: ( Builder.() -> Unit )): <implicit> { LAZY_BLOCK }
[ResolvedTo(ANNOTATION_ARGUMENTS)] init { LAZY_BLOCK }
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] statement.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(BODY_RESOLVE)] <script-statement.kts>
[ResolvedTo(BODY_RESOLVE)] lval args: R|kotlin/Array<kotlin/String>|
SCRIPT: [ResolvedTo(TYPES)] <script-statement.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final [ResolvedTo(STATUS)] class Builder : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Builder] constructor(): R|Builder| {
@@ -41,18 +404,13 @@ FILE: [ResolvedTo(IMPORTS)] statement.kts
)
}
public final [ResolvedTo(BODY_RESOLVE)] val builder: R|Builder| = R|/build|(<L> = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=@ExtensionFunctionType kotlin/Function1<Builder, kotlin/Unit>] build@fun R|Builder|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|/Builder.version| = String(321)
}
)
public [ResolvedTo(BODY_RESOLVE)] get(): R|Builder|
public? final? [ResolvedTo(RAW_FIR)] val builder: <implicit> = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] get(): <implicit>
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.execute|()
}
[ResolvedTo(RAW_FIR)] init { LAZY_BLOCK }
[ResolvedTo(BODY_RESOLVE)] init {
R|/builder|.R|/Builder.version| = String()
[ResolvedTo(RAW_FIR)] init {
builder#.version# = String()
}
@@ -8,7 +8,7 @@
/* anchor --> */fun build(/* anchor --> */action: Builder.() -> Unit/* <-- */) = Builder().apply(action)/* <-- */
build {
/* anchor --> */build {
version = "123"
class A {
fun doo() {
@@ -17,7 +17,7 @@ build {
}
execute()
}
}/* <-- */
/* anchor --> */val builder = build {
version = "321"