[LL FIR] add script tests for AbstractFileStructureTest
^KT-60728
This commit is contained in:
committed by
Space Team
parent
c79bdd8ce3
commit
3ed5ccbb6f
+11
@@ -0,0 +1,11 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class X {
|
||||||
|
var x: Int
|
||||||
|
get() = field
|
||||||
|
set(value) {
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
|
||||||
|
val y = 42
|
||||||
|
|
||||||
|
var z: Int = 15
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class A {
|
||||||
|
fun x() {
|
||||||
|
|
||||||
|
}
|
||||||
|
fun y(): Int = 10
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class A
|
||||||
|
|
||||||
|
(val a: Int)
|
||||||
|
|
||||||
|
{
|
||||||
|
constructor() : this(1) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class Foo {
|
||||||
|
@Suppress("") @MustBeDocumented
|
||||||
|
}
|
||||||
|
class Bar {
|
||||||
|
@Suppress("") @MustBeDocumented
|
||||||
|
}
|
||||||
|
class Outer {
|
||||||
|
class Inner {
|
||||||
|
@Suppress("") @MustBeDocumented
|
||||||
|
}
|
||||||
|
fun foo() {
|
||||||
|
class Local {
|
||||||
|
@Suppress("") @MustBeDocumented
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class A {
|
||||||
|
val a = run {
|
||||||
|
class X()
|
||||||
|
|
||||||
|
val y = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inline fun <R> run(block: () -> R): R {
|
||||||
|
return block()
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */enum class A {
|
||||||
|
X,
|
||||||
|
Y,
|
||||||
|
Z
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
fun foo(){}
|
||||||
|
|
||||||
|
val x = 10
|
||||||
|
|
||||||
|
fun bar() = 10
|
||||||
|
}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */enum class A {
|
||||||
|
X {
|
||||||
|
fun localInX() = 1
|
||||||
|
},
|
||||||
|
Y {
|
||||||
|
override fun foo() {}
|
||||||
|
},
|
||||||
|
Z,
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
open fun foo() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class A {
|
||||||
|
init {
|
||||||
|
val x = 10
|
||||||
|
class B
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun a() {
|
||||||
|
class X
|
||||||
|
}
|
||||||
|
|
||||||
|
class Y {
|
||||||
|
fun b() {
|
||||||
|
class Z
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun x() {
|
||||||
|
fun y() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class A {
|
||||||
|
fun z() {
|
||||||
|
fun q() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() {
|
||||||
|
var x: Int
|
||||||
|
}
|
||||||
|
class A {
|
||||||
|
fun q() {
|
||||||
|
val y = 42
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class B {
|
||||||
|
class C {
|
||||||
|
fun u() {
|
||||||
|
var z: Int = 15
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class A {
|
||||||
|
typealias X = Int
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class A {
|
||||||
|
class B {
|
||||||
|
fun x() {
|
||||||
|
}
|
||||||
|
|
||||||
|
class C {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class E {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun y(): Int = 10
|
||||||
|
}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */var x: Int = 10
|
||||||
|
get() = field
|
||||||
|
set(value) {
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
|
||||||
|
class X {
|
||||||
|
var y: Int = 10
|
||||||
|
get() = field
|
||||||
|
set(value) {
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */class Builder {
|
||||||
|
var version: String = ""
|
||||||
|
|
||||||
|
fun execute() {
|
||||||
|
println(version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun build(action: Builder.() -> Unit) = Builder().apply(action)
|
||||||
|
|
||||||
|
build {
|
||||||
|
version = "123"
|
||||||
|
class A {
|
||||||
|
fun doo() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
execute()
|
||||||
|
}
|
||||||
|
|
||||||
|
val builder = build {
|
||||||
|
version = "321"
|
||||||
|
}
|
||||||
|
|
||||||
|
builder.execute()
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */open class A
|
||||||
|
(init: A.() -> Unit)
|
||||||
|
{
|
||||||
|
val prop: String = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
class B() : A()
|
||||||
|
|
||||||
|
object C : A(
|
||||||
|
{
|
||||||
|
fun foo() = B.prop.toString()
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
val f = object : A(
|
||||||
|
{
|
||||||
|
fun bar() = B.prop.toString()
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class D : A(
|
||||||
|
{
|
||||||
|
fun foo() = B.prop.toString()
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
constructor(): super(
|
||||||
|
{
|
||||||
|
fun boo() = prop.toString()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun foo(): Int = 42
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() = 42
|
||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun foo(): Int {
|
||||||
|
println("")
|
||||||
|
return 10
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */var x: Int
|
||||||
|
get() = field
|
||||||
|
set(value) {
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
|
||||||
|
val y = 42
|
||||||
|
|
||||||
|
var z: Int = 15
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun foo() {
|
||||||
|
println("")
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/* NonReanalyzableNonClassDeclarationStructureElement */fun (a: Int = 1): String = "str"
|
||||||
|
|
||||||
|
fun () {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
val : Int = 4
|
||||||
|
|
||||||
|
var : Int
|
||||||
|
get() = 4
|
||||||
|
set(value) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class A {
|
||||||
|
fun (a: Int = 1): String = "str"
|
||||||
|
|
||||||
|
fun () {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
val : Int = 4
|
||||||
|
|
||||||
|
var : Boolean
|
||||||
|
get() = true
|
||||||
|
set(value) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
+9
-1
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.isSourceSession
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirResolvableModuleSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirResolvableModuleSession
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirOutOfContentRootTestConfigurator
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirOutOfContentRootTestConfigurator
|
||||||
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirScriptTestConfigurator
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator
|
||||||
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
|
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
@@ -66,6 +67,9 @@ abstract class AbstractFileStructureTest : AbstractLowLevelApiSingleFileTest() {
|
|||||||
is KtClassInitializer -> {
|
is KtClassInitializer -> {
|
||||||
elementToComment[ktDeclaration.openBraceNode!!] = comment
|
elementToComment[ktDeclaration.openBraceNode!!] = comment
|
||||||
}
|
}
|
||||||
|
is KtScript -> {
|
||||||
|
elementToComment[ktFile.importList!!] = comment
|
||||||
|
}
|
||||||
else -> error("Unsupported declaration $ktDeclaration")
|
else -> error("Unsupported declaration $ktDeclaration")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -121,5 +125,9 @@ abstract class AbstractSourceFileStructureTest : AbstractFileStructureTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
abstract class AbstractOutOfContentRootFileStructureTest : AbstractFileStructureTest() {
|
abstract class AbstractOutOfContentRootFileStructureTest : AbstractFileStructureTest() {
|
||||||
override val configurator = AnalysisApiFirOutOfContentRootTestConfigurator
|
override val configurator get() = AnalysisApiFirOutOfContentRootTestConfigurator
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractScriptFileStructureTest : AbstractFileStructureTest() {
|
||||||
|
override val configurator get() = AnalysisApiFirScriptTestConfigurator
|
||||||
}
|
}
|
||||||
+1
-1
@@ -21,7 +21,7 @@ import java.util.regex.Pattern;
|
|||||||
public class OutOfContentRootFileStructureTestGenerated extends AbstractOutOfContentRootFileStructureTest {
|
public class OutOfContentRootFileStructureTestGenerated extends AbstractOutOfContentRootFileStructureTest {
|
||||||
@Test
|
@Test
|
||||||
public void testAllFilesPresentInFileStructure() throws Exception {
|
public void testAllFilesPresentInFileStructure() throws Exception {
|
||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileStructure"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileStructure"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
+158
@@ -0,0 +1,158 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure;
|
||||||
|
|
||||||
|
import com.intellij.testFramework.TestDataPath;
|
||||||
|
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||||
|
import org.jetbrains.kotlin.test.TestMetadata;
|
||||||
|
import org.junit.jupiter.api.Nested;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
|
||||||
|
@SuppressWarnings("all")
|
||||||
|
@TestMetadata("analysis/low-level-api-fir/testdata/fileStructure")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class ScriptFileStructureTestGenerated extends AbstractScriptFileStructureTest {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInFileStructure() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileStructure"), Pattern.compile("^(.+)\\.(kts)$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("classMemberPropertyScript.kts")
|
||||||
|
public void testClassMemberPropertyScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/classMemberPropertyScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("classScript.kts")
|
||||||
|
public void testClassScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/classScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("constructorsScript.kts")
|
||||||
|
public void testConstructorsScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/constructorsScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("danglingAnnotationClassLevelScript.kts")
|
||||||
|
public void testDanglingAnnotationClassLevelScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/danglingAnnotationClassLevelScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("declarationsInPropertyInitScript.kts")
|
||||||
|
public void testDeclarationsInPropertyInitScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/declarationsInPropertyInitScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("enumClassScript.kts")
|
||||||
|
public void testEnumClassScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/enumClassScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("enumClassWithBodyScript.kts")
|
||||||
|
public void testEnumClassWithBodyScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/enumClassWithBodyScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("initBlockScript.kts")
|
||||||
|
public void testInitBlockScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/initBlockScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("localClassScript.kts")
|
||||||
|
public void testLocalClassScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/localClassScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("localFunScript.kts")
|
||||||
|
public void testLocalFunScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/localFunScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("localPropertyScript.kts")
|
||||||
|
public void testLocalPropertyScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/localPropertyScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("memberTypeAliasScript.kts")
|
||||||
|
public void testMemberTypeAliasScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/memberTypeAliasScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("nestedClassesScript.kts")
|
||||||
|
public void testNestedClassesScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/nestedClassesScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("propertyAccessorsScript.kts")
|
||||||
|
public void testPropertyAccessorsScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/propertyAccessorsScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("script.kts")
|
||||||
|
public void testScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/script.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("superClassCallScript.kts")
|
||||||
|
public void testSuperClassCallScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/superClassCallScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("topLevelExpressionBodyFunWithTypeScript.kts")
|
||||||
|
public void testTopLevelExpressionBodyFunWithTypeScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithTypeScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("topLevelExpressionBodyFunWithoutTypeScript.kts")
|
||||||
|
public void testTopLevelExpressionBodyFunWithoutTypeScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelExpressionBodyFunWithoutTypeScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("topLevelFunWithTypeScript.kts")
|
||||||
|
public void testTopLevelFunWithTypeScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelFunWithTypeScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("topLevelPropertyScript.kts")
|
||||||
|
public void testTopLevelPropertyScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelPropertyScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("topLevelUnitFunScript.kts")
|
||||||
|
public void testTopLevelUnitFunScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/topLevelUnitFunScript.kts");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("withoutNameScript.kts")
|
||||||
|
public void testWithoutNameScript() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/fileStructure/withoutNameScript.kts");
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -21,7 +21,7 @@ import java.util.regex.Pattern;
|
|||||||
public class SourceFileStructureTestGenerated extends AbstractSourceFileStructureTest {
|
public class SourceFileStructureTestGenerated extends AbstractSourceFileStructureTest {
|
||||||
@Test
|
@Test
|
||||||
public void testAllFilesPresentInFileStructure() throws Exception {
|
public void testAllFilesPresentInFileStructure() throws Exception {
|
||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileStructure"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testdata/fileStructure"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
+2
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionConfigurator
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSessionConfigurator
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirNotUnderContentRootResolveSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirNotUnderContentRootResolveSession
|
||||||
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirScriptResolveSession
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirSourceResolveSession
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.state.LLFirSourceResolveSession
|
||||||
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
|
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
|
||||||
import org.jetbrains.kotlin.analysis.test.framework.services.environmentManager
|
import org.jetbrains.kotlin.analysis.test.framework.services.environmentManager
|
||||||
@@ -55,7 +56,7 @@ internal inline fun <R> resolveWithCaches(context: KtElement, action: (LLFirReso
|
|||||||
internal val LLFirResolveSession.isSourceSession: Boolean
|
internal val LLFirResolveSession.isSourceSession: Boolean
|
||||||
get() {
|
get() {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
is LLFirSourceResolveSession, is LLFirNotUnderContentRootResolveSession -> true
|
is LLFirSourceResolveSession, is LLFirNotUnderContentRootResolveSession, is LLFirScriptResolveSession -> true
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-2
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.diagnostic.compiler.based.AbstractLLFirPreresolvedReversedDiagnosticCompilerTestDataTest
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractOutOfContentRootFileStructureTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractOutOfContentRootFileStructureTest
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractOutOfContentRootInBlockModificationTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractOutOfContentRootInBlockModificationTest
|
||||||
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractScriptFileStructureTest
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractSourceFileStructureTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractSourceFileStructureTest
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractSourceInBlockModificationTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.AbstractSourceInBlockModificationTest
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractErrorResistanceTest
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolve.AbstractErrorResistanceTest
|
||||||
@@ -68,11 +69,15 @@ internal fun TestGroupSuite.generateFirLowLevelApiTests() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractSourceFileStructureTest> {
|
testClass<AbstractSourceFileStructureTest> {
|
||||||
model("fileStructure")
|
model("fileStructure", pattern = TestGeneratorUtil.KT)
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractOutOfContentRootFileStructureTest> {
|
testClass<AbstractOutOfContentRootFileStructureTest> {
|
||||||
model("fileStructure")
|
model("fileStructure", pattern = TestGeneratorUtil.KT)
|
||||||
|
}
|
||||||
|
|
||||||
|
testClass<AbstractScriptFileStructureTest> {
|
||||||
|
model("fileStructure", pattern = TestGeneratorUtil.KTS)
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractFirSourceContextCollectionTest> {
|
testClass<AbstractFirSourceContextCollectionTest> {
|
||||||
|
|||||||
Reference in New Issue
Block a user