NamespaceCodegen.getNamespacePartInternalName()

Should be used instead of getMultiFileNamespaceInternalName()
This commit is contained in:
Alexander Udalov
2012-10-22 16:33:32 +04:00
parent e7a7afa0be
commit a8798de8d0
3 changed files with 12 additions and 5 deletions
@@ -286,7 +286,7 @@ public class NamespaceCodegen extends MemberCodegen {
}
@NotNull
public static String getMultiFileNamespaceInternalName(String namespaceInternalName, PsiFile file) {
private static String getMultiFileNamespaceInternalName(@NotNull String namespaceInternalName, @NotNull PsiFile file) {
String name = FileUtil.toSystemDependentName(file.getName());
int substringFrom = name.lastIndexOf(File.separator) + 1;
@@ -302,4 +302,12 @@ public class NamespaceCodegen extends MemberCodegen {
// path hashCode to prevent same name / different path collision
return namespaceInternalName + "$src$" + name.substring(substringFrom, substringTo) + "$" + pathHashCode;
}
@NotNull
public static String getNamespacePartInternalName(@NotNull JetFile file) {
FqName fqName = JetPsiUtil.getFQName(file);
JvmClassName namespaceJvmClassName = NamespaceCodegen.getJVMClassNameForKotlinNs(fqName);
String namespaceInternalName = namespaceJvmClassName.getInternalName();
return NamespaceCodegen.getMultiFileNamespaceInternalName(namespaceInternalName, file);
}
}