Move static constants with builtin names to :core:descriptors.common module

This commit is contained in:
Dmitriy Novozhilov
2020-08-16 22:57:12 +03:00
parent 2e92fe9be9
commit 7a7fe77b8e
180 changed files with 1085 additions and 1025 deletions
@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.js.resolve.diagnostics
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
import org.jetbrains.kotlin.builtins.isExtensionFunctionType
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory0
@@ -78,9 +78,9 @@ object JsExternalChecker : DeclarationChecker {
if (descriptor is ClassDescriptor && descriptor.kind != ClassKind.ANNOTATION_CLASS) {
val superClasses = (listOfNotNull(descriptor.getSuperClassNotAny()) + descriptor.getSuperInterfaces()).toMutableSet()
if (descriptor.kind == ClassKind.ENUM_CLASS || descriptor.kind == ClassKind.ENUM_ENTRY) {
superClasses.removeAll { it.fqNameUnsafe == KotlinBuiltIns.FQ_NAMES._enum }
superClasses.removeAll { it.fqNameUnsafe == KotlinBuiltInsNames.FqNames._enum }
}
if (superClasses.any { !AnnotationsUtils.isNativeObject(it) && it.fqNameSafe != KotlinBuiltIns.FQ_NAMES.throwable }) {
if (superClasses.any { !AnnotationsUtils.isNativeObject(it) && it.fqNameSafe != KotlinBuiltInsNames.FqNames.throwable }) {
trace.report(ErrorsJs.EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE.on(declaration))
}
}
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.serialization.js
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassifierDescriptorWithTypeParameters
import org.jetbrains.kotlin.name.ClassId
@@ -36,7 +36,7 @@ class JavaScriptStringTable : StringTableImpl() {
superClassifiers[0].classId
} else {
val superClass = superClassifiers.find { !DescriptorUtils.isInterface(it) }
superClass?.classId ?: ClassId.topLevel(KotlinBuiltIns.FQ_NAMES.any.toSafe())
superClass?.classId ?: ClassId.topLevel(KotlinBuiltInsNames.FqNames.any.toSafe())
}
} else {
super.getLocalClassIdReplacement(descriptor)
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.js.translate.callTranslator
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
import org.jetbrains.kotlin.builtins.isFunctionTypeOrSubtype
import org.jetbrains.kotlin.builtins.isSuspendFunctionTypeOrSubtype
import org.jetbrains.kotlin.descriptors.CallableDescriptor
@@ -177,10 +177,10 @@ private fun mayBeMarkByRangeMetadata(resolvedCall: ResolvedCall<out FunctionDesc
callExpression.range = Pair(RangeType.LONG, RangeKind.RANGE_TO)
}
untilFqName -> when (resolvedCall.resultingDescriptor.returnType?.constructor?.declarationDescriptor?.fqNameUnsafe) {
KotlinBuiltIns.FQ_NAMES.intRange -> {
KotlinBuiltInsNames.FqNames.intRange -> {
callExpression.range = Pair(RangeType.INT, RangeKind.UNTIL)
}
KotlinBuiltIns.FQ_NAMES.longRange -> {
KotlinBuiltInsNames.FqNames.longRange -> {
callExpression.range = Pair(RangeType.LONG, RangeKind.UNTIL)
}
}
@@ -21,11 +21,8 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.PrimitiveType;
import org.jetbrains.kotlin.descriptors.CallableDescriptor;
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor;
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor;
import org.jetbrains.kotlin.idea.KotlinLanguage;
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
import org.jetbrains.kotlin.js.backend.ast.*;
import org.jetbrains.kotlin.js.backend.ast.metadata.MetadataProperties;
import org.jetbrains.kotlin.js.backend.ast.metadata.SideEffectKind;
@@ -38,12 +35,10 @@ import org.jetbrains.kotlin.js.translate.intrinsic.functions.factories.ArrayFIF;
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils;
import org.jetbrains.kotlin.js.translate.utils.JsDescriptorUtils;
import org.jetbrains.kotlin.name.FqNameUnsafe;
import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.js.translate.declaration
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.js.backend.ast.*
@@ -39,7 +40,7 @@ class EnumTranslator(
}
private fun generateValuesFunction() {
val function = createFunction(DescriptorUtils.getFunctionByName(descriptor.staticScope, DescriptorUtils.ENUM_VALUES))
val function = createFunction(DescriptorUtils.getFunctionByName(descriptor.staticScope, KotlinBuiltInsNames.ENUM_VALUES))
val values = entries.map {
JsInvocation(JsAstUtils.pureFqn(context().getNameForObjectInstance(it), null)).source(psi)
@@ -48,7 +49,7 @@ class EnumTranslator(
}
private fun generateValueOfFunction() {
val function = createFunction(DescriptorUtils.getFunctionByName(descriptor.staticScope, DescriptorUtils.ENUM_VALUE_OF))
val function = createFunction(DescriptorUtils.getFunctionByName(descriptor.staticScope, KotlinBuiltInsNames.ENUM_VALUE_OF))
val nameParam = JsScope.declareTemporaryName("name")
function.parameters += JsParameter(nameParam)
@@ -93,4 +94,4 @@ class EnumTranslator(
return function
}
}
}
@@ -19,6 +19,7 @@
package org.jetbrains.kotlin.js.translate.expression
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.js.backend.ast.*
import org.jetbrains.kotlin.js.translate.callTranslator.CallTranslator
@@ -43,7 +44,6 @@ import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
import org.jetbrains.kotlin.resolve.scopes.receivers.ImplicitReceiver
import org.jetbrains.kotlin.types.KotlinType
fun createWhile(doWhile: Boolean, expression: KtWhileExpressionBase, context: TranslationContext): JsNode {
val conditionExpression = expression.condition ?:
@@ -316,7 +316,7 @@ fun translateForExpression(expression: KtForExpression, context: TranslationCont
}
fun findCollection() =
context.currentModule.findClassAcrossModuleDependencies(ClassId.topLevel(KotlinBuiltIns.FQ_NAMES.collection))!!
context.currentModule.findClassAcrossModuleDependencies(ClassId.topLevel(KotlinBuiltInsNames.FqNames.collection))!!
fun translateForOverCollectionIndices(info: WithIndexInfo): JsStatement {
val range = context.cacheExpressionIfNeeded(info.range)
@@ -337,7 +337,7 @@ fun translateForExpression(expression: KtForExpression, context: TranslationCont
}
fun findIterable() =
context.currentModule.findClassAcrossModuleDependencies(ClassId.topLevel(KotlinBuiltIns.FQ_NAMES.iterable))!!
context.currentModule.findClassAcrossModuleDependencies(ClassId.topLevel(KotlinBuiltInsNames.FqNames.iterable))!!
fun findSequence() =
context.currentModule.findClassAcrossModuleDependencies(ClassId.topLevel(sequenceFqName))!!
@@ -473,4 +473,4 @@ private enum class WithIndexReceiverType {
COLLECTION,
ITERABLE,
SEQUENCE
}
}
@@ -17,11 +17,8 @@
package org.jetbrains.kotlin.js.translate.intrinsic.functions.factories
import com.intellij.openapi.util.text.StringUtil.decapitalize
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.PrimitiveType
import org.jetbrains.kotlin.builtins.*
import org.jetbrains.kotlin.builtins.PrimitiveType.*
import org.jetbrains.kotlin.builtins.getValueParameterTypesFromFunctionType
import org.jetbrains.kotlin.builtins.isBuiltinFunctionalType
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor
@@ -144,7 +141,7 @@ object ArrayFIF : CompositeFIF() {
}
init {
val arrayName = KotlinBuiltIns.FQ_NAMES.array.shortName()
val arrayName = KotlinBuiltInsNames.FqNames.array.shortName()
val arrayTypeNames = mutableListOf(arrayName)
PrimitiveType.values().mapTo(arrayTypeNames) { it.arrayTypeName }
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.js.translate.intrinsic.functions.factories
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.js.backend.ast.JsExpression
@@ -42,7 +42,7 @@ object ThrowableConstructorIntrinsicFactory : FunctionIntrinsicFactory {
val constructor = callInfo.resolvedCall.resultingDescriptor
val argumentsToPass = arguments.toMutableList()
val hasCauseParameter = constructor.valueParameters.any {
it.type.constructor.declarationDescriptor?.fqNameSafe == KotlinBuiltIns.FQ_NAMES.throwable
it.type.constructor.declarationDescriptor?.fqNameSafe == KotlinBuiltInsNames.FqNames.throwable
}
if (constructor.valueParameters.size == 1 && hasCauseParameter) {
@@ -52,4 +52,4 @@ object ThrowableConstructorIntrinsicFactory : FunctionIntrinsicFactory {
return JsInvocation(JsAstUtils.pureFqn("newThrowable", Namer.kotlinObject()), argumentsToPass)
}
}
}
}
@@ -49,7 +49,7 @@ import org.jetbrains.kotlin.types.KotlinType;
import java.util.List;
import java.util.Map;
import static org.jetbrains.kotlin.builtins.KotlinBuiltIns.FQ_NAMES;
import static org.jetbrains.kotlin.builtins.KotlinBuiltInsNames.FqNames;
import static org.jetbrains.kotlin.js.patterns.PatternBuilder.pattern;
public final class TopLevelFIF extends CompositeFIF {
@@ -220,14 +220,14 @@ public final class TopLevelFIF extends CompositeFIF {
private TopLevelFIF() {
add(EQUALS_IN_ANY, KOTLIN_ANY_EQUALS);
add(pattern("Char.toString"), CHAR_TO_STRING);
add(pattern("kotlin", "toString").isExtensionOf(FQ_NAMES.any.asString()), TO_STRING);
add(pattern("kotlin", "equals").isExtensionOf(FQ_NAMES.any.asString()), KOTLIN_EQUALS);
add(pattern("kotlin", "toString").isExtensionOf(FqNames.any.asString()), TO_STRING);
add(pattern("kotlin", "equals").isExtensionOf(FqNames.any.asString()), KOTLIN_EQUALS);
add(HASH_CODE_IN_ANY, KOTLIN_HASH_CODE);
add(pattern(NamePredicate.PRIMITIVE_NUMBERS, "equals"), KOTLIN_EQUALS);
add(pattern("String|Boolean|Char|Number.equals"), KOTLIN_EQUALS);
add(pattern("String.subSequence"), STRING_SUBSTRING);
add(pattern("CharSequence.subSequence"), KOTLIN_SUBSEQUENCE);
add(pattern("kotlin", "iterator").isExtensionOf(FQ_NAMES.iterator.asString()), RETURN_RECEIVER_INTRINSIC);
add(pattern("kotlin", "iterator").isExtensionOf(FqNames.iterator.asString()), RETURN_RECEIVER_INTRINSIC);
add(pattern("kotlin.js", "Json", "get"), ArrayFIF.GET_INTRINSIC);
add(pattern("kotlin.js", "Json", "set"), ArrayFIF.SET_INTRINSIC);
@@ -17,7 +17,7 @@
package org.jetbrains.kotlin.js.translate.intrinsic.objects
import org.jetbrains.kotlin.builtins.CompanionObjectMapping
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.js.backend.ast.JsExpression
import org.jetbrains.kotlin.js.translate.context.TranslationContext
@@ -41,7 +41,7 @@ class ObjectIntrinsics {
}
private fun createIntrinsic(classDescriptor: ClassDescriptor): ObjectIntrinsic? {
if (classDescriptor.fqNameUnsafe == KotlinBuiltIns.FQ_NAMES._enum ||
if (classDescriptor.fqNameUnsafe == KotlinBuiltInsNames.FqNames._enum ||
!CompanionObjectMapping.isMappedIntrinsicCompanionObject(classDescriptor)
) {
return null
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.js.translate.reference;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor;
import org.jetbrains.kotlin.js.backend.ast.JsExpression;
@@ -52,7 +52,7 @@ public final class ReferenceTranslator {
private static final Set<FqNameUnsafe> DECLARATIONS_WITHOUT_SIDE_EFFECTS = new HashSet<>(Arrays.asList(
new FqNameUnsafe("kotlin.coroutines.experimental.intrinsics.COROUTINE_SUSPENDED"),
new FqNameUnsafe("kotlin.coroutines.intrinsics.COROUTINE_SUSPENDED"),
KotlinBuiltIns.FQ_NAMES.unit
KotlinBuiltInsNames.FqNames.unit
));
private ReferenceTranslator() {
@@ -20,7 +20,7 @@ import com.intellij.util.SmartList;
import kotlin.Pair;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames;
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
import org.jetbrains.kotlin.descriptors.SourceElement;
import org.jetbrains.kotlin.js.backend.ast.*;
@@ -227,25 +227,25 @@ public final class JsAstUtils {
@NotNull
public static JsExpression byteToUByte(byte value, @NotNull TranslationContext context) {
// replace with external builder
return toUnsignedNumber(new JsIntLiteral(value), context, KotlinBuiltIns.FQ_NAMES.uByte);
return toUnsignedNumber(new JsIntLiteral(value), context, KotlinBuiltInsNames.FqNames.uByte);
}
@NotNull
public static JsExpression shortToUShort(short value, @NotNull TranslationContext context) {
// replace with external builder
return toUnsignedNumber(new JsIntLiteral(value), context, KotlinBuiltIns.FQ_NAMES.uShort);
return toUnsignedNumber(new JsIntLiteral(value), context, KotlinBuiltInsNames.FqNames.uShort);
}
@NotNull
public static JsExpression intToUInt(int value, @NotNull TranslationContext context) {
// replace with external builder
return toUnsignedNumber(new JsIntLiteral(value), context, KotlinBuiltIns.FQ_NAMES.uInt);
return toUnsignedNumber(new JsIntLiteral(value), context, KotlinBuiltInsNames.FqNames.uInt);
}
@NotNull
public static JsExpression longToULong(@NotNull JsExpression expression, @NotNull TranslationContext context) {
// replace with external builder
return toUnsignedNumber(expression, context, KotlinBuiltIns.FQ_NAMES.uLong);
return toUnsignedNumber(expression, context, KotlinBuiltInsNames.FqNames.uLong);
}
private static JsExpression toUnsignedNumber(
@@ -20,6 +20,7 @@ import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames;
import org.jetbrains.kotlin.descriptors.*;
import org.jetbrains.kotlin.js.translate.context.Namer;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
@@ -41,7 +42,7 @@ import static org.jetbrains.kotlin.resolve.DescriptorUtils.*;
public final class JsDescriptorUtils {
// TODO: maybe we should use external annotations or something else.
private static final Set<String> FAKE_CLASSES = ContainerUtil.immutableSet(
KotlinBuiltIns.FQ_NAMES.any.asString()
KotlinBuiltInsNames.FqNames.any.asString()
);
private JsDescriptorUtils() {
@@ -11,6 +11,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.builtins.FunctionTypesKt;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.builtins.KotlinBuiltInsNames;
import org.jetbrains.kotlin.builtins.PrimitiveType;
import org.jetbrains.kotlin.config.CoroutineLanguageVersionSettingsUtilKt;
import org.jetbrains.kotlin.descriptors.*;
@@ -59,7 +60,7 @@ public final class TranslationUtils {
new FqNameUnsafe("kotlin.ranges.CharProgression"),
new FqNameUnsafe("kotlin.js.internal.CharCompanionObject"),
new FqNameUnsafe("kotlin.Char.Companion"),
KotlinBuiltIns.FQ_NAMES.charSequence, KotlinBuiltIns.FQ_NAMES.number
KotlinBuiltInsNames.FqNames.charSequence, KotlinBuiltInsNames.FqNames.number
));
private TranslationUtils() {