Add PackageClassUtils.getPackageClassInternalName()

This commit is contained in:
Alexander Udalov
2014-06-09 19:11:30 +04:00
parent 059538ce1b
commit ac8eb0f5e8
4 changed files with 9 additions and 5 deletions
@@ -33,6 +33,7 @@ import org.jetbrains.jet.lang.resolve.BindingContextUtils;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
import org.jetbrains.jet.lang.resolve.java.JvmClassName;
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
import org.jetbrains.jet.lang.resolve.kotlin.PackagePartClassUtils;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name;
@@ -42,7 +43,6 @@ import java.util.ArrayList;
import java.util.Collection;
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDeclaration;
import static org.jetbrains.jet.lang.resolve.java.PackageClassUtils.getPackageClassFqName;
public final class PsiCodegenPredictor {
private PsiCodegenPredictor() {
@@ -87,9 +87,8 @@ public final class PsiCodegenPredictor {
FqName packageFqName = declaration.getContainingJetFile().getPackageFqName();
if (declaration instanceof JetNamedFunction) {
FqName packageClass = getPackageClassFqName(packageFqName);
Name name = ((JetNamedFunction) declaration).getNameAsName();
return name == null ? null : AsmUtil.internalNameByFqNameWithoutInnerClasses(packageClass) + "$" + name.asString();
return name == null ? null : PackageClassUtils.getPackageClassInternalName(packageFqName) + "$" + name.asString();
}
parentInternalName = AsmUtil.internalNameByFqNameWithoutInnerClasses(packageFqName);
@@ -143,7 +143,7 @@ public class JetTypeMapper {
}
}
return PackageClassUtils.getPackageClassFqName(packageFragment.getFqName()).asString().replace('.', '/');
return PackageClassUtils.getPackageClassInternalName(packageFragment.getFqName());
}
@NotNull
@@ -46,6 +46,11 @@ public final class PackageClassUtils {
return packageFQN.child(Name.identifier(getPackageClassName(packageFQN)));
}
@NotNull
public static String getPackageClassInternalName(@NotNull FqName packageFQN) {
return JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(packageFQN)).getInternalName();
}
public static boolean isPackageClassFqName(@NotNull FqName fqName) {
return !fqName.isRoot() && getPackageClassFqName(fqName.parent()).equals(fqName);
}
@@ -270,7 +270,7 @@ package packageForDebugger
!FUNCTION!
"""
private val packageInternalName = PackageClassUtils.getPackageClassFqName(FqName("packageForDebugger")).asString().replace(".", "/")
private val packageInternalName = PackageClassUtils.getPackageClassInternalName(FqName("packageForDebugger"))
private fun createFileForDebugger(codeFragment: JetCodeFragment,
extractedFunction: JetNamedFunction