JS: generate shorter tag for inline functions
This commit is contained in:
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.kotlin.idea.JetLanguage;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe;
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -32,7 +33,6 @@ import static com.google.dart.compiler.backend.js.ast.AstPackage.JsObjectScope;
|
||||
import static org.jetbrains.kotlin.js.translate.utils.JsDescriptorUtils.getModuleName;
|
||||
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getStableMangledNameForDescriptor;
|
||||
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getSuggestedName;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.getFqNameSafe;
|
||||
|
||||
/**
|
||||
* Encapsulates different types of constants and naming conventions.
|
||||
@@ -107,10 +107,16 @@ public final class Namer {
|
||||
|
||||
@NotNull
|
||||
public static String getFunctionTag(@NotNull CallableDescriptor functionDescriptor) {
|
||||
FqName fqName = getFqNameSafe(functionDescriptor);
|
||||
String mangledName = getSuggestedName(functionDescriptor);
|
||||
String moduleName = getModuleName(functionDescriptor);
|
||||
return StringUtil.join(Arrays.asList(moduleName, fqName, mangledName), ".");
|
||||
FqNameUnsafe fqNameParent = DescriptorUtils.getFqName(functionDescriptor).parent();
|
||||
String qualifier = null;
|
||||
|
||||
if (!fqNameParent.isRoot()) {
|
||||
qualifier = fqNameParent.asString();
|
||||
}
|
||||
|
||||
String mangledName = getSuggestedName(functionDescriptor);
|
||||
return StringUtil.join(Arrays.asList(moduleName, qualifier, mangledName), ".");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
Reference in New Issue
Block a user