Add an extension point to support standard library in kotlin

This commit is contained in:
Vitaliy.Bibaev
2017-10-10 13:35:54 +03:00
committed by Yan Zhulanow
parent 957f9a7e14
commit 2c57853dbe
@@ -0,0 +1,32 @@
package com.intellij.debugger.streams.kotlin.lib
import com.intellij.debugger.streams.kotlin.psi.impl.KotlinJavaStreamChainBuilder
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.lib.impl.StandardLibrarySupport
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
/**
* @author Vitaliy.Bibaev
*/
class JavaStandardLibrarySupportProvider : LibrarySupportProvider {
private companion object {
val builder = KotlinJavaStreamChainBuilder()
val support = StandardLibrarySupport()
val dsl = DslImpl(KotlinStatementFactory())
}
override fun getLanguageId(): String = LibraryUtil.KOTLIN_LANGUAGE_ID
override fun getChainBuilder(): StreamChainBuilder = builder
override fun getLibrarySupport(): LibrarySupport = support
override fun getExpressionBuilder(project: Project): TraceExpressionBuilder =
KotlinTraceExpressionBuilder(dsl, support.createHandlerFactory(dsl))
}