diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java index 5f5586cdbed..a7103156fc1 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java @@ -91,7 +91,7 @@ public class InlineCodegen extends CallGenerator { private final ReifiedTypeInliner reifiedTypeInliner; - @Nullable + @NotNull private final TypeParameterMappings typeParameterMappings; private LambdaInfo activeLambda; @@ -109,7 +109,7 @@ public class InlineCodegen extends CallGenerator { @NotNull GenerationState state, @NotNull FunctionDescriptor function, @NotNull KtElement callElement, - @Nullable TypeParameterMappings typeParameterMappings + @NotNull TypeParameterMappings typeParameterMappings ) { assert InlineUtil.isInline(function) || InlineUtil.isArrayConstructorWithLambda(function) : "InlineCodegen can inline only inline functions and array constructors: " + function; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.java deleted file mode 100644 index 31f71b3f54e..00000000000 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.java +++ /dev/null @@ -1,52 +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.context.CodegenContext; -import org.jetbrains.kotlin.codegen.state.GenerationState; -import org.jetbrains.kotlin.psi.KtElement; - -import java.util.Map; - -public class RootInliningContext extends InliningContext { - private final InlineCallSiteInfo inlineCallSiteInfo; - public final TypeParameterMappings typeParameterMappings; - public final KtElement callElement; - - public RootInliningContext( - @NotNull Map map, - @NotNull GenerationState state, - @NotNull NameGenerator nameGenerator, - @NotNull KtElement callElement, - @NotNull InlineCallSiteInfo classNameToInline, - @NotNull ReifiedTypeInliner inliner, - @Nullable TypeParameterMappings typeParameterMappings - ) { - super(null, map, state, nameGenerator, TypeRemapper.createRoot(typeParameterMappings), inliner, false, false); - this.callElement = callElement; - this.inlineCallSiteInfo = classNameToInline; - this.typeParameterMappings = typeParameterMappings; - } - - @NotNull - @Override - public InlineCallSiteInfo getCallSiteInfo() { - return inlineCallSiteInfo; - } -} diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.kt new file mode 100644 index 00000000000..b3b9186925b --- /dev/null +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RootInliningContext.kt @@ -0,0 +1,30 @@ +/* + * 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)