From da13ea4a8a868ac2b9a835ee8a1a4abb604084f4 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Fri, 12 May 2017 15:09:55 +0200 Subject: [PATCH] Move all InliningContext's to one place --- .../kotlin/codegen/inline/InliningContext.kt | 32 ++++++++++++- .../inline/RegeneratedClassContext.java | 47 ------------------- .../codegen/inline/RootInliningContext.kt | 30 ------------ 3 files changed, 31 insertions(+), 78 deletions(-) delete mode 100644 compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RegeneratedClassContext.java delete mode 100644 compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.kt diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InliningContext.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InliningContext.kt index 7447c1ef84a..bade33727cd 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InliningContext.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InliningContext.kt @@ -17,8 +17,38 @@ package org.jetbrains.kotlin.codegen.inline import org.jetbrains.kotlin.codegen.state.GenerationState +import org.jetbrains.kotlin.psi.KtElement import java.util.* + + +class RootInliningContext( + expressionMap: Map, + state: GenerationState, + nameGenerator: NameGenerator, + val callElement: KtElement, + override val callSiteInfo: InlineCallSiteInfo, + inliner: ReifiedTypeInliner, + val typeParameterMappings: TypeParameterMappings +) : InliningContext( + null, expressionMap, state, nameGenerator, TypeRemapper.createRoot(typeParameterMappings), inliner, null, false +) + +class RegeneratedClassContext( + parent: InliningContext, + expressionMap: Map, + state: GenerationState, + nameGenerator: NameGenerator, + typeRemapper: TypeRemapper, + reifiedTypeInliner: ReifiedTypeInliner, + lambdaInfo: LambdaInfo?, + override val callSiteInfo: InlineCallSiteInfo +) : InliningContext( + parent, expressionMap, state, nameGenerator, typeRemapper, reifiedTypeInliner, lambdaInfo, true +) + + + open class InliningContext( val parent: InliningContext?, private val expressionMap: Map, @@ -56,7 +86,7 @@ open class InliningContext( ): InliningContext { return RegeneratedClassContext( this, expressionMap, state, generator, TypeRemapper.createFrom(typeRemapper, newTypeMappings), - reifiedTypeInliner, isInliningLambda, callSiteInfo + reifiedTypeInliner, lambdaInfo, callSiteInfo ) } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RegeneratedClassContext.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RegeneratedClassContext.java deleted file mode 100644 index af1e175643d..00000000000 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RegeneratedClassContext.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2010-2015 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.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.kotlin.codegen.state.GenerationState; - -import java.util.Map; - -public class RegeneratedClassContext extends InliningContext { - private final InlineCallSiteInfo callSiteInfo; - - public RegeneratedClassContext( - @Nullable InliningContext parent, - @NotNull Map map, - @NotNull GenerationState state, - @NotNull NameGenerator nameGenerator, - @NotNull TypeRemapper typeRemapper, - @NotNull ReifiedTypeInliner reifiedTypeInliner, - boolean isInliningLambda, - @NotNull InlineCallSiteInfo callSiteInfo - ) { - super(parent, map, state, nameGenerator, typeRemapper, reifiedTypeInliner, isInliningLambda, true); - this.callSiteInfo = callSiteInfo; - } - - @NotNull - @Override - public InlineCallSiteInfo getCallSiteInfo() { - return callSiteInfo; - } -} diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.kt deleted file mode 100644 index b3b9186925b..00000000000 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.kt +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2010-2015 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.state.GenerationState -import org.jetbrains.kotlin.psi.KtElement - -class RootInliningContext( - expressionMap: Map, - state: GenerationState, - nameGenerator: NameGenerator, - val callElement: KtElement, - override val callSiteInfo: InlineCallSiteInfo, - inliner: ReifiedTypeInliner, - val typeParameterMappings: TypeParameterMappings -) : InliningContext(null, expressionMap, state, nameGenerator, TypeRemapper.createRoot(typeParameterMappings), inliner, false, false)