Delete useless method from NamespaceCodegen

It was already present in PackageClassUtils
This commit is contained in:
Alexander Udalov
2013-09-30 15:50:28 +04:00
parent 8729c88aa2
commit bee32b8138
4 changed files with 14 additions and 22 deletions
@@ -26,6 +26,7 @@ import org.jetbrains.jet.codegen.state.GenerationStateAware;
import org.jetbrains.jet.codegen.state.JetTypeMapperMode; import org.jetbrains.jet.codegen.state.JetTypeMapperMode;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import javax.inject.Inject; import javax.inject.Inject;
@@ -33,6 +34,7 @@ import java.io.File;
import java.util.*; import java.util.*;
import static org.jetbrains.jet.codegen.AsmUtil.isPrimitive; import static org.jetbrains.jet.codegen.AsmUtil.isPrimitive;
import static org.jetbrains.jet.lang.resolve.java.PackageClassUtils.getPackageClassFqName;
public final class ClassFileFactory extends GenerationStateAware { public final class ClassFileFactory extends GenerationStateAware {
@NotNull private ClassBuilderFactory builderFactory; @NotNull private ClassBuilderFactory builderFactory;
@@ -111,7 +113,7 @@ public final class ClassFileFactory extends GenerationStateAware {
@NotNull @NotNull
@Override @Override
protected ClassBuilder createClassBuilder() { protected ClassBuilder createClassBuilder() {
return newVisitor(NamespaceCodegen.getJVMClassNameForKotlinNs(fqName).getAsmType(), files); return newVisitor(JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(fqName)).getAsmType(), files);
} }
}; };
codegen = new NamespaceCodegen(onDemand, fqName, state, files); codegen = new NamespaceCodegen(onDemand, fqName, state, files);
@@ -44,7 +44,6 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.java.JvmAbi; import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames; import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames;
import org.jetbrains.jet.lang.resolve.java.JvmClassName; import org.jetbrains.jet.lang.resolve.java.JvmClassName;
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.Name;
@@ -56,6 +55,7 @@ import java.util.List;
import static org.jetbrains.asm4.Opcodes.*; import static org.jetbrains.asm4.Opcodes.*;
import static org.jetbrains.jet.codegen.AsmUtil.asmDescByFqNameWithoutInnerClasses; import static org.jetbrains.jet.codegen.AsmUtil.asmDescByFqNameWithoutInnerClasses;
import static org.jetbrains.jet.descriptors.serialization.NameSerializationUtil.createNameResolver; import static org.jetbrains.jet.descriptors.serialization.NameSerializationUtil.createNameResolver;
import static org.jetbrains.jet.lang.resolve.java.PackageClassUtils.getPackageClassFqName;
public class NamespaceCodegen extends MemberCodegen { public class NamespaceCodegen extends MemberCodegen {
@NotNull @NotNull
@@ -87,7 +87,7 @@ public class NamespaceCodegen extends MemberCodegen {
public void doSomething(@NotNull ClassBuilder v) { public void doSomething(@NotNull ClassBuilder v) {
v.defineClass(sourceFile, V1_6, v.defineClass(sourceFile, V1_6,
ACC_PUBLIC | ACC_FINAL, ACC_PUBLIC | ACC_FINAL,
getJVMClassNameForKotlinNs(fqName).getInternalName(), JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(fqName)).getInternalName(),
null, null,
//"jet/lang/Namespace", //"jet/lang/Namespace",
"java/lang/Object", "java/lang/Object",
@@ -183,7 +183,7 @@ public class NamespaceCodegen extends MemberCodegen {
if (!generateSrcClass) return null; if (!generateSrcClass) return null;
Type namespacePartType = getNamespacePartType(PackageClassUtils.getPackageClassFqName(name), file); Type namespacePartType = getNamespacePartType(getPackageClassFqName(name), file);
ClassBuilder builder = state.getFactory().forNamespacePart(namespacePartType, file); ClassBuilder builder = state.getFactory().forNamespacePart(namespacePartType, file);
builder.defineClass(file, V1_6, builder.defineClass(file, V1_6,
@@ -308,16 +308,6 @@ public class NamespaceCodegen extends MemberCodegen {
v.done(); v.done();
} }
@NotNull
public static JvmClassName getJVMClassNameForKotlinNs(@NotNull FqName fqName) {
String packageClassName = PackageClassUtils.getPackageClassName(fqName);
if (fqName.isRoot()) {
return JvmClassName.byInternalName(packageClassName);
}
return JvmClassName.byFqNameWithoutInnerClasses(fqName.child(Name.identifier(packageClassName)));
}
@NotNull @NotNull
private static Type getNamespacePartType(@NotNull FqName facadeFqName, @NotNull PsiFile file) { private static Type getNamespacePartType(@NotNull FqName facadeFqName, @NotNull PsiFile file) {
String fileName = FileUtil.getNameWithoutExtension(PathUtil.getFileName(file.getName())); String fileName = FileUtil.getNameWithoutExtension(PathUtil.getFileName(file.getName()));
@@ -338,8 +328,7 @@ public class NamespaceCodegen extends MemberCodegen {
@NotNull @NotNull
public static String getNamespacePartInternalName(@NotNull JetFile file) { public static String getNamespacePartInternalName(@NotNull JetFile file) {
FqName fqName = JetPsiUtil.getFQName(file); FqName packageFqName = JetPsiUtil.getFQName(file);
JvmClassName namespaceJvmClassName = getJVMClassNameForKotlinNs(fqName); return getNamespacePartType(getPackageClassFqName(packageFqName), file).getInternalName();
return getNamespacePartType(namespaceJvmClassName.getFqName(), file).getInternalName();
} }
} }
@@ -26,7 +26,7 @@ import org.jetbrains.jet.JetTestUtils;
import org.jetbrains.jet.cli.jvm.JVMConfigurationKeys; import org.jetbrains.jet.cli.jvm.JVMConfigurationKeys;
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
import org.jetbrains.jet.lang.psi.JetPsiUtil; import org.jetbrains.jet.lang.psi.JetPsiUtil;
import org.jetbrains.jet.lang.resolve.java.JvmClassName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.utils.ExceptionUtils; import org.jetbrains.jet.utils.ExceptionUtils;
import java.io.File; import java.io.File;
@@ -37,6 +37,7 @@ import java.net.URL;
import java.util.List; import java.util.List;
import static org.jetbrains.jet.codegen.CodegenTestUtil.*; import static org.jetbrains.jet.codegen.CodegenTestUtil.*;
import static org.jetbrains.jet.lang.resolve.java.PackageClassUtils.getPackageClassFqName;
public abstract class CodegenTestCase extends UsefulTestCase { public abstract class CodegenTestCase extends UsefulTestCase {
@@ -136,8 +137,8 @@ public abstract class CodegenTestCase extends UsefulTestCase {
@NotNull @NotNull
protected Class<?> generateNamespaceClass() { protected Class<?> generateNamespaceClass() {
JvmClassName name = NamespaceCodegen.getJVMClassNameForKotlinNs(JetPsiUtil.getFQName(myFiles.getPsiFile())); FqName packageFqName = JetPsiUtil.getFQName(myFiles.getPsiFile());
return generateClass(name.getFqName().asString()); return generateClass(getPackageClassFqName(packageFqName).asString());
} }
@NotNull @NotNull
@@ -26,7 +26,6 @@ import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
import org.jetbrains.jet.codegen.ClassFileFactory; import org.jetbrains.jet.codegen.ClassFileFactory;
import org.jetbrains.jet.codegen.CodegenTestCase; import org.jetbrains.jet.codegen.CodegenTestCase;
import org.jetbrains.jet.codegen.GeneratedClassLoader; import org.jetbrains.jet.codegen.GeneratedClassLoader;
import org.jetbrains.jet.codegen.NamespaceCodegen;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetPsiUtil; import org.jetbrains.jet.lang.psi.JetPsiUtil;
import org.jetbrains.jet.utils.ExceptionUtils; import org.jetbrains.jet.utils.ExceptionUtils;
@@ -38,6 +37,7 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import static org.jetbrains.jet.codegen.CodegenTestUtil.compileJava; import static org.jetbrains.jet.codegen.CodegenTestUtil.compileJava;
import static org.jetbrains.jet.lang.resolve.java.PackageClassUtils.getPackageClassFqName;
public abstract class AbstractBlackBoxCodegenTest extends CodegenTestCase { public abstract class AbstractBlackBoxCodegenTest extends CodegenTestCase {
public void doTest(@NotNull String filename) { public void doTest(@NotNull String filename) {
@@ -97,7 +97,7 @@ public abstract class AbstractBlackBoxCodegenTest extends CodegenTestCase {
// If there are many files, the first of them should contain the 'box(): String' function // If there are many files, the first of them should contain the 'box(): String' function
JetFile firstFile = myFiles.getPsiFiles().get(0); JetFile firstFile = myFiles.getPsiFiles().get(0);
String fqName = NamespaceCodegen.getJVMClassNameForKotlinNs(JetPsiUtil.getFQName(firstFile)).getFqName().asString(); String fqName = getPackageClassFqName(JetPsiUtil.getFQName(firstFile)).asString();
try { try {
Class<?> namespaceClass = loader.loadClass(fqName); Class<?> namespaceClass = loader.loadClass(fqName);