diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/MultifileClassCodegen.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/MultifileClassCodegen.kt index 42b9adfdd34..13be7b6a667 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/MultifileClassCodegen.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/MultifileClassCodegen.kt @@ -205,11 +205,8 @@ class MultifileClassCodegenImpl( val packageFragment = this.packageFragment ?: throw AssertionError("File part $file of $facadeFqName: no package fragment") - val partClassFqName = file.getFileClassFqName() - val partInitializerClassFqName = FqName(partClassFqName.asString() + "__Init") - val partType = partClassFqName.toAsmType() - val partInitializerType = partInitializerClassFqName.toAsmType() - val partContext = state.rootContext.intoMultifileClassPart(packageFragment, facadeClassType, partType, partInitializerType, file) + val partType = file.getFileClassFqName().toAsmType() + val partContext = state.rootContext.intoMultifileClassPart(packageFragment, facadeClassType, partType, file) generateNonPartClassDeclarations(file, partContext) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenAnnotatingVisitor.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenAnnotatingVisitor.java index ab1aadc244c..36954417b36 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenAnnotatingVisitor.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenAnnotatingVisitor.java @@ -370,9 +370,7 @@ class CodegenAnnotatingVisitor extends KtVisitorVoid { @NotNull private MutableClosure recordClosure(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { - return CodegenBinding.recordClosure( - bindingTrace, classDescriptor, peekFromStack(classStack), Type.getObjectType(name), fileClassesProvider - ); + return CodegenBinding.recordClosure(bindingTrace, classDescriptor, peekFromStack(classStack), Type.getObjectType(name)); } private void recordLocalVariablePropertyMetadata(LocalVariableDescriptor variableDescriptor) { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java index 34af164026b..6ea86d913a8 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.codegen.SamType; import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.when.WhenByEnumsMapping; import org.jetbrains.kotlin.descriptors.*; -import org.jetbrains.kotlin.fileClasses.JvmFileClassesProvider; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.psi.psiUtil.PsiUtilsKt; @@ -49,7 +48,7 @@ public class CodegenBinding { public static final WritableSlice ENUM_ENTRY_CLASS_NEED_SUBCLASS = Slices.createSimpleSetSlice(); - public static final WritableSlice> INNER_CLASSES = Slices.createSimpleSlice(); + private static final WritableSlice> INNER_CLASSES = Slices.createSimpleSlice(); public static final WritableSlice SAM_VALUE = Slices.createSimpleSlice(); @@ -150,8 +149,7 @@ public class CodegenBinding { @NotNull BindingTrace trace, @NotNull ClassDescriptor classDescriptor, @Nullable ClassDescriptor enclosing, - @NotNull Type asmType, - @NotNull JvmFileClassesProvider fileClassesManager + @NotNull Type asmType ) { KtElement element = (KtElement) DescriptorToSourceUtils.descriptorToDeclaration(classDescriptor); assert element != null : "No source element for " + classDescriptor; @@ -227,32 +225,6 @@ public class CodegenBinding { return type; } - @NotNull - public static Collection getAllInnerClasses( - @NotNull BindingContext bindingContext, @NotNull ClassDescriptor outermostClass - ) { - Collection innerClasses = bindingContext.get(INNER_CLASSES, outermostClass); - if (innerClasses == null || innerClasses.isEmpty()) return Collections.emptySet(); - - Set allInnerClasses = new HashSet<>(); - - Deque stack = new ArrayDeque<>(innerClasses); - do { - ClassDescriptor currentClass = stack.pop(); - if (allInnerClasses.add(currentClass)) { - Collection nextClasses = bindingContext.get(INNER_CLASSES, currentClass); - if (nextClasses != null) { - for (ClassDescriptor nextClass : nextClasses) { - stack.push(nextClass); - } - } - } - } - while (!stack.isEmpty()); - - return allInnerClasses; - } - @NotNull public static VariableDescriptor getDelegatedLocalVariableMetadata( @NotNull VariableDescriptor variableDescriptor, diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/context/CodegenContext.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/context/CodegenContext.java index f20d334c4f0..67edd23c271 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/context/CodegenContext.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/context/CodegenContext.java @@ -248,10 +248,9 @@ public abstract class CodegenContext { @NotNull PackageFragmentDescriptor descriptor, @NotNull Type multifileClassType, @NotNull Type filePartType, - @NotNull Type filePartInitializerType, @NotNull KtFile sourceFile ) { - return new MultifileClassPartContext(descriptor, this, multifileClassType, filePartType, filePartInitializerType, sourceFile); + return new MultifileClassPartContext(descriptor, this, multifileClassType, filePartType, sourceFile); } @NotNull diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MultifileClassPartContext.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MultifileClassPartContext.java index 869968706bd..87ac6b61cb6 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MultifileClassPartContext.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/context/MultifileClassPartContext.java @@ -24,19 +24,16 @@ import org.jetbrains.org.objectweb.asm.Type; public class MultifileClassPartContext extends MultifileClassContextBase implements DelegatingToPartContext, FacadePartWithSourceFile { private final KtFile sourceFile; - private final Type partInitializerType; public MultifileClassPartContext( PackageFragmentDescriptor descriptor, CodegenContext parent, Type multifileClassType, Type filePartType, - Type partInitializerType, @NotNull KtFile sourceFile ) { super(descriptor, parent, multifileClassType, filePartType); this.sourceFile = sourceFile; - this.partInitializerType = partInitializerType; } @Nullable @@ -45,11 +42,6 @@ public class MultifileClassPartContext extends MultifileClassContextBase impleme return getFilePartType(); } - @NotNull - public Type getPartInitializerType() { - return partInitializerType; - } - @NotNull @Override public KtFile getSourceFile() { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java index 6a195f292a2..a058069be0c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/serialization/JvmSerializationBindings.java @@ -21,7 +21,10 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.descriptors.FunctionDescriptor; import org.jetbrains.kotlin.descriptors.PropertyDescriptor; -import org.jetbrains.kotlin.util.slicedMap.*; +import org.jetbrains.kotlin.util.slicedMap.BasicWritableSlice; +import org.jetbrains.kotlin.util.slicedMap.MutableSlicedMap; +import org.jetbrains.kotlin.util.slicedMap.SlicedMapImpl; +import org.jetbrains.kotlin.util.slicedMap.Slices; import org.jetbrains.org.objectweb.asm.Type; import org.jetbrains.org.objectweb.asm.commons.Method; @@ -44,17 +47,6 @@ public final class JvmSerializationBindings { } } - private static final class SerializationMappingSetSlice extends SetSlice { - public SerializationMappingSetSlice() { - super(Slices.ONLY_REWRITE_TO_EQUAL, false); - } - - @NotNull - public static SerializationMappingSetSlice create() { - return new SerializationMappingSetSlice<>(); - } - } - static { BasicWritableSlice.initSliceDebugNames(JvmSerializationBindings.class); } @@ -65,16 +57,8 @@ public final class JvmSerializationBindings { map.put(slice, key, value); } - public void put(@NotNull SerializationMappingSetSlice slice, @NotNull K key) { - map.put(slice, key, true); - } - @Nullable public V get(@NotNull SerializationMappingSlice slice, @NotNull K key) { return map.get(slice, key); } - - public boolean get(@NotNull SerializationMappingSetSlice slice, @NotNull K key) { - return Boolean.TRUE.equals(map.get(slice, key)); - } } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/Progress.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/Progress.java deleted file mode 100644 index cbcab0bb807..00000000000 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/Progress.java +++ /dev/null @@ -1,34 +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.state; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.io.File; -import java.util.Collection; - -public interface Progress { - Progress DEAF = (sourceFiles, outputFile) -> { - }; - - /** - * @param sourceFiles a (possibly empty) collection of source files {@code outputFile} was generated from - * @param outputFile an output file - */ - void reportOutput(@NotNull Collection sourceFiles, @Nullable File outputFile); -}