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?) { override fun visitSimpleFunction(simpleFunction: FirSimpleFunction, data: Nothing?) {
withAnnotationContainer(simpleFunction) { withAnnotationContainer(simpleFunction) {
visitWithDeclarationAndReceiver(simpleFunction, simpleFunction.name, simpleFunction.receiverParameter) visitWithDeclarationAndReceiver(simpleFunction, simpleFunction.name, simpleFunction.receiverParameter)
@@ -16,10 +16,10 @@ get() = 42
val testValLineBreakNoType val testValLineBreakNoType
get() = 42 get() = 42
<!MUST_BE_INITIALIZED!>val testValLineBreakSemi: Int<!>; val testValLineBreakSemi: Int;
<!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42 <!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
<!MUST_BE_INITIALIZED!>val testValLineBreakSemiNoType<!>; val testValLineBreakSemiNoType;
<!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42 <!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
var testVarLineBreak: Int var testVarLineBreak: Int
@@ -30,10 +30,10 @@ var String.testExtVarLineBreak: Int
get() = 42 get() = 42
set(value) {} set(value) {}
<!MUST_BE_INITIALIZED!>var testVarLineBreakSemi: Int<!>; var testVarLineBreakSemi: Int;
<!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42 <!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {} <!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 <!VARIABLE_EXPECTED!><!UNRESOLVED_REFERENCE!>get<!>()<!> = 42
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {} <!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 typealias TopLevelInScript = String
class C { class C {