diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java b/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java index e9ed5da8688..74f563e5198 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java @@ -730,7 +730,12 @@ public class AsmUtil { @NotNull public static Type asmTypeByFqNameWithoutInnerClasses(@NotNull FqName fqName) { - return Type.getObjectType(JvmClassName.byFqNameWithoutInnerClasses(fqName).getInternalName()); + return Type.getObjectType(internalNameByFqNameWithoutInnerClasses(fqName)); + } + + @NotNull + public static String internalNameByFqNameWithoutInnerClasses(@NotNull FqName fqName) { + return JvmClassName.byFqNameWithoutInnerClasses(fqName).getInternalName(); } public static void writeOuterClassAndEnclosingMethod( diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java index c3ccb974a40..ada709698a6 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/PackageCodegen.java @@ -90,7 +90,7 @@ public class PackageCodegen { JetFile sourceFile = files.size() == 1 && previouslyCompiledCallables.isEmpty() ? files.iterator().next() : null; - String className = JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(fqName)).getInternalName(); + String className = AsmUtil.internalNameByFqNameWithoutInnerClasses(getPackageClassFqName(fqName)); ClassBuilder v = PackageCodegen.this.state.getFactory().newVisitor(Type.getObjectType(className), files); v.defineClass(sourceFile, V1_6, ACC_PUBLIC | ACC_FINAL, @@ -371,6 +371,6 @@ public class PackageCodegen { public static String getPackagePartInternalName(@NotNull DeserializedCallableMemberDescriptor callable) { FqName packageFqName = ((PackageFragmentDescriptor) callable.getContainingDeclaration()).getFqName(); FqName packagePartFqName = packageFqName.child(BaseDescriptorDeserializer.getPackagePartClassName(callable)); - return JvmClassName.byFqNameWithoutInnerClasses(packagePartFqName).getInternalName(); + return AsmUtil.internalNameByFqNameWithoutInnerClasses(packagePartFqName); } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/SamWrapperCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/SamWrapperCodegen.java index 98bfde3a40c..5b4f940238e 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/SamWrapperCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/SamWrapperCodegen.java @@ -24,7 +24,6 @@ import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; import org.jetbrains.jet.lang.descriptors.SimpleFunctionDescriptor; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.DescriptorUtils; -import org.jetbrains.jet.lang.resolve.java.JvmClassName; import org.jetbrains.jet.lang.resolve.java.PackageClassUtils; import org.jetbrains.jet.lang.resolve.java.descriptor.JavaClassDescriptor; import org.jetbrains.jet.lang.resolve.name.FqName; @@ -133,7 +132,7 @@ public class SamWrapperCodegen { @NotNull private String getWrapperName(@NotNull JetFile containingFile) { FqName packageClassFqName = PackageClassUtils.getPackageClassFqName(containingFile.getPackageFqName()); - String packageInternalName = JvmClassName.byFqNameWithoutInnerClasses(packageClassFqName).getInternalName(); + String packageInternalName = AsmUtil.internalNameByFqNameWithoutInnerClasses(packageClassFqName); JavaClassDescriptor descriptor = samType.getJavaClassDescriptor(); return packageInternalName + "$sam$" + descriptor.getName().asString() + "$" + Integer.toHexString( diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/binding/CodegenAnnotatingVisitor.java b/compiler/backend/src/org/jetbrains/jet/codegen/binding/CodegenAnnotatingVisitor.java index b246bf148f7..474d864aad1 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/binding/CodegenAnnotatingVisitor.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/binding/CodegenAnnotatingVisitor.java @@ -22,6 +22,7 @@ import com.intellij.psi.tree.TokenSet; import com.intellij.util.containers.Stack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.jet.codegen.AsmUtil; import org.jetbrains.jet.codegen.JvmFunctionImplTypes; import org.jetbrains.jet.codegen.SamCodegenUtil; import org.jetbrains.jet.codegen.SamType; @@ -36,7 +37,6 @@ import org.jetbrains.jet.lang.resolve.calls.model.ExpressionValueArgument; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedValueArgument; 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.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; @@ -148,7 +148,7 @@ class CodegenAnnotatingVisitor extends JetVisitorVoid { nameStack.push(asmTypeForScriptPsi(bindingContext, file.getScript()).getInternalName()); } else { - nameStack.push(JvmClassName.byFqNameWithoutInnerClasses(file.getPackageFqName()).getInternalName()); + nameStack.push(AsmUtil.internalNameByFqNameWithoutInnerClasses(file.getPackageFqName())); } file.acceptChildren(this); nameStack.pop(); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java index ed38e52cb87..757a1637bac 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/binding/PsiCodegenPredictor.java @@ -21,6 +21,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.jet.codegen.AsmUtil; import org.jetbrains.jet.codegen.ClassBuilderFactories; import org.jetbrains.jet.codegen.PackageCodegen; import org.jetbrains.jet.codegen.state.GenerationState; @@ -86,12 +87,12 @@ public final class PsiCodegenPredictor { FqName packageFqName = declaration.getContainingJetFile().getPackageFqName(); if (declaration instanceof JetNamedFunction) { - JvmClassName packageClass = JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(packageFqName)); + FqName packageClass = getPackageClassFqName(packageFqName); Name name = ((JetNamedFunction) declaration).getNameAsName(); - return name == null ? null : packageClass.getInternalName() + "$" + name.asString(); + return name == null ? null : AsmUtil.internalNameByFqNameWithoutInnerClasses(packageClass) + "$" + name.asString(); } - parentInternalName = JvmClassName.byFqNameWithoutInnerClasses(packageFqName).getInternalName(); + parentInternalName = AsmUtil.internalNameByFqNameWithoutInnerClasses(packageFqName); } if (declaration instanceof JetClassObject) { diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt index 64f10d1a804..017e50e7636 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CliSourcesMemberFilter.kt @@ -23,6 +23,7 @@ import org.jetbrains.jet.descriptors.serialization.NameResolver import org.jetbrains.jet.descriptors.serialization.JavaProtoBuf import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor import org.jetbrains.jet.lang.resolve.java.JvmClassName +import org.jetbrains.jet.codegen.AsmUtil public class CliSourcesMemberFilter(environment: JetCoreEnvironment): MemberFilter { val packagePartClassNames = environment.getSourceFiles().map { getPackagePartInternalName(it) }.toSet() @@ -31,7 +32,7 @@ public class CliSourcesMemberFilter(environment: JetCoreEnvironment): MemberFilt if (member.hasExtension(JavaProtoBuf.implClassName)) { val shortName = nameResolver.getName(member.getExtension(JavaProtoBuf.implClassName)!!) val fqName = container.fqName.child(shortName) - val internalName = JvmClassName.byFqNameWithoutInnerClasses(fqName).getInternalName() + val internalName = AsmUtil.internalNameByFqNameWithoutInnerClasses(fqName) return internalName !in packagePartClassNames } return true