K2 Scripting: enable script processing in diagnostics collector

and add scripts to containing decls in checker context te be able to
check for containing script in checkers
This commit is contained in:
Ilya Chernikov
2023-05-25 12:14:45 +02:00
committed by Space Team
parent f79f715590
commit 86b3e65d19
4 changed files with 22 additions and 5 deletions
@@ -94,6 +94,15 @@ abstract class AbstractDiagnosticCollectorVisitor(
}
}
override fun visitScript(script: FirScript, data: Nothing?) {
withAnnotationContainer(script) {
checkElement(script)
withDeclaration(script) {
visitNestedElements(script)
}
}
}
override fun visitSimpleFunction(simpleFunction: FirSimpleFunction, data: Nothing?) {
withAnnotationContainer(simpleFunction) {
visitWithDeclarationAndReceiver(simpleFunction, simpleFunction.name, simpleFunction.receiverParameter)
@@ -16,10 +16,10 @@ get() = 42
val testValLineBreakNoType
get() = 42
<!MUST_BE_INITIALIZED!>val testValLineBreakSemi: Int<!>;
val testValLineBreakSemi: Int;
<!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
<!MUST_BE_INITIALIZED!>val testValLineBreakSemiNoType<!>;
val testValLineBreakSemiNoType;
<!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
var testVarLineBreak: Int
@@ -30,10 +30,10 @@ var String.testExtVarLineBreak: Int
get() = 42
set(value) {}
<!MUST_BE_INITIALIZED!>var testVarLineBreakSemi: Int<!>;
var testVarLineBreakSemi: Int;
<!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {}
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.testExtVarLineBreakSemi: Int<!>;
var String.testExtVarLineBreakSemi: Int;
<!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {}
@@ -0,0 +1,9 @@
<!TOPLEVEL_TYPEALIASES_ONLY!>typealias TopLevelInScript = String<!>
class C {
<!TOPLEVEL_TYPEALIASES_ONLY!>typealias NestedInClass = String<!>
}
fun foo() {
<!TOPLEVEL_TYPEALIASES_ONLY!>typealias Local = String<!>
}
@@ -1,4 +1,3 @@
// FIR_IDENTICAL
typealias TopLevelInScript = String
class C {