diff options
Diffstat (limited to 'plugins/kotlin/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinJavaBuilderExtension.kt')
-rw-r--r-- | plugins/kotlin/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinJavaBuilderExtension.kt | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/plugins/kotlin/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinJavaBuilderExtension.kt b/plugins/kotlin/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinJavaBuilderExtension.kt deleted file mode 100644 index 314ab6e75515..000000000000 --- a/plugins/kotlin/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinJavaBuilderExtension.kt +++ /dev/null @@ -1,61 +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 org.jetbrains.jps.api.BasicFuture -import org.jetbrains.jps.builders.java.JavaBuilderExtension -import org.jetbrains.jps.builders.java.dependencyView.Callbacks -import org.jetbrains.jps.incremental.CompileContext -import org.jetbrains.kotlin.incremental.LookupSymbol -import java.io.File -import java.util.concurrent.Executors -import java.util.concurrent.Future -import java.util.concurrent.TimeUnit - -class KotlinJavaBuilderExtension : JavaBuilderExtension() { - override fun getConstantSearch(context: CompileContext): Callbacks.ConstantAffectionResolver { - return KotlinLookupConstantSearch(context) - } -} - -private class KotlinLookupConstantSearch(context: CompileContext) : Callbacks.ConstantAffectionResolver { - private val pool = Executors.newSingleThreadExecutor() - private val kotlinContext by lazy { context.kotlin } - - override fun request( - ownerClassName: String, - fieldName: String, - accessFlags: Int, - fieldRemoved: Boolean, - accessChanged: Boolean - ): Future<Callbacks.ConstantAffection> { - val future = object : BasicFuture<Callbacks.ConstantAffection>() { - @Volatile - private var result: Callbacks.ConstantAffection = Callbacks.ConstantAffection.EMPTY - - fun result(files: Collection<File>) { - result = Callbacks.ConstantAffection(files) - setDone() - } - - override fun get(): Callbacks.ConstantAffection { - super.get() - return result - } - - override fun get(timeout: Long, unit: TimeUnit): Callbacks.ConstantAffection { - super.get(timeout, unit) - return result - } - } - pool.submit { - if (!future.isCancelled) { - kotlinContext.lookupStorageManager.withLookupStorage { storage -> - val paths = storage.get(LookupSymbol(name = fieldName, scope = ownerClassName)) - future.result(paths.map { File(it) }) - } - } - } - return future - } -}
\ No newline at end of file |