Add library support extension for kotlin sequence support
This commit is contained in:
committed by
Yan Zhulanow
parent
c69e0c0d01
commit
7d903b43a1
+15
-6
@@ -1,9 +1,14 @@
|
||||
// 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.lib
|
||||
|
||||
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinSequenceChainBuilder
|
||||
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
|
||||
import com.intellij.debugger.streams.lib.LibrarySupport
|
||||
import com.intellij.debugger.streams.lib.LibrarySupportProvider
|
||||
import com.intellij.debugger.streams.trace.TraceExpressionBuilder
|
||||
import com.intellij.debugger.streams.trace.dsl.impl.DslImpl
|
||||
import com.intellij.debugger.streams.wrapper.StreamChainBuilder
|
||||
import com.intellij.openapi.project.Project
|
||||
|
||||
@@ -13,13 +18,17 @@ import com.intellij.openapi.project.Project
|
||||
class KotlinSequenceSupportProvider : LibrarySupportProvider {
|
||||
override fun getLanguageId(): String = LibraryUtil.KOTLIN_LANGUAGE_ID
|
||||
|
||||
override fun getChainBuilder(): StreamChainBuilder {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
private companion object {
|
||||
val builder: StreamChainBuilder = KotlinSequenceChainBuilder()
|
||||
val support = KotlinSequencesSupport()
|
||||
val dsl = DslImpl(KotlinStatementFactory(KotlinCollectionsPeekCallFactory()))
|
||||
val expressionBuilder = KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
|
||||
}
|
||||
|
||||
override fun getLibrarySupport(): LibrarySupport {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
}
|
||||
override fun getChainBuilder(): StreamChainBuilder = builder
|
||||
|
||||
override fun getLibrarySupport(): LibrarySupport = support
|
||||
|
||||
override fun getExpressionBuilder(project: Project): TraceExpressionBuilder = expressionBuilder
|
||||
|
||||
override fun getExpressionBuilder(project: Project): TraceExpressionBuilder = TODO()
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// 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.lib
|
||||
|
||||
import com.intellij.debugger.streams.lib.impl.LibrarySupportBase
|
||||
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class KotlinSequencesSupport : LibrarySupportBase() {
|
||||
init {
|
||||
// todo[bibaev]: add supported operations
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -4,7 +4,7 @@ package com.intellij.debugger.streams.kotlin.psi.impl
|
||||
/**
|
||||
* @author Vitaliy.Bibaev
|
||||
*/
|
||||
class KotlinSequenceChainBuilder : KotlinChainBuilderBase(TODO("transmit here a correct transformer")) {
|
||||
class KotlinSequenceChainBuilder : KotlinChainBuilderBase(KotlinChainTransformerImpl(TODO())) {
|
||||
override fun createChainsBuilder(): ChainBuilder {
|
||||
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user