Optimize ScriptTemplatesFromDependenciesProvider

No needs to convert file.url to VirtualFile
because index already has getContainingFiles method
Do not iterate through all children of VirtualFile
to avoid VFS events initialisation for those files
there is no guarantee that file is under source root
so is can be not present is vfs at this moment
This commit is contained in:
Natalia Selezneva
2020-07-02 08:21:41 +03:00
parent 45600830d3
commit 1d45dc8d81
25 changed files with 396 additions and 83 deletions
@@ -1041,6 +1041,10 @@ fun main(args: Array<String>) {
testClass<AbstractScratchLineMarkersTest> {
model("scratch/lineMarker", testMethod = "doScratchTest", pattern = KT_OR_KTS)
}
testClass<AbstractScriptTemplatesFromDependenciesTest> {
model("script/templatesFromDependencies", extension = null, recursive = false)
}
}
testGroup("idea/idea-maven/test", "idea/idea-maven/testData") {
@@ -119,10 +119,7 @@ import org.jetbrains.kotlin.idea.repl.AbstractIdeReplCompletionTest
import org.jetbrains.kotlin.idea.resolve.*
import org.jetbrains.kotlin.idea.scratch.AbstractScratchLineMarkersTest
import org.jetbrains.kotlin.idea.scratch.AbstractScratchRunActionTest
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationCompletionTest
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationHighlightingTest
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationNavigationTest
import org.jetbrains.kotlin.idea.script.AbstractScriptDefinitionsOrderTest
import org.jetbrains.kotlin.idea.script.*
import org.jetbrains.kotlin.idea.slicer.AbstractSlicerLeafGroupingTest
import org.jetbrains.kotlin.idea.slicer.AbstractSlicerNullnessGroupingTest
import org.jetbrains.kotlin.idea.slicer.AbstractSlicerTreeTest
@@ -841,20 +838,60 @@ fun main(args: Array<String>) {
testGroup("idea/scripting-support/test", "idea/scripting-support/testData") {
testClass<AbstractScratchRunActionTest> {
model("scratch", extension = "kts", testMethod = "doScratchCompilingTest", testClassName = "ScratchCompiling", recursive = false)
model(
"scratch",
extension = "kts",
testMethod = "doScratchCompilingTest",
testClassName = "ScratchCompiling",
recursive = false
)
model("scratch", extension = "kts", testMethod = "doScratchReplTest", testClassName = "ScratchRepl", recursive = false)
model("scratch/multiFile", extension = null, testMethod = "doScratchMultiFileTest", testClassName = "ScratchMultiFile", recursive = false)
model(
"scratch/multiFile",
extension = null,
testMethod = "doScratchMultiFileTest",
testClassName = "ScratchMultiFile",
recursive = false
)
model("worksheet", extension = "ws.kts", testMethod = "doWorksheetCompilingTest", testClassName = "WorksheetCompiling", recursive = false)
model("worksheet", extension = "ws.kts", testMethod = "doWorksheetReplTest", testClassName = "WorksheetRepl", recursive = false)
model("worksheet/multiFile", extension = null, testMethod = "doWorksheetMultiFileTest", testClassName = "WorksheetMultiFile", recursive = false)
model(
"worksheet",
extension = "ws.kts",
testMethod = "doWorksheetCompilingTest",
testClassName = "WorksheetCompiling",
recursive = false
)
model(
"worksheet",
extension = "ws.kts",
testMethod = "doWorksheetReplTest",
testClassName = "WorksheetRepl",
recursive = false
)
model(
"worksheet/multiFile",
extension = null,
testMethod = "doWorksheetMultiFileTest",
testClassName = "WorksheetMultiFile",
recursive = false
)
model("scratch/rightPanelOutput", extension = "kts", testMethod = "doRightPreviewPanelOutputTest", testClassName = "ScratchRightPanelOutput", recursive = false)
model(
"scratch/rightPanelOutput",
extension = "kts",
testMethod = "doRightPreviewPanelOutputTest",
testClassName = "ScratchRightPanelOutput",
recursive = false
)
}
testClass<AbstractScratchLineMarkersTest> {
model("scratch/lineMarker", testMethod = "doScratchTest", pattern = KT_OR_KTS)
}
testClass<AbstractScriptTemplatesFromDependenciesTest> {
model("script/templatesFromDependencies", extension = null, recursive = false)
}
}
/*
@@ -119,10 +119,7 @@ import org.jetbrains.kotlin.idea.repl.AbstractIdeReplCompletionTest
import org.jetbrains.kotlin.idea.resolve.*
import org.jetbrains.kotlin.idea.scratch.AbstractScratchLineMarkersTest
import org.jetbrains.kotlin.idea.scratch.AbstractScratchRunActionTest
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationCompletionTest
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationHighlightingTest
import org.jetbrains.kotlin.idea.script.AbstractScriptConfigurationNavigationTest
import org.jetbrains.kotlin.idea.script.AbstractScriptDefinitionsOrderTest
import org.jetbrains.kotlin.idea.script.*
import org.jetbrains.kotlin.idea.slicer.AbstractSlicerLeafGroupingTest
import org.jetbrains.kotlin.idea.slicer.AbstractSlicerNullnessGroupingTest
import org.jetbrains.kotlin.idea.slicer.AbstractSlicerTreeTest
@@ -841,20 +838,60 @@ fun main(args: Array<String>) {
testGroup("idea/scripting-support/test", "idea/scripting-support/testData") {
testClass<AbstractScratchRunActionTest> {
model("scratch", extension = "kts", testMethod = "doScratchCompilingTest", testClassName = "ScratchCompiling", recursive = false)
model(
"scratch",
extension = "kts",
testMethod = "doScratchCompilingTest",
testClassName = "ScratchCompiling",
recursive = false
)
model("scratch", extension = "kts", testMethod = "doScratchReplTest", testClassName = "ScratchRepl", recursive = false)
model("scratch/multiFile", extension = null, testMethod = "doScratchMultiFileTest", testClassName = "ScratchMultiFile", recursive = false)
model(
"scratch/multiFile",
extension = null,
testMethod = "doScratchMultiFileTest",
testClassName = "ScratchMultiFile",
recursive = false
)
model("worksheet", extension = "ws.kts", testMethod = "doWorksheetCompilingTest", testClassName = "WorksheetCompiling", recursive = false)
model("worksheet", extension = "ws.kts", testMethod = "doWorksheetReplTest", testClassName = "WorksheetRepl", recursive = false)
model("worksheet/multiFile", extension = null, testMethod = "doWorksheetMultiFileTest", testClassName = "WorksheetMultiFile", recursive = false)
model(
"worksheet",
extension = "ws.kts",
testMethod = "doWorksheetCompilingTest",
testClassName = "WorksheetCompiling",
recursive = false
)
model(
"worksheet",
extension = "ws.kts",
testMethod = "doWorksheetReplTest",
testClassName = "WorksheetRepl",
recursive = false
)
model(
"worksheet/multiFile",
extension = null,
testMethod = "doWorksheetMultiFileTest",
testClassName = "WorksheetMultiFile",
recursive = false
)
model("scratch/rightPanelOutput", extension = "kts", testMethod = "doRightPreviewPanelOutputTest", testClassName = "ScratchRightPanelOutput", recursive = false)
model(
"scratch/rightPanelOutput",
extension = "kts",
testMethod = "doRightPreviewPanelOutputTest",
testClassName = "ScratchRightPanelOutput",
recursive = false
)
}
testClass<AbstractScratchLineMarkersTest> {
model("scratch/lineMarker", testMethod = "doScratchTest", pattern = KT_OR_KTS)
}
testClass<AbstractScriptTemplatesFromDependenciesTest> {
model("script/templatesFromDependencies", extension = null, recursive = false)
}
}
/*