diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java index 8f53fd51545..d1d7fbf3d44 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClosureCodegen.java @@ -59,7 +59,7 @@ import java.util.List; import static org.jetbrains.kotlin.codegen.AsmUtil.*; import static org.jetbrains.kotlin.codegen.JvmCodegenUtil.isConst; import static org.jetbrains.kotlin.codegen.binding.CodegenBinding.CLOSURE; -import static org.jetbrains.kotlin.codegen.inline.InlineCodegenUtilsKt.initDefaultSourceMappingIfNeeded; +import static org.jetbrains.kotlin.codegen.inline.InlineCodegenUtils2Kt.initDefaultSourceMappingIfNeeded; import static org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings.METHOD_FOR_FUNCTION; import static org.jetbrains.kotlin.resolve.jvm.AsmTypes.*; import static org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin.NO_ORIGIN; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java index 97be52a709e..0eb2e3b6444 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java @@ -78,7 +78,7 @@ import static org.jetbrains.kotlin.codegen.CodegenUtilKt.isGenericToArray; import static org.jetbrains.kotlin.codegen.CodegenUtilKt.isNonGenericToArray; import static org.jetbrains.kotlin.codegen.JvmCodegenUtil.*; import static org.jetbrains.kotlin.codegen.binding.CodegenBinding.enumEntryNeedSubclass; -import static org.jetbrains.kotlin.codegen.inline.InlineCodegenUtilsKt.initDefaultSourceMappingIfNeeded; +import static org.jetbrains.kotlin.codegen.inline.InlineCodegenUtils2Kt.initDefaultSourceMappingIfNeeded; import static org.jetbrains.kotlin.resolve.BindingContextUtils.getDelegationConstructorCall; import static org.jetbrains.kotlin.resolve.BindingContextUtils.getNotNull; import static org.jetbrains.kotlin.resolve.DescriptorToSourceUtils.descriptorToDeclaration; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/inlineCodegenUtils.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/inlineCodegenUtils.kt index 47c1d7529c6..72529fed5da 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/inlineCodegenUtils.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/inlineCodegenUtils.kt @@ -144,22 +144,6 @@ fun getMethodNode( return SMAPAndMethodNode(node!!, smap) } -fun initDefaultSourceMappingIfNeeded( - context: CodegenContext<*>, codegen: MemberCodegen<*>, state: GenerationState -) { - if (state.isInlineDisabled) return - - var parentContext: CodegenContext<*>? = context.parentContext - while (parentContext != null) { - if (parentContext.isInlineMethodContext) { - //just init default one to one mapping - codegen.orCreateSourceMapper - break - } - parentContext = parentContext.parentContext - } -} - fun findVirtualFile(state: GenerationState, classId: ClassId): VirtualFile? { return VirtualFileFinder.getInstance(state.project).findVirtualFileWithHeader(classId) } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/inlineCodegenUtils2.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/inlineCodegenUtils2.kt new file mode 100644 index 00000000000..2f365d25141 --- /dev/null +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/inlineCodegenUtils2.kt @@ -0,0 +1,40 @@ +/* + * Copyright 2010-2017 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.kotlin.codegen.inline + +import org.jetbrains.kotlin.codegen.MemberCodegen +import org.jetbrains.kotlin.codegen.context.CodegenContext +import org.jetbrains.kotlin.codegen.state.GenerationState + +//This method was moved to separate class cause of LightClass generation problem: KT-18419 +//Move it back to inlineCodegenUtil after fix +fun initDefaultSourceMappingIfNeeded( + context: CodegenContext<*>, codegen: MemberCodegen<*>, state: GenerationState +) { + if (state.isInlineDisabled) return + + + var parentContext: CodegenContext<*>? = context.parentContext + while (parentContext != null) { + if (parentContext.isInlineMethodContext) { + //just init default one to one mapping + codegen.orCreateSourceMapper + break + } + parentContext = parentContext.parentContext + } +}