IR: remove unnecessary reliance on the PSI in inliner
This commit is contained in:
@@ -37,7 +37,7 @@ abstract class ObjectTransformer<out T : TransformationInfo>(@JvmField val trans
|
||||
val classBuilder = state.factory.newVisitor(
|
||||
JvmDeclarationOrigin.NO_ORIGIN,
|
||||
Type.getObjectType(transformationInfo.newClassName),
|
||||
inliningContext.callSiteInfo.file!!
|
||||
listOf(inliningContext.callSiteInfo.file!!)
|
||||
)
|
||||
|
||||
return RemappingClassBuilder(
|
||||
|
||||
+2
-1
@@ -36,6 +36,7 @@ import org.jetbrains.org.objectweb.asm.Opcodes
|
||||
import org.jetbrains.org.objectweb.asm.Type
|
||||
import org.jetbrains.org.objectweb.asm.commons.Method
|
||||
import org.jetbrains.org.objectweb.asm.tree.MethodNode
|
||||
import java.io.File
|
||||
|
||||
class PsiSourceCompilerForInline(
|
||||
private val codegen: ExpressionCodegen,
|
||||
@@ -75,7 +76,7 @@ class PsiSourceCompilerForInline(
|
||||
parentCodegen.className,
|
||||
signature.asmMethod,
|
||||
context.functionDescriptor.getInlineCallSiteVisibility(),
|
||||
callElement.containingFile,
|
||||
callElement.containingFile?.virtualFile?.let { File(it.path) },
|
||||
CodegenUtil.getLineNumberForElement(callElement, false) ?: 0
|
||||
)
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.codegen.inline
|
||||
|
||||
import com.intellij.psi.PsiFile
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||
import org.jetbrains.kotlin.codegen.inline.coroutines.FOR_INLINE_SUFFIX
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||
@@ -22,12 +21,13 @@ import org.jetbrains.org.objectweb.asm.Label
|
||||
import org.jetbrains.org.objectweb.asm.Type
|
||||
import org.jetbrains.org.objectweb.asm.commons.Method
|
||||
import org.jetbrains.org.objectweb.asm.tree.MethodNode
|
||||
import java.io.File
|
||||
|
||||
class InlineCallSiteInfo(
|
||||
val ownerClassName: String,
|
||||
val method: Method,
|
||||
val inlineScopeVisibility: DescriptorVisibility?,
|
||||
val file: PsiFile?,
|
||||
val file: File?,
|
||||
val lineNumber: Int
|
||||
) {
|
||||
val isInlineOrInsideInline: Boolean
|
||||
|
||||
Reference in New Issue
Block a user