KT-37486 Don't store instances from stream debugger plugin in companions

This commit is contained in:
Vitaliy.Bibaev
2020-04-21 12:41:25 +03:00
committed by Yan Zhulanow
parent 0c71c681e5
commit 20793a65f4
4 changed files with 24 additions and 32 deletions
@@ -18,11 +18,9 @@ import org.jetbrains.kotlin.idea.debugger.sequence.trace.dsl.KotlinStatementFact
import org.jetbrains.kotlin.idea.debugger.sequence.trace.impl.KotlinTraceExpressionBuilder
class KotlinCollectionSupportProvider : LibrarySupportProvider {
private companion object {
val builder: StreamChainBuilder = KotlinCollectionChainBuilder()
val support: LibrarySupport = KotlinCollectionLibrarySupport()
val dsl = DslImpl(KotlinStatementFactory(KotlinCollectionsPeekCallFactory()))
}
private val builder: StreamChainBuilder = KotlinCollectionChainBuilder()
private val support: LibrarySupport by lazy { KotlinCollectionLibrarySupport() }
private val dsl by lazy { DslImpl(KotlinStatementFactory(KotlinCollectionsPeekCallFactory())) }
override fun getLanguageId(): String = KotlinLanguage.INSTANCE.id
@@ -23,16 +23,12 @@ import org.jetbrains.kotlin.idea.debugger.sequence.trace.dsl.KotlinStatementFact
import org.jetbrains.kotlin.idea.debugger.sequence.trace.impl.KotlinTraceExpressionBuilder
class JavaStandardLibrarySupportProvider : LibrarySupportProvider {
private companion object {
val builder: TerminatedChainBuilder by lazy {
TerminatedChainBuilder(
KotlinChainTransformerImpl(JavaStreamChainTypeExtractor()),
StandardLibraryCallChecker(PackageBasedCallChecker("java.util.stream"))
)
}
val support: StandardLibrarySupport by lazy { StandardLibrarySupport() }
val dsl: DslImpl by lazy { DslImpl(KotlinStatementFactory(JavaPeekCallFactory())) }
}
private val builder: TerminatedChainBuilder = TerminatedChainBuilder(
KotlinChainTransformerImpl(JavaStreamChainTypeExtractor()),
StandardLibraryCallChecker(PackageBasedCallChecker("java.util.stream"))
)
private val support: StandardLibrarySupport by lazy { StandardLibrarySupport() }
private val dsl: DslImpl by lazy { DslImpl(KotlinStatementFactory(JavaPeekCallFactory())) }
override fun getLanguageId(): String = KotlinLanguage.INSTANCE.id
@@ -23,15 +23,14 @@ import org.jetbrains.kotlin.idea.debugger.sequence.trace.dsl.KotlinStatementFact
import org.jetbrains.kotlin.idea.debugger.sequence.trace.impl.KotlinTraceExpressionBuilder
class StreamExLibrarySupportProvider : LibrarySupportProvider {
private companion object {
val streamChainBuilder = TerminatedChainBuilder(
private val streamChainBuilder =
TerminatedChainBuilder(
KotlinChainTransformerImpl(JavaStreamChainTypeExtractor()),
StreamExCallChecker(PackageBasedCallChecker("one.util.streamex"))
)
val support = StreamExLibrarySupport()
val dsl = DslImpl(KotlinStatementFactory(JavaPeekCallFactory()))
val expressionBuilder = KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
}
private val support by lazy { StreamExLibrarySupport() }
private val dsl by lazy { DslImpl(KotlinStatementFactory(JavaPeekCallFactory())) }
override fun getLanguageId(): String = KotlinLanguage.INSTANCE.id
@@ -39,5 +38,6 @@ class StreamExLibrarySupportProvider : LibrarySupportProvider {
override fun getLibrarySupport(): LibrarySupport = support
override fun getExpressionBuilder(project: Project): TraceExpressionBuilder = expressionBuilder
override fun getExpressionBuilder(project: Project): TraceExpressionBuilder =
KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
}
@@ -24,20 +24,18 @@ import org.jetbrains.kotlin.idea.debugger.sequence.trace.impl.KotlinTraceExpress
class KotlinSequenceSupportProvider : LibrarySupportProvider {
override fun getLanguageId(): String = KotlinLanguage.INSTANCE.id
private companion object {
val builder: StreamChainBuilder = TerminatedChainBuilder(
KotlinChainTransformerImpl(SequenceTypeExtractor()),
SequenceCallCheckerWithNameHeuristics(SequenceCallChecker())
)
val support = KotlinSequencesSupport()
val dsl = DslImpl(KotlinStatementFactory(KotlinCollectionsPeekCallFactory()))
val expressionBuilder = KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
}
private val builder: StreamChainBuilder = TerminatedChainBuilder(
KotlinChainTransformerImpl(SequenceTypeExtractor()),
SequenceCallCheckerWithNameHeuristics(SequenceCallChecker())
)
private val support: LibrarySupport by lazy { KotlinSequencesSupport() }
private val dsl: DslImpl by lazy { DslImpl(KotlinStatementFactory(KotlinCollectionsPeekCallFactory())) }
override fun getChainBuilder(): StreamChainBuilder = builder
override fun getLibrarySupport(): LibrarySupport = support
override fun getExpressionBuilder(project: Project): TraceExpressionBuilder = expressionBuilder
override fun getExpressionBuilder(project: Project): TraceExpressionBuilder =
KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
}