Debugger: Remove/change tests for the deprecated Android dex

This commit is contained in:
Yan Zhulanow
2019-11-21 02:41:22 +09:00
parent f912602ddc
commit dd743f05c1
69 changed files with 300 additions and 853 deletions
@@ -29,13 +29,12 @@ import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.config.JvmTarget
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
import org.jetbrains.kotlin.idea.debugger.test.util.patchDexTests
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.test.MockLibraryUtil
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
import java.io.File
class DebuggerTestCompilerFacility(files: List<TestFile>, private val jvmTarget: JvmTarget, private val applyDexPatch: Boolean) {
class DebuggerTestCompilerFacility(files: List<TestFile>, private val jvmTarget: JvmTarget) {
private val kotlinStdlibPath = ForTestCompileRuntime.runtimeJarForTests().absolutePath
private val mainFiles: TestFilesByLanguage
@@ -90,10 +89,6 @@ class DebuggerTestCompilerFacility(files: List<TestFile>, private val jvmTarget:
classesDir
)
}
if (applyDexPatch) {
patchDexTests(classesDir)
}
}
// Returns the qualified name of the main test class.
@@ -138,10 +133,6 @@ class DebuggerTestCompilerFacility(files: List<TestFile>, private val jvmTarget:
)
}
if (applyDexPatch) {
patchDexTests(classesDir)
}
return mainClassName
}
@@ -104,9 +104,8 @@ abstract class KotlinDescriptorTestCase : DescriptorTestCase() {
val rawJvmTarget = preferences[DebuggerPreferenceKeys.JVM_TARGET]
val jvmTarget = JvmTarget.fromString(rawJvmTarget) ?: error("Invalid JVM target value: $rawJvmTarget")
val applyDexPatch = preferences[DebuggerPreferenceKeys.EMULATE_DEX]
val compilerFacility = DebuggerTestCompilerFacility(testFiles, jvmTarget, applyDexPatch)
val compilerFacility = DebuggerTestCompilerFacility(testFiles, jvmTarget)
for (library in preferences[DebuggerPreferenceKeys.ATTACH_LIBRARY]) {
compilerFacility.compileExternalLibrary(library, librarySrcDirectory, libraryOutputDirectory)
@@ -246,11 +246,6 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepInto/inlineClass.kt");
}
@TestMetadata("inlineDex.kt")
public void testInlineDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepInto/inlineDex.kt");
}
@TestMetadata("inlineOnly.kt")
public void testInlineOnly() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepInto/inlineOnly.kt");
@@ -452,34 +447,19 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineFunctionSameLines.kt");
}
@TestMetadata("inlineInClassDex.kt")
public void testInlineInClassDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineInClassDex.kt");
}
@TestMetadata("inlineInIfFalse.kt")
public void testInlineInIfFalse() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineInIfFalse.kt");
}
@TestMetadata("inlineInIfFalseDex.kt")
public void testInlineInIfFalseDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineInIfFalseDex.kt");
}
@TestMetadata("inlineInIfTrue.kt")
public void testInlineInIfTrue() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineInIfTrue.kt");
}
@TestMetadata("inlineInIfTrueDex.kt")
public void testInlineInIfTrueDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineInIfTrueDex.kt");
}
@TestMetadata("inlineInObjectDex.kt")
public void testInlineInObjectDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineInObjectDex.kt");
@TestMetadata("inlineInObject.kt")
public void testInlineInObject() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/inlineInObject.kt");
}
@TestMetadata("kt24343.kt")
@@ -527,31 +507,16 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineAnonymousFunctionArgument.kt");
}
@TestMetadata("soInlineAnonymousFunctionArgumentDex.kt")
public void testSoInlineAnonymousFunctionArgumentDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineAnonymousFunctionArgumentDex.kt");
}
@TestMetadata("soInlineCallInLastStatementInInline.kt")
public void testSoInlineCallInLastStatementInInline() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineCallInLastStatementInInline.kt");
}
@TestMetadata("soInlineCallInLastStatementInInlineDex.kt")
public void testSoInlineCallInLastStatementInInlineDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineCallInLastStatementInInlineDex.kt");
}
@TestMetadata("soInlineCallInLastStatementInInlineFunctionArgument.kt")
public void testSoInlineCallInLastStatementInInlineFunctionArgument() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineCallInLastStatementInInlineFunctionArgument.kt");
}
@TestMetadata("soInlineCallInLastStatementInInlineFunctionArgumentDex.kt")
public void testSoInlineCallInLastStatementInInlineFunctionArgumentDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineCallInLastStatementInInlineFunctionArgumentDex.kt");
}
@TestMetadata("soInlineCallInLastStatementInInlineInInline.kt")
public void testSoInlineCallInLastStatementInInlineInInline() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineCallInLastStatementInInlineInInline.kt");
@@ -567,21 +532,11 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineFunCallInLastStatementOfInlineWithArgumentFromCalleeAndOwn.kt");
}
@TestMetadata("soInlineFunDex.kt")
public void testSoInlineFunDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineFunDex.kt");
}
@TestMetadata("soInlineFunOnOneLineFor.kt")
public void testSoInlineFunOnOneLineFor() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineFunOnOneLineFor.kt");
}
@TestMetadata("soInlineFunOnOneLineForDex.kt")
public void testSoInlineFunOnOneLineForDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineFunOnOneLineForDex.kt");
}
@TestMetadata("soInlineFunWithFor.kt")
public void testSoInlineFunWithFor() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineFunWithFor.kt");
@@ -607,14 +562,14 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineIfConditionLambdaTrue.kt");
}
@TestMetadata("soInlineIterableFunDex.kt")
public void testSoInlineIterableFunDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineIterableFunDex.kt");
@TestMetadata("soInlineIterableFun.kt")
public void testSoInlineIterableFun() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineIterableFun.kt");
}
@TestMetadata("soInlineLibFunDex.kt")
public void testSoInlineLibFunDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineLibFunDex.kt");
@TestMetadata("soInlineLibFun.kt")
public void testSoInlineLibFun() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineLibFun.kt");
}
@TestMetadata("soInlineOperatorIterator.kt")
@@ -622,9 +577,9 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineOperatorIterator.kt");
}
@TestMetadata("soInlineUnitFunDex.kt")
public void testSoInlineUnitFunDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineUnitFunDex.kt");
@TestMetadata("soInlineUnitFun.kt")
public void testSoInlineUnitFun() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineUnitFun.kt");
}
@TestMetadata("soInlineWhileCondition.kt")
@@ -632,11 +587,6 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineWhileCondition.kt");
}
@TestMetadata("soInlineWhileConditionDex.kt")
public void testSoInlineWhileConditionDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soInlineWhileConditionDex.kt");
}
@TestMetadata("soLastStatementInInlineFunctionArgumenBeforeOtherArgument.kt")
public void testSoLastStatementInInlineFunctionArgumenBeforeOtherArgument() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/soLastStatementInInlineFunctionArgumenBeforeOtherArgument.kt");
@@ -792,11 +742,6 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInAnonymousFunctionInInlinedCallWithCrossInline.kt");
}
@TestMetadata("stopInAnonymousFunctionInInlinedCallWithCrossInlineDex.kt")
public void testStopInAnonymousFunctionInInlinedCallWithCrossInlineDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInAnonymousFunctionInInlinedCallWithCrossInlineDex.kt");
}
@TestMetadata("stopInCrossinlineInSuspend.kt")
public void testStopInCrossinlineInSuspend() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInCrossinlineInSuspend.kt");
@@ -832,19 +777,19 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInInlineCallLocalFunLambda.kt");
}
@TestMetadata("stopInInlineFunDex.kt")
public void testStopInInlineFunDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInInlineFunDex.kt");
@TestMetadata("stopInInlineFun.kt")
public void testStopInInlineFun() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInInlineFun.kt");
}
@TestMetadata("stopInInlineInOtherFileDex.kt")
public void testStopInInlineInOtherFileDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInInlineInOtherFileDex.kt");
@TestMetadata("stopInInlineInOtherFile.kt")
public void testStopInInlineInOtherFile() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInInlineInOtherFile.kt");
}
@TestMetadata("stopInInlineInOtherFileWithLambdaArgumentDex.kt")
public void testStopInInlineInOtherFileWithLambdaArgumentDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInInlineInOtherFileWithLambdaArgumentDex.kt");
@TestMetadata("stopInInlineInOtherFileWithLambdaArgument.kt")
public void testStopInInlineInOtherFileWithLambdaArgument() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInInlineInOtherFileWithLambdaArgument.kt");
}
@TestMetadata("stopInInlineUnderOtherCall.kt")
@@ -882,11 +827,6 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInLambdaInInlinedCallWithCrossInline.kt");
}
@TestMetadata("stopInLambdaInInlinedCallWithCrossInlineDex.kt")
public void testStopInLambdaInInlinedCallWithCrossInlineDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInLambdaInInlinedCallWithCrossInlineDex.kt");
}
@TestMetadata("stopInLambdaInlineCallLambda.kt")
public void testStopInLambdaInlineCallLambda() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/stepOver/stopInLambdaInlineCallLambda.kt");
@@ -1146,9 +1086,9 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/inlineInObject.kt");
}
@TestMetadata("inlineInObjectSameFileDex.kt")
public void testInlineInObjectSameFileDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/inlineInObjectSameFileDex.kt");
@TestMetadata("inlineInObjectSameFile.kt")
public void testInlineInObjectSameFile() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/inlineInObjectSameFile.kt");
}
@TestMetadata("inlineProperties.kt")
@@ -1176,14 +1116,14 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/kt17295.kt");
}
@TestMetadata("manyFilesWithInlineCalls1Dex.kt")
public void testManyFilesWithInlineCalls1Dex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/manyFilesWithInlineCalls1Dex.kt");
@TestMetadata("manyFilesWithInlineCalls1.kt")
public void testManyFilesWithInlineCalls1() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/manyFilesWithInlineCalls1.kt");
}
@TestMetadata("manyFilesWithInlineCalls2Dex.kt")
public void testManyFilesWithInlineCalls2Dex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/manyFilesWithInlineCalls2Dex.kt");
@TestMetadata("manyFilesWithInlineCalls2.kt")
public void testManyFilesWithInlineCalls2() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/manyFilesWithInlineCalls2.kt");
}
@TestMetadata("severalFunLiterals.kt")
@@ -1196,14 +1136,14 @@ public class KotlinSteppingTestGenerated extends AbstractKotlinSteppingTest {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/severalFunLiteralsInClass.kt");
}
@TestMetadata("severalInlineCallsFromOtherFileDex.kt")
public void testSeveralInlineCallsFromOtherFileDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/severalInlineCallsFromOtherFileDex.kt");
@TestMetadata("severalInlineCallsFromOtherFile.kt")
public void testSeveralInlineCallsFromOtherFile() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/severalInlineCallsFromOtherFile.kt");
}
@TestMetadata("severalInlineFunctionsInOneFileDex.kt")
public void testSeveralInlineFunctionsInOneFileDex() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/severalInlineFunctionsInOneFileDex.kt");
@TestMetadata("severalInlineFunctionsInOneFile.kt")
public void testSeveralInlineFunctionsInOneFile() throws Exception {
runTest("idea/jvm-debugger/jvm-debugger-test/testData/stepping/custom/severalInlineFunctionsInOneFile.kt");
}
@TestMetadata("simpleConditionalBreakpoint.kt")
@@ -35,7 +35,6 @@ internal object DebuggerPreferenceKeys {
val IS_FILTER_FOR_STDLIB_ALREADY_ADDED by debuggerPreferenceKey(false)
val FORCE_RANKING by debuggerPreferenceKey(false)
val EMULATE_DEX by debuggerPreferenceKey(false)
val PRINT_FRAME by debuggerPreferenceKey(false)
val SHOW_KOTLIN_VARIABLES by debuggerPreferenceKey(false)
@@ -11,9 +11,7 @@ import org.jetbrains.kotlin.idea.compiler.configuration.Kotlin2JvmCompilerArgume
import org.jetbrains.kotlin.idea.debugger.DebuggerUtils
import org.jetbrains.kotlin.idea.debugger.KotlinDebuggerSettings
import org.jetbrains.kotlin.idea.debugger.ToggleKotlinVariablesState
import org.jetbrains.kotlin.idea.debugger.emulateDexDebugInTests
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.DISABLE_KOTLIN_INTERNAL_CLASSES
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.EMULATE_DEX
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.IS_FILTER_FOR_STDLIB_ALREADY_ADDED
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.RENDER_DELEGATED_PROPERTIES
import org.jetbrains.kotlin.idea.debugger.test.preference.DebuggerPreferenceKeys.SKIP_CLASSLOADERS
@@ -32,20 +30,11 @@ internal val SettingsMutators: List<SettingsMutator<*>> = listOf(
KotlinSettingsMutator(DISABLE_KOTLIN_INTERNAL_CLASSES, KotlinDebuggerSettings::DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES),
KotlinSettingsMutator(RENDER_DELEGATED_PROPERTIES, KotlinDebuggerSettings::DEBUG_RENDER_DELEGATED_PROPERTIES),
KotlinSettingsMutator(IS_FILTER_FOR_STDLIB_ALREADY_ADDED, KotlinDebuggerSettings::DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED),
DexSettingsMutator(EMULATE_DEX),
KotlinVariablesModeSettingsMutator,
JvmTargetSettingsMutator,
ForceRankingSettingsMutator
)
private class DexSettingsMutator(key: DebuggerPreferenceKey<Boolean>) : SettingsMutator<Boolean>(key) {
override fun setValue(value: Boolean, project: Project): Boolean {
val oldValue = emulateDexDebugInTests
emulateDexDebugInTests = value
return oldValue
}
}
private class DebuggerSettingsMutator<T : Any>(
key: DebuggerPreferenceKey<T>,
private val prop: KMutableProperty1<DebuggerSettings, T>
@@ -1,62 +0,0 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.debugger.test.util
import org.jetbrains.org.objectweb.asm.*
import java.io.File
import java.util.*
fun patchDexTests(classesDir: File) {
classesDir.walk()
.filter { it.isFile && it.nameWithoutExtension.endsWith("Dex") && it.extension == "class" }
.forEach(::applyDexLikePatch)
}
private fun applyDexLikePatch(file: File) {
val reader = ClassReader(file.readBytes())
val writer = ClassWriter(ClassWriter.COMPUTE_FRAMES)
val visitor = writer
.withRemoveSourceDebugExtensionVisitor()
.withRemoveSameLinesInLineTableVisitor()
reader.accept(visitor, 0)
file.writeBytes(writer.toByteArray())
}
private fun ClassVisitor.withRemoveSourceDebugExtensionVisitor(): ClassVisitor {
return object : ClassVisitor(Opcodes.API_VERSION, this) {
override fun visitSource(source: String?, debug: String?) {
super.visitSource(source, null)
}
}
}
private fun ClassVisitor.withRemoveSameLinesInLineTableVisitor(): ClassVisitor {
return object : ClassVisitor(Opcodes.API_VERSION, this) {
override fun visitMethod(
access: Int,
name: String?,
desc: String?,
signature: String?,
exceptions: Array<out String>?
): MethodVisitor? {
val methodVisitor = super.visitMethod(access, name, desc, signature, exceptions) ?: return null
return object : MethodVisitor(Opcodes.API_VERSION, methodVisitor) {
val labels = HashSet<String>()
override fun visitLineNumber(line: Int, start: Label?) {
val added = labels.add(start.toString())
if (added) {
super.visitLineNumber(line, start)
}
}
}
}
}
}
@@ -1,7 +1,5 @@
// FILE: inlineInObjectSameFileDex.kt
// EMULATE_DEX: true
package inlineInObjectSameFileDex
// FILE: inlineInObjectSameFile.kt
package inlineInObjectSameFile
fun main(args: Array<String>) {
//Breakpoint!
@@ -0,0 +1,10 @@
LineBreakpoint created at inlineInObjectSameFile.kt:6
LineBreakpoint created at inlineInObjectSameFile.kt:12
Run Java
Connected to the target VM
inlineInObjectSameFile.kt:6
inlineInObjectSameFile.kt:12
Disconnected from the target VM
Process finished with exit code 0
@@ -1,10 +0,0 @@
LineBreakpoint created at inlineInObjectSameFileDex.kt:8
LineBreakpoint created at inlineInObjectSameFileDex.kt:14
Run Java
Connected to the target VM
inlineInObjectSameFileDex.kt:8
inlineInObjectSameFileDex.kt:14
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,30 @@
// FILE: manyFilesWithInlineCalls1.kt
package manyFilesWithInlineCalls1
import manyFilesWithInlineCalls1.first.*
import manyFilesWithInlineCalls1.second.*
fun main(args: Array<String>) {
firstInline()
}
fun unused() {
secondInline()
}
// ADDITIONAL_BREAKPOINT: manyFilesWithInlineCalls1.First.kt: Breakpoint 1
// FILE: manyFilesWithInlineCalls1.First.kt
package manyFilesWithInlineCalls1.first
inline fun firstInline() {
// Breakpoint 1
1 + 1
}
// FILE: manyFilesWithInlineCalls1.Second.kt
package manyFilesWithInlineCalls1.second
inline fun secondInline() {
1 + 1
}
@@ -1,8 +1,7 @@
LineBreakpoint created at soInlineUnitFunDex.kt:13
LineBreakpoint created at manyFilesWithInlineCalls1.First.kt:6
Run Java
Connected to the target VM
soInlineUnitFunDex.kt:13
soInlineUnitFunDex.kt:7
manyFilesWithInlineCalls1.First.kt:6
Disconnected from the target VM
Process finished with exit code 0
@@ -1,32 +0,0 @@
// EMULATE_DEX: true
// FILE: manyFilesWithInlineCalls1Dex.kt
package manyFilesWithInlineCalls1Dex
import manyFilesWithInlineCalls1Dex.first.*
import manyFilesWithInlineCalls1Dex.second.*
fun main(args: Array<String>) {
firstInline()
}
fun unused() {
secondInline()
}
// ADDITIONAL_BREAKPOINT: manyFilesWithInlineCalls1Dex.First.kt: Breakpoint 1
// FILE: manyFilesWithInlineCalls1Dex.First.kt
package manyFilesWithInlineCalls1Dex.first
inline fun firstInline() {
// Breakpoint 1
1 + 1
}
// FILE: manyFilesWithInlineCalls1Dex.Second.kt
package manyFilesWithInlineCalls1Dex.second
inline fun secondInline() {
1 + 1
}
@@ -1,7 +0,0 @@
LineBreakpoint created at manyFilesWithInlineCalls1Dex.First.kt:6
Run Java
Connected to the target VM
manyFilesWithInlineCalls1Dex.First.kt:6
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,30 @@
// FILE: manyFilesWithInlineCalls2.kt
package manyFilesWithInlineCalls2
import manyFilesWithInlineCalls2.first.*
import manyFilesWithInlineCalls2.second.*
fun main(args: Array<String>) {
secondInline()
}
fun unused() {
firstInline()
}
// ADDITIONAL_BREAKPOINT: manyFilesWithInlineCalls2.Second.kt: Breakpoint 1
// FILE: manyFilesWithInlineCalls2.First.kt
package manyFilesWithInlineCalls2.first
inline fun firstInline() {
1 + 1
}
// FILE: manyFilesWithInlineCalls2.Second.kt
package manyFilesWithInlineCalls2.second
inline fun secondInline() {
// Breakpoint 1
1 + 1
}
@@ -0,0 +1,7 @@
LineBreakpoint created at manyFilesWithInlineCalls2.Second.kt:6
Run Java
Connected to the target VM
manyFilesWithInlineCalls2.Second.kt:6
Disconnected from the target VM
Process finished with exit code 0
@@ -1,32 +0,0 @@
// EMULATE_DEX: true
// FILE: manyFilesWithInlineCalls2Dex.kt
package manyFilesWithInlineCalls2Dex
import manyFilesWithInlineCalls2Dex.first.*
import manyFilesWithInlineCalls2Dex.second.*
fun main(args: Array<String>) {
secondInline()
}
fun unused() {
firstInline()
}
// ADDITIONAL_BREAKPOINT: manyFilesWithInlineCalls2Dex.Second.kt: Breakpoint 1
// FILE: manyFilesWithInlineCalls2Dex.First.kt
package manyFilesWithInlineCalls2Dex.first
inline fun firstInline() {
1 + 1
}
// FILE: manyFilesWithInlineCalls2Dex.Second.kt
package manyFilesWithInlineCalls2Dex.second
inline fun secondInline() {
// Breakpoint 1
1 + 1
}
@@ -1,7 +0,0 @@
LineBreakpoint created at manyFilesWithInlineCalls2Dex.Second.kt:6
Run Java
Connected to the target VM
manyFilesWithInlineCalls2Dex.Second.kt:6
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,29 @@
// FILE: severalInlineCallsFromOtherFile.kt
package severalInlineCallsFromOtherFile
fun main(args: Array<String>) {
//Breakpoint!
firstCall()
secondCall()
}
fun firstCall() {
inlineFun()
}
fun secondCall() {
inlineFun()
}
// RESUME: 2
// ADDITIONAL_BREAKPOINT: severalInlineCallsFromOtherFile.Other.kt: Breakpoint 1
// FILE: severalInlineCallsFromOtherFile.Other.kt
package severalInlineCallsFromOtherFile
inline fun inlineFun() {
var i = 1
// Breakpoint 1
i++
i++
}
@@ -0,0 +1,10 @@
LineBreakpoint created at severalInlineCallsFromOtherFile.Other.kt:7
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:6
Run Java
Connected to the target VM
severalInlineCallsFromOtherFile.kt:6
severalInlineCallsFromOtherFile.Other.kt:7
severalInlineCallsFromOtherFile.Other.kt:7
Disconnected from the target VM
Process finished with exit code 0
@@ -1,31 +0,0 @@
// FILE: severalInlineCallsFromOtherFileDex.kt
// EMULATE_DEX: true
package severalInlineCallsFromOtherFileDex
fun main(args: Array<String>) {
//Breakpoint!
firstCall()
secondCall()
}
fun firstCall() {
inlineFun()
}
fun secondCall() {
inlineFun()
}
// RESUME: 2
// ADDITIONAL_BREAKPOINT: severalInlineCallsFromOtherFileDex.Other.kt: Breakpoint 1
// FILE: severalInlineCallsFromOtherFileDex.Other.kt
package severalInlineCallsFromOtherFileDex
inline fun inlineFun() {
var i = 1
// Breakpoint 1
i++
i++
}
@@ -1,10 +0,0 @@
LineBreakpoint created at severalInlineCallsFromOtherFileDex.Other.kt:7
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:8
Run Java
Connected to the target VM
severalInlineCallsFromOtherFileDex.kt:8
severalInlineCallsFromOtherFileDex.Other.kt:7
severalInlineCallsFromOtherFileDex.Other.kt:7
Disconnected from the target VM
Process finished with exit code 0
@@ -1,7 +1,5 @@
// FILE: severalInlineCallsFromOtherFileDex.kt
// EMULATE_DEX: true
package severalInlineCallsFromOtherFileDex
// FILE: severalInlineCallsFromOtherFile.kt
package severalInlineCallsFromOtherFile
fun main(args: Array<String>) {
//Breakpoint!
@@ -0,0 +1,23 @@
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:6
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:24
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:30
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:35
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:42
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:47
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:54
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:61
LineBreakpoint created at severalInlineCallsFromOtherFile.kt:67
Run Java
Connected to the target VM
severalInlineCallsFromOtherFile.kt:6
severalInlineCallsFromOtherFile.kt:24
severalInlineCallsFromOtherFile.kt:30
severalInlineCallsFromOtherFile.kt:42
severalInlineCallsFromOtherFile.kt:67
severalInlineCallsFromOtherFile.kt:35
severalInlineCallsFromOtherFile.kt:47
severalInlineCallsFromOtherFile.kt:54
severalInlineCallsFromOtherFile.kt:61
Disconnected from the target VM
Process finished with exit code 0
@@ -1,23 +0,0 @@
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:8
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:26
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:32
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:37
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:44
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:49
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:56
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:63
LineBreakpoint created at severalInlineCallsFromOtherFileDex.kt:69
Run Java
Connected to the target VM
severalInlineCallsFromOtherFileDex.kt:8
severalInlineCallsFromOtherFileDex.kt:26
severalInlineCallsFromOtherFileDex.kt:32
severalInlineCallsFromOtherFileDex.kt:44
severalInlineCallsFromOtherFileDex.kt:69
severalInlineCallsFromOtherFileDex.kt:37
severalInlineCallsFromOtherFileDex.kt:49
severalInlineCallsFromOtherFileDex.kt:56
severalInlineCallsFromOtherFileDex.kt:63
Disconnected from the target VM
Process finished with exit code 0
@@ -1,13 +0,0 @@
// EMULATE_DEX: true
// FILE: trueseveralInlineFunctionsInOneFileDex.kt
package inlineDex
fun main(args: Array<String>) {
//Breakpoint!
myPrint("OK")
}
inline fun myPrint(s: String) {
val z = s;
}
@@ -1,8 +0,0 @@
LineBreakpoint created at trueseveralInlineFunctionsInOneFileDex.kt:8
Run Java
Connected to the target VM
trueseveralInlineFunctionsInOneFileDex.kt:8
trueseveralInlineFunctionsInOneFileDex.kt:12
Disconnected from the target VM
Process finished with exit code 0
@@ -1,23 +0,0 @@
// FILE: inlineInClassDex.kt
// EMULATE_DEX: true
package inlineInClassDex
fun main(args: Array<String>) {
inlineInClassDex.other.TestDexInlineInClass().inlineFun()
}
// ADDITIONAL_BREAKPOINT: inlineInClassDex.Other.kt: Breakpoint 1
// FILE: inlineInClassDex.Other.kt
package inlineInClassDex.other
class TestDexInlineInClass {
inline fun inlineFun() {
// Breakpoint 1
some()
some()
}
fun some() {}
}
@@ -1,8 +0,0 @@
LineBreakpoint created at inlineInClassDex.Other.kt:7
Run Java
Connected to the target VM
inlineInClassDex.Other.kt:7
inlineInClassDex.Other.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -1,21 +0,0 @@
// FILE: inlineInIfFalseDex.kt
// EMULATE_DEX: true
package inlineInIfFalseDex
fun main(args: Array<String>) {
val bar = ""
//Breakpoint!
if (inlineCall { true }) {
foo()
}
foo()
}
fun foo() {}
inline fun inlineCall(predicate: (String?) -> Boolean): Boolean {
return false
}
// STEP_OVER: 8
@@ -1,9 +0,0 @@
LineBreakpoint created at inlineInIfFalseDex.kt:9
Run Java
Connected to the target VM
inlineInIfFalseDex.kt:9
inlineInIfFalseDex.kt:12
inlineInIfFalseDex.kt:13
Disconnected from the target VM
Process finished with exit code 0
@@ -1,20 +0,0 @@
// FILE: inlineInIfTrueDex.kt
// EMULATE_DEX: true
package inlineInIfTrueDex
fun main(args: Array<String>) {
val bar = ""
//Breakpoint!
if (inlineCall { true }) { // 1
foo() // 2
}
} // 3
fun foo() {}
inline fun inlineCall(predicate: (String?) -> Boolean): Boolean {
return true
}
// STEP_OVER: 6
@@ -1,9 +0,0 @@
LineBreakpoint created at inlineInIfTrueDex.kt:9
Run Java
Connected to the target VM
inlineInIfTrueDex.kt:9
inlineInIfTrueDex.kt:10
inlineInIfTrueDex.kt:12
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,21 @@
// FILE: inlineInObject.kt
package inlineInObject
fun main(args: Array<String>) {
inlineInObject.other.TestInlineInObject.inlineFun()
}
// ADDITIONAL_BREAKPOINT: inlineInObject.Other.kt: Breakpoint 1
// FILE: inlineInObject.Other.kt
package inlineInObject.other
object TestInlineInObject {
inline fun inlineFun() {
// Breakpoint 1
some()
some()
}
fun some() {}
}
@@ -0,0 +1,8 @@
LineBreakpoint created at inlineInObject.Other.kt:7
Run Java
Connected to the target VM
inlineInObject.Other.kt:7
inlineInObject.Other.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -1,23 +0,0 @@
// FILE: inlineInObjectDex.kt
// EMULATE_DEX: true
package inlineInObjectDex
fun main(args: Array<String>) {
inlineInObjectDex.other.TestDexInlineInObject.inlineFun()
}
// ADDITIONAL_BREAKPOINT: inlineInObjectDex.Other.kt: Breakpoint 1
// FILE: inlineInObjectDex.Other.kt
package inlineInObjectDex.other
object TestDexInlineInObject {
inline fun inlineFun() {
// Breakpoint 1
some()
some()
}
fun some() {}
}
@@ -1,8 +0,0 @@
LineBreakpoint created at inlineInObjectDex.Other.kt:7
Run Java
Connected to the target VM
inlineInObjectDex.Other.kt:7
inlineInObjectDex.Other.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -1,23 +0,0 @@
// FILE: soInlineAnonymousFunctionArgumentDex.kt
// EMULATE_DEX: true
package soInlineAnonymousFunctionArgumentDex
fun main(args: Array<String>) {
//Breakpoint!
val b = 1 // 1
foo( // 2
fun (){ test(1) } //
)
foo(fun (){ test(1) }) // 3
} // 4
inline fun foo(f: () -> Unit) {
f()
}
fun test(i: Int) = 1
// STEP_OVER: 10
@@ -1,10 +0,0 @@
LineBreakpoint created at soInlineAnonymousFunctionArgumentDex.kt:8
Run Java
Connected to the target VM
soInlineAnonymousFunctionArgumentDex.kt:8
soInlineAnonymousFunctionArgumentDex.kt:10
soInlineAnonymousFunctionArgumentDex.kt:14
soInlineAnonymousFunctionArgumentDex.kt:15
Disconnected from the target VM
Process finished with exit code 0
@@ -1,23 +0,0 @@
// FILE: soInlineCallInLastStatementInInlineDex.kt
// EMULATE_DEX: true
package soInlineCallInLastStatementInInlineDex
fun main(args: Array<String>) {
bar()
nop() // 3
} // 4
inline fun bar() {
//Breakpoint!
nop() // 1
foo { 42 } // 2
}
inline fun foo(f: () -> Unit) {
f()
}
fun nop() {}
// STEP_OVER: 8
@@ -1,11 +0,0 @@
LineBreakpoint created at soInlineCallInLastStatementInInlineDex.kt:13
Run Java
Connected to the target VM
soInlineCallInLastStatementInInlineDex.kt:13
soInlineCallInLastStatementInInlineDex.kt:14
soInlineCallInLastStatementInInlineDex.kt:15
soInlineCallInLastStatementInInlineDex.kt:8
soInlineCallInLastStatementInInlineDex.kt:9
Disconnected from the target VM
Process finished with exit code 0
@@ -1,25 +0,0 @@
// FILE: soInlineCallInLastStatementInInlineFunctionArgumentDex.kt
// EMULATE_DEX: true
package soInlineCallInLastStatementInInlineFunctionArgumentDex
fun main(args: Array<String>) {
bar {
nop()
//Breakpoint!
foo()
}
}
inline fun bar(f: () -> Unit) {
nop()
f()
}
inline fun foo() {
nop()
}
fun nop() {}
// STEP_OVER: 5
@@ -1,9 +0,0 @@
LineBreakpoint created at soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:10
Run Java
Connected to the target VM
soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:10
soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:11
soInlineCallInLastStatementInInlineFunctionArgumentDex.kt:12
Disconnected from the target VM
Process finished with exit code 0
@@ -1,30 +0,0 @@
// FILE: soInlineFunDex.kt
// EMULATE_DEX: true
package soInlineFunDex
fun main(args: Array<String>) {
val a = 1
//Breakpoint!
simple() // 1
withParam(1 + a) // 2
withLambda { "hi" } // 3
} // 4
inline fun simple() {
foo()
}
inline fun withParam(i: Int) {
}
inline fun withLambda(a: () -> Unit) {
a()
}
fun foo() {}
// STEP_OVER: 6
@@ -1,10 +0,0 @@
LineBreakpoint created at soInlineFunDex.kt:10
Run Java
Connected to the target VM
soInlineFunDex.kt:10
soInlineFunDex.kt:12
soInlineFunDex.kt:14
soInlineFunDex.kt:15
Disconnected from the target VM
Process finished with exit code 0
@@ -1,24 +0,0 @@
// FILE: soInlineFunOnOneLineForDex.kt
// EMULATE_DEX: true
package soInlineFunOnOneLineForDex
fun main(args: Array<String>) {
val list = listOf(1, 2, 3)
list.any1 { it > 2 }
foo()
}
fun foo() {
}
inline fun <T> Iterable<T>.any1(predicate: (T) -> Boolean): Boolean {
//Breakpoint!
for (element in this) if (predicate(element)) return true
return false
}
// STEP_OVER: 3
@@ -1,10 +0,0 @@
LineBreakpoint created at soInlineFunOnOneLineForDex.kt:20
Run Java
Connected to the target VM
soInlineFunOnOneLineForDex.kt:20
soInlineFunOnOneLineForDex.kt:21
soInlineFunOnOneLineForDex.kt:11
soInlineFunOnOneLineForDex.kt:12
Disconnected from the target VM
Process finished with exit code 0
@@ -1,7 +1,5 @@
// FILE: soInlineIterableFunDex.kt
// EMULATE_DEX: true
package soInlineIterableFunDex
// FILE: soInlineIterableFun.kt
package soInlineIterableFun
fun main(args: Array<String>) {
//Breakpoint!
@@ -0,0 +1,10 @@
LineBreakpoint created at soInlineIterableFun.kt:6
Run Java
Connected to the target VM
soInlineIterableFun.kt:6
soInlineIterableFun.kt:8
soInlineIterableFun.kt:10
soInlineIterableFun.kt:11
Disconnected from the target VM
Process finished with exit code 0
@@ -1,10 +0,0 @@
LineBreakpoint created at soInlineIterableFunDex.kt:8
Run Java
Connected to the target VM
soInlineIterableFunDex.kt:8
soInlineIterableFunDex.kt:10
soInlineIterableFunDex.kt:12
soInlineIterableFunDex.kt:13
Disconnected from the target VM
Process finished with exit code 0
@@ -1,7 +1,5 @@
// FILE: soInlineLibFunDex.kt
// EMULATE_DEX: true
package soInlineLibFunDex
// FILE: soInlineLibFun.kt
package soInlineLibFun
fun main(args: Array<String>) {
//Breakpoint!
@@ -0,0 +1,11 @@
LineBreakpoint created at soInlineLibFun.kt:6
Run Java
Connected to the target VM
soInlineLibFun.kt:6
soInlineLibFun.kt:8
soInlineLibFun.kt:10
soInlineLibFun.kt:11
soInlineLibFun.kt:13
Disconnected from the target VM
Process finished with exit code 0
@@ -1,11 +0,0 @@
LineBreakpoint created at soInlineLibFunDex.kt:8
Run Java
Connected to the target VM
soInlineLibFunDex.kt:8
soInlineLibFunDex.kt:10
soInlineLibFunDex.kt:12
soInlineLibFunDex.kt:13
soInlineLibFunDex.kt:15
Disconnected from the target VM
Process finished with exit code 0
@@ -1,7 +1,5 @@
// FILE: soInlineUnitFunDex.kt
// EMULATE_DEX: true
package soInlineUnitFunDex
// FILE: soInlineUnitFun.kt
package soInlineUnitFun
fun main(args: Array<String>) {
process()
@@ -1,8 +1,8 @@
LineBreakpoint created at stopInInlineFunDex.kt:13
LineBreakpoint created at soInlineUnitFun.kt:11
Run Java
Connected to the target VM
stopInInlineFunDex.kt:13
stopInInlineFunDex.kt:14
soInlineUnitFun.kt:11
soInlineUnitFun.kt:5
Disconnected from the target VM
Process finished with exit code 0
@@ -1,26 +0,0 @@
// FILE: soInlineWhileConditionDex.kt
// EMULATE_DEX: true
package soInlineWhileConditionDex
fun main(args: Array<String>) {
//Breakpoint!
var i = 1
// inline in while condition (true)
while (id { i < 2 }) {
i++
}
// inline in while condition (false)
while (id { false }) {
bar()
}
}
inline fun id(f: () -> Boolean): Boolean {
return f()
}
fun bar() {}
// STEP_OVER: 12
@@ -1,12 +0,0 @@
LineBreakpoint created at soInlineWhileConditionDex.kt:8
Run Java
Connected to the target VM
soInlineWhileConditionDex.kt:8
soInlineWhileConditionDex.kt:10
soInlineWhileConditionDex.kt:11
soInlineWhileConditionDex.kt:10
soInlineWhileConditionDex.kt:15
soInlineWhileConditionDex.kt:18
Disconnected from the target VM
Process finished with exit code 0
@@ -1,23 +0,0 @@
// FILE: stopInAnonymousFunctionInInlinedCallWithCrossInlineDex.kt
// EMULATE_DEX: true
package stopInAnonymousFunctionInInlinedCallWithCrossInlineDex
// KT-15282
fun main(args: Array<String>) {
foo(fun (): Int {
//Breakpoint!
return 12
})
}
fun bar(f: () -> Unit) {
f()
}
inline fun foo(crossinline func: () -> Int) {
bar {
func()
}
}
@@ -1,8 +0,0 @@
LineBreakpoint created at stopInAnonymousFunctionInInlinedCallWithCrossInlineDex.kt:11
Run Java
Connected to the target VM
stopInAnonymousFunctionInInlinedCallWithCrossInlineDex.kt:11
stopInAnonymousFunctionInInlinedCallWithCrossInlineDex.kt:22
Disconnected from the target VM
Process finished with exit code 0
@@ -1,7 +1,5 @@
// FILE: stopInInlineFunDex.kt
// EMULATE_DEX: true
package stopInInlineFunDex
// FILE: stopInInlineFun.kt
package stopInInlineFun
fun main(args: Array<String>) {
inlineFun()
@@ -0,0 +1,8 @@
LineBreakpoint created at stopInInlineFun.kt:11
Run Java
Connected to the target VM
stopInInlineFun.kt:11
stopInInlineFun.kt:12
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,18 @@
// FILE: stopInInlineInOtherFile.kt
package stopInInlineInOtherFile
fun main(args: Array<String>) {
inlineFun()
}
// ADDITIONAL_BREAKPOINT: stopInInlineInOtherFile.Other.kt: Breakpoint 1
// FILE: stopInInlineInOtherFile.Other.kt
package stopInInlineInOtherFile
inline fun inlineFun() {
var i = 1
// Breakpoint 1
i++
i++
}
@@ -0,0 +1,8 @@
LineBreakpoint created at stopInInlineInOtherFile.Other.kt:7
Run Java
Connected to the target VM
stopInInlineInOtherFile.Other.kt:7
stopInInlineInOtherFile.Other.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -1,20 +0,0 @@
// FILE: stopInInlineInOtherFileDex.kt
// EMULATE_DEX: true
package stopInInlineInOtherFileDex
fun main(args: Array<String>) {
inlineFun()
}
// ADDITIONAL_BREAKPOINT: stopInInlineInOtherFileDex.Other.kt: Breakpoint 1
// FILE: stopInInlineInOtherFileDex.Other.kt
package stopInInlineInOtherFileDex
inline fun inlineFun() {
var i = 1
// Breakpoint 1
i++
i++
}
@@ -1,8 +0,0 @@
LineBreakpoint created at stopInInlineInOtherFileDex.Other.kt:7
Run Java
Connected to the target VM
stopInInlineInOtherFileDex.Other.kt:7
stopInInlineInOtherFileDex.Other.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -0,0 +1,19 @@
// FILE: stopInInlineInOtherFileWithLambdaArgument.kt
package stopInInlineInOtherFileWithLambdaArgument
fun main(args: Array<String>) {
inlineFun { "hi" }
val i = 1
}
// ADDITIONAL_BREAKPOINT: stopInInlineInOtherFileWithLambdaArgument.Other.kt: Breakpoint 1
// FILE: stopInInlineInOtherFileWithLambdaArgument.Other.kt
package stopInInlineInOtherFileWithLambdaArgument
inline fun inlineFun(a: () -> Unit) {
a()
// Breakpoint 1
a()
a()
}
@@ -1,8 +1,8 @@
LineBreakpoint created at stopInInlineInOtherFileWithLambdaArgumentDex.Other.kt:7
LineBreakpoint created at stopInInlineInOtherFileWithLambdaArgument.Other.kt:7
Run Java
Connected to the target VM
stopInInlineInOtherFileWithLambdaArgumentDex.Other.kt:7
stopInInlineInOtherFileWithLambdaArgumentDex.kt:7
stopInInlineInOtherFileWithLambdaArgument.Other.kt:7
stopInInlineInOtherFileWithLambdaArgument.Other.kt:8
Disconnected from the target VM
Process finished with exit code 0
@@ -1,21 +0,0 @@
// FILE: stopInInlineInOtherFileWithLambdaArgumentDex.kt
// EMULATE_DEX: true
package stopInInlineInOtherFileWithLambdaArgumentDex
fun main(args: Array<String>) {
inlineFun { "hi" }
val i = 1
}
// ADDITIONAL_BREAKPOINT: stopInInlineInOtherFileWithLambdaArgumentDex.Other.kt: Breakpoint 1
// FILE: stopInInlineInOtherFileWithLambdaArgumentDex.Other.kt
package stopInInlineInOtherFileWithLambdaArgumentDex
inline fun inlineFun(a: () -> Unit) {
a()
// Breakpoint 1
a()
a()
}
@@ -1,22 +0,0 @@
// FILE: stopInLambdaInInlinedCallWithCrossInlineDex.kt
// EMULATE_DEX: true
// KT-15282
package stopInLambdaInInlinedCallWithCrossInlineDex
fun main(args: Array<String>) {
foo {
//Breakpoint!
12
}
}
fun bar(f: () -> Unit) {
f()
}
inline fun foo(crossinline func: () -> Int) {
bar {
func()
}
}
@@ -1,8 +0,0 @@
LineBreakpoint created at stopInLambdaInInlinedCallWithCrossInlineDex.kt:10
Run Java
Connected to the target VM
stopInLambdaInInlinedCallWithCrossInlineDex.kt:10
stopInLambdaInInlinedCallWithCrossInlineDex.kt:21
Disconnected from the target VM
Process finished with exit code 0