Debugger: generate package parts only for debug file
#KT-10126 Fixed
This commit is contained in:
@@ -355,22 +355,22 @@ class KotlinEvaluator(val codeFragment: KtCodeFragment, val sourcePosition: Sour
|
|||||||
parameters: ParametersDescriptor
|
parameters: ParametersDescriptor
|
||||||
): ClassFileFactory {
|
): ClassFileFactory {
|
||||||
return runReadAction {
|
return runReadAction {
|
||||||
val jetFile = createFileForDebugger(codeFragment, extractedFunction)
|
val fileForDebugger = createFileForDebugger(codeFragment, extractedFunction)
|
||||||
if (LOG.isDebugEnabled) {
|
if (LOG.isDebugEnabled) {
|
||||||
LOG.debug("File for eval4j:\n${runReadAction { jetFile.text }}")
|
LOG.debug("File for eval4j:\n${runReadAction { fileForDebugger.text }}")
|
||||||
}
|
}
|
||||||
|
|
||||||
val (bindingContext, moduleDescriptor, files) = jetFile.checkForErrors(true, codeFragment.getContextContainingFile())
|
val (bindingContext, moduleDescriptor, files) = fileForDebugger.checkForErrors(true, codeFragment.getContextContainingFile())
|
||||||
|
|
||||||
val generateClassFilter = object : GenerationState.GenerateClassFilter() {
|
val generateClassFilter = object : GenerationState.GenerateClassFilter() {
|
||||||
override fun shouldGeneratePackagePart(jetFile: KtFile) = jetFile == jetFile
|
override fun shouldGeneratePackagePart(jetFile: KtFile) = jetFile == fileForDebugger
|
||||||
override fun shouldAnnotateClass(processingClassOrObject: KtClassOrObject) = true
|
override fun shouldAnnotateClass(processingClassOrObject: KtClassOrObject) = true
|
||||||
override fun shouldGenerateClass(processingClassOrObject: KtClassOrObject) = processingClassOrObject.getContainingKtFile() == jetFile
|
override fun shouldGenerateClass(processingClassOrObject: KtClassOrObject) = processingClassOrObject.getContainingKtFile() == fileForDebugger
|
||||||
override fun shouldGenerateScript(script: KtScript) = false
|
override fun shouldGenerateScript(script: KtScript) = false
|
||||||
}
|
}
|
||||||
|
|
||||||
val state = GenerationState(
|
val state = GenerationState(
|
||||||
jetFile.project,
|
fileForDebugger.project,
|
||||||
if (!DEBUG_MODE) ClassBuilderFactories.BINARIES else ClassBuilderFactories.TEST,
|
if (!DEBUG_MODE) ClassBuilderFactories.BINARIES else ClassBuilderFactories.TEST,
|
||||||
moduleDescriptor,
|
moduleDescriptor,
|
||||||
bindingContext,
|
bindingContext,
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
package inlineFunctionOtherPackage
|
package inlineFunctionOtherPackage
|
||||||
|
|
||||||
inline fun myFun(f: () -> Int): Int = f()
|
inline fun myFun(f: () -> Int): Int = f()
|
||||||
|
|
||||||
|
val String.prop: String
|
||||||
|
get() {
|
||||||
|
return "a"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user