From 4fbce3f43e51189650462b1599e1c783c540b209 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 27 May 2014 20:49:41 +0400 Subject: [PATCH] JvmDeclarationOrigin used in newClassBuilder() --- .../org/jetbrains/jet/codegen/ClassBuilderFactories.java | 8 +++----- .../org/jetbrains/jet/codegen/ClassBuilderFactory.java | 5 +---- .../src/org/jetbrains/jet/codegen/ClassFileFactory.java | 2 +- .../jet/codegen/SignatureCollectingClassBuilderFactory.kt | 4 ++-- .../jet/asJava/KotlinLightClassBuilderFactory.java | 5 ++--- 5 files changed, 9 insertions(+), 15 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java index d7687db2a7a..0abd639d6dc 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactories.java @@ -16,9 +16,7 @@ package org.jetbrains.jet.codegen; -import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.org.objectweb.asm.ClassWriter; import org.jetbrains.org.objectweb.asm.util.TraceClassVisitor; @@ -37,7 +35,7 @@ public class ClassBuilderFactories { @NotNull @Override - public ClassBuilder newClassBuilder(PsiElement forElement, DeclarationDescriptor forDescriptor) { + public ClassBuilder newClassBuilder(@NotNull JvmDeclarationOrigin origin) { throw new IllegalStateException(); } @@ -62,7 +60,7 @@ public class ClassBuilderFactories { @NotNull @Override - public ClassBuilder newClassBuilder(PsiElement forElement, DeclarationDescriptor forDescriptor) { + public ClassBuilder newClassBuilder(@NotNull JvmDeclarationOrigin origin) { return new TraceBuilder(new BinaryClassWriter()); } @@ -92,7 +90,7 @@ public class ClassBuilderFactories { @NotNull @Override - public ClassBuilder newClassBuilder(PsiElement forElement, DeclarationDescriptor forDescriptor) { + public ClassBuilder newClassBuilder(@NotNull JvmDeclarationOrigin origin) { return new AbstractClassBuilder.Concrete(new BinaryClassWriter()); } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactory.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactory.java index 14887470f92..b62dcc24dd5 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactory.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClassBuilderFactory.java @@ -16,17 +16,14 @@ package org.jetbrains.jet.codegen; -import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; public interface ClassBuilderFactory { @NotNull ClassBuilderMode getClassBuilderMode(); @NotNull - ClassBuilder newClassBuilder(@Nullable PsiElement forElement, @Nullable DeclarationDescriptor forDescriptor); + ClassBuilder newClassBuilder(@NotNull JvmDeclarationOrigin origin); String asText(ClassBuilder builder); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ClassFileFactory.java b/compiler/backend/src/org/jetbrains/jet/codegen/ClassFileFactory.java index 6e25718a523..1500e819193 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ClassFileFactory.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ClassFileFactory.java @@ -63,7 +63,7 @@ public class ClassFileFactory implements OutputFileCollection { String outputFilePath = asmType.getInternalName() + ".class"; List ioSourceFiles = toIoFilesIgnoringNonPhysical(sourceFiles); state.getProgress().reportOutput(ioSourceFiles, new File(outputFilePath)); - ClassBuilder answer = builderFactory.newClassBuilder(origin.getElement(), origin.getDescriptor()); + ClassBuilder answer = builderFactory.newClassBuilder(origin); generators.put(outputFilePath, new ClassBuilderAndSourceFileList(answer, ioSourceFiles)); return answer; } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt b/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt index 42cf689eb31..a78fa1172a8 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt +++ b/compiler/backend/src/org/jetbrains/jet/codegen/SignatureCollectingClassBuilderFactory.kt @@ -36,8 +36,8 @@ public abstract class SignatureCollectingClassBuilderFactory( origins: Collection ) - override fun newClassBuilder(forElement: PsiElement?, forDescriptor: DeclarationDescriptor?): SignatureCollectingClassBuilder { - return SignatureCollectingClassBuilder(JvmDeclarationOrigin(JvmDeclarationOriginKind.OTHER, forElement, forDescriptor), delegate.newClassBuilder(forElement, forDescriptor)) + override fun newClassBuilder(origin: JvmDeclarationOrigin): SignatureCollectingClassBuilder { + return SignatureCollectingClassBuilder(origin, delegate.newClassBuilder(origin)) } public override fun asBytes(builder: ClassBuilder?): ByteArray? { diff --git a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassBuilderFactory.java b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassBuilderFactory.java index 845caeda6c5..b9d0e3716ae 100644 --- a/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassBuilderFactory.java +++ b/compiler/jet.as.java.psi/src/org/jetbrains/jet/asJava/KotlinLightClassBuilderFactory.java @@ -16,14 +16,13 @@ package org.jetbrains.jet.asJava; -import com.intellij.psi.PsiElement; import com.intellij.psi.stubs.StubElement; import com.intellij.util.containers.Stack; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.codegen.ClassBuilder; import org.jetbrains.jet.codegen.ClassBuilderFactory; import org.jetbrains.jet.codegen.ClassBuilderMode; -import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; +import org.jetbrains.jet.codegen.JvmDeclarationOrigin; /*package*/ class KotlinLightClassBuilderFactory implements ClassBuilderFactory { private final Stack stubStack; @@ -40,7 +39,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; @NotNull @Override - public ClassBuilder newClassBuilder(PsiElement forElement, DeclarationDescriptor forDescriptor) { + public ClassBuilder newClassBuilder(@NotNull JvmDeclarationOrigin origin) { return new StubClassBuilder(stubStack); }