diff options
Diffstat (limited to 'plugins/kotlin/jps/jps-plugin/tests/test/org/jetbrains/kotlin/jps/build/MockJavaConstantSearch.kt')
-rw-r--r-- | plugins/kotlin/jps/jps-plugin/tests/test/org/jetbrains/kotlin/jps/build/MockJavaConstantSearch.kt | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/plugins/kotlin/jps/jps-plugin/tests/test/org/jetbrains/kotlin/jps/build/MockJavaConstantSearch.kt b/plugins/kotlin/jps/jps-plugin/tests/test/org/jetbrains/kotlin/jps/build/MockJavaConstantSearch.kt deleted file mode 100644 index a0a4836e1119..000000000000 --- a/plugins/kotlin/jps/jps-plugin/tests/test/org/jetbrains/kotlin/jps/build/MockJavaConstantSearch.kt +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. - -package org.jetbrains.kotlin.jps.build - -import com.intellij.util.concurrency.FixedFuture -import org.jetbrains.jps.builders.java.dependencyView.Callbacks -import org.jetbrains.kotlin.incremental.isJavaFile -import java.io.File -import java.util.concurrent.Future - -/** - * Mocks Intellij Java constant search. - * When JPS is run from Intellij, it sends find usages request to IDE (it only searches for references inside Java files). - * - * We rely on heuristics instead of precise usages search. - * A Java file is considered affected if: - * 1. It contains changed field name as a content substring. - * 2. Its simple file name is not equal to a field's owner class simple name (to avoid recompiling field's declaration again) - */ -class MockJavaConstantSearch(private val workDir: File) : - Callbacks.ConstantAffectionResolver { - override fun request( - ownerClassName: String, - fieldName: String, - accessFlags: Int, - fieldRemoved: Boolean, - accessChanged: Boolean - ): Future<Callbacks.ConstantAffection> { - fun File.isAffected(): Boolean { - if (!isJavaFile()) return false - - if (nameWithoutExtension == ownerClassName.substringAfterLast(".")) return false - - val code = readText() - return code.contains(fieldName) - } - - - val affectedJavaFiles = workDir.walk().filter(File::isAffected).toList() - return FixedFuture( - Callbacks.ConstantAffection( - affectedJavaFiles - ) - ) - } -}
\ No newline at end of file |