Extract JvmClassName.byFqName().getAsmType() logic
This commit is contained in:
@@ -667,7 +667,7 @@ public class AsmUtil {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static String asmDescByFqNameWithoutInnerClasses(@NotNull FqName fqName) {
|
public static String asmDescByFqNameWithoutInnerClasses(@NotNull FqName fqName) {
|
||||||
return "L" + JvmClassName.byFqNameWithoutInnerClasses(fqName).getInternalName() + ';';
|
return asmTypeByFqNameWithoutInnerClasses(fqName).getDescriptor();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -682,4 +682,9 @@ public class AsmUtil {
|
|||||||
public static FqName fqNameByAsmTypeUnsafe(@NotNull Type asmType) {
|
public static FqName fqNameByAsmTypeUnsafe(@NotNull Type asmType) {
|
||||||
return JvmClassName.byInternalName(asmType.getInternalName()).getFqName();
|
return JvmClassName.byInternalName(asmType.getInternalName()).getFqName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public static Type asmTypeByFqNameWithoutInnerClasses(@NotNull FqName fqName) {
|
||||||
|
return Type.getObjectType(JvmClassName.byFqNameWithoutInnerClasses(fqName).getInternalName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,13 +26,13 @@ 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;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import static org.jetbrains.jet.codegen.AsmUtil.asmTypeByFqNameWithoutInnerClasses;
|
||||||
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;
|
import static org.jetbrains.jet.lang.resolve.java.PackageClassUtils.getPackageClassFqName;
|
||||||
|
|
||||||
@@ -113,7 +113,7 @@ public final class ClassFileFactory extends GenerationStateAware {
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
protected ClassBuilder createClassBuilder() {
|
protected ClassBuilder createClassBuilder() {
|
||||||
return newVisitor(JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(fqName)).getAsmType(), files);
|
return newVisitor(asmTypeByFqNameWithoutInnerClasses(getPackageClassFqName(fqName)), files);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
codegen = new NamespaceCodegen(onDemand, fqName, state, files);
|
codegen = new NamespaceCodegen(onDemand, fqName, state, files);
|
||||||
|
|||||||
@@ -54,6 +54,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.codegen.AsmUtil.asmTypeByFqNameWithoutInnerClasses;
|
||||||
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;
|
import static org.jetbrains.jet.lang.resolve.java.PackageClassUtils.getPackageClassFqName;
|
||||||
|
|
||||||
@@ -318,7 +319,7 @@ public class NamespaceCodegen extends MemberCodegen {
|
|||||||
|
|
||||||
FqName srcFqName = facadeFqName.parent().child(Name.identifier(srcName));
|
FqName srcFqName = facadeFqName.parent().child(Name.identifier(srcName));
|
||||||
|
|
||||||
return JvmClassName.byFqNameWithoutInnerClasses(srcFqName).getAsmType();
|
return asmTypeByFqNameWithoutInnerClasses(srcFqName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
Reference in New Issue
Block a user