Minor: remove warnings in KotlinDebuggerTestBase

This commit is contained in:
Nikolay Krasko
2017-03-23 19:06:24 +03:00
parent dfd7b0f388
commit 5405c81106
@@ -20,7 +20,10 @@ import com.intellij.debugger.DebuggerInvocationUtil
import com.intellij.debugger.SourcePosition import com.intellij.debugger.SourcePosition
import com.intellij.debugger.actions.MethodSmartStepTarget import com.intellij.debugger.actions.MethodSmartStepTarget
import com.intellij.debugger.actions.SmartStepTarget import com.intellij.debugger.actions.SmartStepTarget
import com.intellij.debugger.engine.* import com.intellij.debugger.engine.BasicStepMethodFilter
import com.intellij.debugger.engine.DebugProcessImpl
import com.intellij.debugger.engine.MethodFilter
import com.intellij.debugger.engine.SuspendContextImpl
import com.intellij.debugger.engine.evaluation.CodeFragmentKind import com.intellij.debugger.engine.evaluation.CodeFragmentKind
import com.intellij.debugger.engine.evaluation.EvaluationContextImpl import com.intellij.debugger.engine.evaluation.EvaluationContextImpl
import com.intellij.debugger.engine.evaluation.TextWithImportsImpl import com.intellij.debugger.engine.evaluation.TextWithImportsImpl
@@ -42,7 +45,10 @@ import com.intellij.psi.PsiManager
import com.intellij.psi.search.FilenameIndex import com.intellij.psi.search.FilenameIndex
import com.intellij.xdebugger.XDebuggerManager import com.intellij.xdebugger.XDebuggerManager
import com.intellij.xdebugger.XDebuggerUtil import com.intellij.xdebugger.XDebuggerUtil
import com.intellij.xdebugger.breakpoints.* import com.intellij.xdebugger.breakpoints.XBreakpointManager
import com.intellij.xdebugger.breakpoints.XBreakpointProperties
import com.intellij.xdebugger.breakpoints.XBreakpointType
import com.intellij.xdebugger.breakpoints.XLineBreakpointType
import com.sun.jdi.request.StepRequest import com.sun.jdi.request.StepRequest
import org.jetbrains.java.debugger.breakpoints.properties.JavaBreakpointProperties import org.jetbrains.java.debugger.breakpoints.properties.JavaBreakpointProperties
import org.jetbrains.java.debugger.breakpoints.properties.JavaLineBreakpointProperties import org.jetbrains.java.debugger.breakpoints.properties.JavaLineBreakpointProperties
@@ -131,7 +137,7 @@ abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
get() = debugProcess ?: throw AssertionError("createLocalProcess() should be called before getDebugProcess()") get() = debugProcess ?: throw AssertionError("createLocalProcess() should be called before getDebugProcess()")
fun doOnBreakpoint(action: SuspendContextImpl.() -> Unit) { fun doOnBreakpoint(action: SuspendContextImpl.() -> Unit) {
super.onBreakpoint(SuspendContextRunnable { super.onBreakpoint({
try { try {
initContexts(it) initContexts(it)
it.printContext() it.printContext()
@@ -297,7 +303,7 @@ abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
if (comment.startsWith("//FieldWatchpoint!")) { if (comment.startsWith("//FieldWatchpoint!")) {
val javaBreakpoint = createBreakpointOfType( val javaBreakpoint = createBreakpointOfType(
breakpointManager, breakpointManager,
kotlinFieldBreakpointType as XLineBreakpointType<XBreakpointProperties<*>>, kotlinFieldBreakpointType,
lineIndex, lineIndex,
virtualFile) virtualFile)
if (javaBreakpoint is KotlinFieldBreakpoint) { if (javaBreakpoint is KotlinFieldBreakpoint) {
@@ -352,7 +358,7 @@ abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
val kotlinLineBreakpointType = findBreakpointType(KotlinLineBreakpointType::class.java) val kotlinLineBreakpointType = findBreakpointType(KotlinLineBreakpointType::class.java)
val javaBreakpoint = createBreakpointOfType( val javaBreakpoint = createBreakpointOfType(
breakpointManager, breakpointManager,
kotlinLineBreakpointType as XLineBreakpointType<XBreakpointProperties<*>>, kotlinLineBreakpointType,
lineIndex, lineIndex,
file.virtualFile) file.virtualFile)
if (javaBreakpoint is LineBreakpoint<*>) { if (javaBreakpoint is LineBreakpoint<*>) {
@@ -395,9 +401,9 @@ abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
return BreakpointManager.getJavaBreakpoint(xBreakpoint) return BreakpointManager.getJavaBreakpoint(xBreakpoint)
} }
private inline fun <reified T> findBreakpointType(javaClass: Class<T>): T { @Suppress("UNCHECKED_CAST")
val kotlinFieldBreakpointTypeClass = javaClass as Class<out XBreakpointType<XBreakpoint<XBreakpointProperties<*>>, XBreakpointProperties<*>>> private inline fun <reified T : XBreakpointType<*, *>> findBreakpointType(javaClass: Class<T>): XLineBreakpointType<XBreakpointProperties<*>> {
return XDebuggerUtil.getInstance().findBreakpointType(kotlinFieldBreakpointTypeClass) as T return XDebuggerUtil.getInstance().findBreakpointType(javaClass) as XLineBreakpointType<XBreakpointProperties<*>>
} }
protected fun createAdditionalBreakpoints(fileText: String) { protected fun createAdditionalBreakpoints(fileText: String) {
@@ -427,7 +433,7 @@ abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
assert(sourceFiles.size == 1) { "One source file should be found: name = $fileName, sourceFiles = $sourceFiles" } assert(sourceFiles.size == 1) { "One source file should be found: name = $fileName, sourceFiles = $sourceFiles" }
val runnable = Runnable() { val runnable = Runnable {
val psiSourceFile = PsiManager.getInstance(project).findFile(sourceFiles.first())!! val psiSourceFile = PsiManager.getInstance(project).findFile(sourceFiles.first())!!
val breakpointManager = XDebuggerManager.getInstance(myProject).breakpointManager val breakpointManager = XDebuggerManager.getInstance(myProject).breakpointManager