Introduced utility method.
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
+2
-2
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user