Delete useless method from NamespaceCodegen
It was already present in PackageClassUtils
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user