Use TerminatedChainBuilder for both java stream & sequences
This commit is contained in:
committed by
Yan Zhulanow
parent
416b15e42b
commit
50d30f3d8b
+6
-2
@@ -2,8 +2,10 @@
|
||||
package com.intellij.debugger.streams.kotlin.lib.java
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.lib.LibraryUtil
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinJavaStreamChainBuilder
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinChainTransformerImpl
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.PackageBasedCallChecker
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.TerminatedChainBuilder
|
||||
import com.intellij.debugger.streams.kotlin.psi.java.JavaStreamChainTypeExtractor
|
||||
import com.intellij.debugger.streams.kotlin.trace.dsl.JavaPeekCallFactory
|
||||
import com.intellij.debugger.streams.kotlin.trace.dsl.KotlinStatementFactory
|
||||
import com.intellij.debugger.streams.kotlin.trace.impl.KotlinTraceExpressionBuilder
|
||||
@@ -20,7 +22,9 @@ import com.intellij.openapi.project.Project
|
||||
*/
|
||||
class JavaStandardLibrarySupportProvider : LibrarySupportProvider {
|
||||
private companion object {
|
||||
val builder = KotlinJavaStreamChainBuilder(PackageBasedCallChecker("java.util.stream"))
|
||||
val builder = TerminatedChainBuilder(
|
||||
KotlinChainTransformerImpl(JavaStreamChainTypeExtractor()),
|
||||
PackageBasedCallChecker("java.util.stream"))
|
||||
val support = StandardLibrarySupport()
|
||||
val dsl = DslImpl(KotlinStatementFactory(JavaPeekCallFactory()))
|
||||
}
|
||||
|
||||
+5
-2
@@ -2,8 +2,10 @@
|
||||
package com.intellij.debugger.streams.kotlin.lib.java
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.lib.LibraryUtil
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinJavaStreamChainBuilder
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinChainTransformerImpl
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.PackageBasedCallChecker
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.TerminatedChainBuilder
|
||||
import com.intellij.debugger.streams.kotlin.psi.java.JavaStreamChainTypeExtractor
|
||||
import com.intellij.debugger.streams.kotlin.trace.dsl.JavaPeekCallFactory
|
||||
import com.intellij.debugger.streams.kotlin.trace.dsl.KotlinStatementFactory
|
||||
import com.intellij.debugger.streams.kotlin.trace.impl.KotlinTraceExpressionBuilder
|
||||
@@ -20,7 +22,8 @@ import com.intellij.openapi.project.Project
|
||||
*/
|
||||
class StreamExLibrarySupportProvider : LibrarySupportProvider {
|
||||
private companion object {
|
||||
val streamChainBuilder = KotlinJavaStreamChainBuilder(PackageBasedCallChecker("one.util.streamex"))
|
||||
val streamChainBuilder = TerminatedChainBuilder(KotlinChainTransformerImpl(JavaStreamChainTypeExtractor()),
|
||||
PackageBasedCallChecker("one.util.streamex"))
|
||||
val support = StreamExLibrarySupport()
|
||||
val dsl = DslImpl(KotlinStatementFactory(JavaPeekCallFactory()))
|
||||
val expressionBuilder = KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
|
||||
|
||||
+7
-2
@@ -2,7 +2,10 @@
|
||||
package com.intellij.debugger.streams.kotlin.lib.sequence
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.lib.LibraryUtil
|
||||
import com.intellij.debugger.streams.kotlin.psi.sequence.KotlinSequenceChainBuilder
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinChainTransformerImpl
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.TerminatedChainBuilder
|
||||
import com.intellij.debugger.streams.kotlin.psi.sequence.SequenceCallChecker
|
||||
import com.intellij.debugger.streams.kotlin.psi.sequence.SequenceTypeExtractor
|
||||
import com.intellij.debugger.streams.kotlin.trace.dsl.KotlinCollectionsPeekCallFactory
|
||||
import com.intellij.debugger.streams.kotlin.trace.dsl.KotlinStatementFactory
|
||||
import com.intellij.debugger.streams.kotlin.trace.impl.KotlinTraceExpressionBuilder
|
||||
@@ -20,7 +23,9 @@ class KotlinSequenceSupportProvider : LibrarySupportProvider {
|
||||
override fun getLanguageId(): String = LibraryUtil.KOTLIN_LANGUAGE_ID
|
||||
|
||||
private companion object {
|
||||
val builder: StreamChainBuilder = KotlinSequenceChainBuilder()
|
||||
val builder: StreamChainBuilder = TerminatedChainBuilder(
|
||||
KotlinChainTransformerImpl(SequenceTypeExtractor()),
|
||||
SequenceCallChecker())
|
||||
val support = KotlinSequencesSupport()
|
||||
val dsl = DslImpl(KotlinStatementFactory(KotlinCollectionsPeekCallFactory()))
|
||||
val expressionBuilder = KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
|
||||
|
||||
+4
-3
@@ -2,16 +2,17 @@
|
||||
package com.intellij.debugger.streams.kotlin.psi.impl
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.psi.StreamCallChecker
|
||||
import com.intellij.debugger.streams.kotlin.psi.java.JavaStreamChainTypeExtractor
|
||||
import com.intellij.debugger.streams.kotlin.psi.previousCall
|
||||
import com.intellij.debugger.streams.psi.ChainTransformer
|
||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class KotlinJavaStreamChainBuilder(private val callChecker: StreamCallChecker)
|
||||
: KotlinChainBuilderBase(KotlinChainTransformerImpl(JavaStreamChainTypeExtractor())) {
|
||||
open class TerminatedChainBuilder(transformer: ChainTransformer<KtCallExpression>,
|
||||
private val callChecker: StreamCallChecker)
|
||||
: KotlinChainBuilderBase(transformer) {
|
||||
override val existenceChecker: ExistenceChecker = MyExistenceChecker()
|
||||
|
||||
override fun createChainsBuilder(): ChainBuilder = MyBuilderVisitor()
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.debugger.streams.kotlin.psi.sequence
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinChainBuilderBase
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinChainTransformerImpl
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class KotlinSequenceChainBuilder : KotlinChainBuilderBase(KotlinChainTransformerImpl(TODO())) {
|
||||
override fun createChainsBuilder(): ChainBuilder {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
override val existenceChecker: ExistenceChecker
|
||||
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.debugger.streams.kotlin.psi.sequence
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.psi.StreamCallChecker
|
||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class SequenceCallChecker : StreamCallChecker {
|
||||
override fun isIntermediateCall(expression: KtCallExpression): Boolean {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
override fun isTerminationCall(expression: KtCallExpression): Boolean {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.debugger.streams.kotlin.psi.sequence
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.psi.CallTypeExtractor
|
||||
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class SequenceTypeExtractor : CallTypeExtractor {
|
||||
override fun extractIntermediateCallTypes(call: KtCallExpression): CallTypeExtractor.IntermediateCallTypes {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
override fun extractTerminalCallTypes(call: KtCallExpression): CallTypeExtractor.TerminatorCallTypes {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user