[LL FIR] rework FirDesignation collector

The main change – now we collect not only `FirRegularClass`, but also
`FirScript`.
This allows us to have a proper context collector for
diagnostics for scripts.
Also, this change fixes dangling files for scripts in `IGNORE_SELF`
as now we have the correct patcher for this case, so we won't resolve
the copied script

^KT-65345
^KT-62841 Fixed
This commit is contained in:
Dmitrii Gridin
2024-01-29 21:14:25 +01:00
committed by Space Team
parent f06b17cbb2
commit 39131a7f30
10 changed files with 190 additions and 471 deletions
@@ -14,7 +14,7 @@ Tower Data Context:
Element 6
Scope: FirScriptDeclarationsScope
Classifiers:
FirRegularClassSymbol public final? class Foo : R|kotlin/Any|
FirRegularClassSymbol public final class Foo : R|kotlin/Any|
Element 7
Scope: FirLocalScope
Classifiers:
@@ -27,7 +27,7 @@ Tower Data Context:
SCRIPT: <script-insideClassBody.kts>
lval args: R|kotlin/Array<kotlin/String>|
public final? class Foo : R|kotlin/Any|
public final class Foo : R|kotlin/Any|
Type: kotlin.script.templates.standard.ScriptTemplateWithArgs
Label: <script>
Element 9
@@ -38,8 +38,8 @@ Tower Data Context:
Scope: FirLocalScope
FILE: [ResolvedTo(IMPORTS)] insideClassBody.kts
context(<script>@R|kotlin/script/templates/standard/ScriptTemplateWithArgs|)
SCRIPT: [ResolvedTo(TYPES)] <script-insideClassBody.kts>
context(<script>@kotlin.script.templates.standard.ScriptTemplateWithArgs)
SCRIPT: [ResolvedTo(RAW_FIR)] <script-insideClassBody.kts>
[ResolvedTo(RAW_FIR)] lval args: R|kotlin/Array<kotlin/String>|
public final? [ResolvedTo(RAW_FIR)] class Foo : R|kotlin/Any| {