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.descriptors.ClassDescriptor;
|
||||||
import org.jetbrains.kotlin.idea.JetLanguage;
|
import org.jetbrains.kotlin.idea.JetLanguage;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
|
import org.jetbrains.kotlin.name.FqNameUnsafe;
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||||
|
|
||||||
import java.util.Arrays;
|
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.JsDescriptorUtils.getModuleName;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.ManglingUtils.getStableMangledNameForDescriptor;
|
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.js.translate.utils.ManglingUtils.getSuggestedName;
|
||||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.getFqNameSafe;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encapsulates different types of constants and naming conventions.
|
* Encapsulates different types of constants and naming conventions.
|
||||||
@@ -107,10 +107,16 @@ public final class Namer {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static String getFunctionTag(@NotNull CallableDescriptor functionDescriptor) {
|
public static String getFunctionTag(@NotNull CallableDescriptor functionDescriptor) {
|
||||||
FqName fqName = getFqNameSafe(functionDescriptor);
|
|
||||||
String mangledName = getSuggestedName(functionDescriptor);
|
|
||||||
String moduleName = getModuleName(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
|
@NotNull
|
||||||
|
|||||||
Reference in New Issue
Block a user