Remove soft keyword coroutine & isCoroutine from ValueParameterDescriptor.
This commit is contained in:
@@ -74,14 +74,14 @@ class CoroutineCodegen(
|
||||
this@doResume, null, 0, Annotations.EMPTY, Name.identifier("data"),
|
||||
module.builtIns.nullableAnyType,
|
||||
/* isDefault = */ false, /* isCrossinline = */ false,
|
||||
/* isNoinline = */ false, /* isCoroutine = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* varargElementType = */ null, SourceElement.NO_SOURCE
|
||||
),
|
||||
ValueParameterDescriptorImpl(
|
||||
this@doResume, null, 1, Annotations.EMPTY, Name.identifier("throwable"),
|
||||
module.builtIns.throwable.defaultType.makeNullable(),
|
||||
/* isDefault = */ false, /* isCrossinline = */ false,
|
||||
/* isNoinline = */ false, /* isCoroutine = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* varargElementType = */ null, SourceElement.NO_SOURCE
|
||||
)
|
||||
),
|
||||
|
||||
+1
-1
@@ -195,7 +195,7 @@ fun <D : FunctionDescriptor> createJvmSuspendFunctionView(function: D): D {
|
||||
function, null, function.valueParameters.size, Annotations.EMPTY, Name.identifier("\$continuation"),
|
||||
function.getContinuationParameterTypeOfSuspendFunction(),
|
||||
/* declaresDefaultValue = */ false, /* isCrossinline = */ false,
|
||||
/* isNoinline = */ false, /* isCoroutine = */ false, /* varargElementType = */ null, SourceElement.NO_SOURCE
|
||||
/* isNoinline = */ false, /* varargElementType = */ null, SourceElement.NO_SOURCE
|
||||
)
|
||||
|
||||
return function.createCustomCopy {
|
||||
|
||||
-2
@@ -181,7 +181,6 @@ public class SingleAbstractMethodUtils {
|
||||
/* declaresDefaultValue = */ false,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* isCoroutine = */ false,
|
||||
null, SourceElement.NO_SOURCE);
|
||||
|
||||
KotlinType returnType = typeParameters.substitutor.substitute(unsubstitutedSamType, Variance.OUT_VARIANCE);
|
||||
@@ -309,7 +308,6 @@ public class SingleAbstractMethodUtils {
|
||||
/* declaresDefaultValue = */ false,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* isCoroutine = */ false,
|
||||
null, SourceElement.NO_SOURCE
|
||||
);
|
||||
valueParameters.add(newParam);
|
||||
|
||||
-2
@@ -34,7 +34,6 @@ import org.jetbrains.kotlin.name.FqNameUnsafe;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils;
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt;
|
||||
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature;
|
||||
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapper;
|
||||
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.KotlinToJvmSignatureMapperKt;
|
||||
import org.jetbrains.kotlin.types.KotlinType;
|
||||
@@ -175,7 +174,6 @@ public class SignaturesPropagationData {
|
||||
originalParam.declaresDefaultValue(),
|
||||
originalParam.isCrossinline(),
|
||||
originalParam.isNoinline(),
|
||||
originalParam.isCoroutine(),
|
||||
varargCheckResult.isVararg ? DescriptorUtilsKt.getBuiltIns(originalParam).getArrayElementType(altType) : null,
|
||||
SourceElement.NO_SOURCE
|
||||
));
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ sealed class LocalVariableAccessorDescriptor(
|
||||
|
||||
private fun createValueParameter(name: Name, type: KotlinType): ValueParameterDescriptorImpl {
|
||||
return ValueParameterDescriptorImpl(this, null, 0, Annotations.EMPTY, name, type,
|
||||
false, false, false, false, null, SourceElement.NO_SOURCE)
|
||||
false, false, false, null, SourceElement.NO_SOURCE)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -186,7 +186,6 @@ public interface KtTokens {
|
||||
|
||||
KtModifierKeywordToken CONST_KEYWORD = KtModifierKeywordToken.softKeywordModifier("const");
|
||||
|
||||
KtModifierKeywordToken COROUTINE_KEYWORD = KtModifierKeywordToken.softKeywordModifier("coroutine");
|
||||
KtModifierKeywordToken SUSPEND_KEYWORD = KtModifierKeywordToken.softKeywordModifier("suspend");
|
||||
|
||||
KtModifierKeywordToken HEADER_KEYWORD = KtModifierKeywordToken.softKeywordModifier("header");
|
||||
@@ -212,7 +211,7 @@ public interface KtTokens {
|
||||
LATEINIT_KEYWORD,
|
||||
DATA_KEYWORD, INLINE_KEYWORD, NOINLINE_KEYWORD, TAILREC_KEYWORD, EXTERNAL_KEYWORD,
|
||||
ANNOTATION_KEYWORD, CROSSINLINE_KEYWORD, CONST_KEYWORD, OPERATOR_KEYWORD, INFIX_KEYWORD,
|
||||
COROUTINE_KEYWORD, SUSPEND_KEYWORD, HEADER_KEYWORD, IMPL_KEYWORD
|
||||
SUSPEND_KEYWORD, HEADER_KEYWORD, IMPL_KEYWORD
|
||||
);
|
||||
|
||||
/*
|
||||
@@ -226,7 +225,7 @@ public interface KtTokens {
|
||||
PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD, OUT_KEYWORD, IN_KEYWORD, FINAL_KEYWORD, VARARG_KEYWORD,
|
||||
REIFIED_KEYWORD, COMPANION_KEYWORD, SEALED_KEYWORD, LATEINIT_KEYWORD,
|
||||
DATA_KEYWORD, INLINE_KEYWORD, NOINLINE_KEYWORD, TAILREC_KEYWORD, EXTERNAL_KEYWORD, ANNOTATION_KEYWORD, CROSSINLINE_KEYWORD,
|
||||
CONST_KEYWORD, OPERATOR_KEYWORD, INFIX_KEYWORD, COROUTINE_KEYWORD, SUSPEND_KEYWORD, HEADER_KEYWORD, IMPL_KEYWORD
|
||||
CONST_KEYWORD, OPERATOR_KEYWORD, INFIX_KEYWORD, SUSPEND_KEYWORD, HEADER_KEYWORD, IMPL_KEYWORD
|
||||
};
|
||||
|
||||
TokenSet MODIFIER_KEYWORDS = TokenSet.create(MODIFIER_KEYWORDS_ARRAY);
|
||||
|
||||
@@ -137,7 +137,7 @@ object DataClassDescriptorResolver {
|
||||
val declaresDefaultValue = propertyDescriptor != null
|
||||
val parameterDescriptor = ValueParameterDescriptorImpl(
|
||||
functionDescriptor, null, parameter.index, parameter.annotations, parameter.name, parameter.type, declaresDefaultValue,
|
||||
parameter.isCrossinline, parameter.isNoinline, parameter.isCoroutine, parameter.varargElementType, parameter.source
|
||||
parameter.isCrossinline, parameter.isNoinline, parameter.varargElementType, parameter.source
|
||||
)
|
||||
parameterDescriptors.add(parameterDescriptor)
|
||||
if (declaresDefaultValue) {
|
||||
|
||||
@@ -378,7 +378,6 @@ public class DescriptorResolver {
|
||||
valueParameter.hasDefaultValue(),
|
||||
valueParameter.hasModifier(CROSSINLINE_KEYWORD),
|
||||
valueParameter.hasModifier(NOINLINE_KEYWORD),
|
||||
valueParameter.hasModifier(COROUTINE_KEYWORD),
|
||||
varargElementType,
|
||||
KotlinSourceElementKt.toSourceElement(valueParameter),
|
||||
destructuringVariables
|
||||
|
||||
@@ -209,7 +209,6 @@ class FunctionDescriptorResolver(
|
||||
val it = ValueParameterDescriptorImpl(functionDescriptor, null, 0, Annotations.EMPTY, Name.identifier("it"),
|
||||
expectedParameterTypes!!.single(), valueParameterDescriptor.declaresDefaultValue(),
|
||||
valueParameterDescriptor.isCrossinline, valueParameterDescriptor.isNoinline,
|
||||
valueParameterDescriptor.isCoroutine,
|
||||
valueParameterDescriptor.varargElementType, SourceElement.NO_SOURCE)
|
||||
trace.record(BindingContext.AUTO_CREATED_IT, it)
|
||||
return listOf(it)
|
||||
|
||||
@@ -81,7 +81,6 @@ object ModifierCheckerCore {
|
||||
DATA_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS),
|
||||
INLINE_KEYWORD to EnumSet.of(FUNCTION, PROPERTY, PROPERTY_GETTER, PROPERTY_SETTER),
|
||||
NOINLINE_KEYWORD to EnumSet.of(VALUE_PARAMETER),
|
||||
COROUTINE_KEYWORD to EnumSet.of(VALUE_PARAMETER),
|
||||
TAILREC_KEYWORD to EnumSet.of(FUNCTION),
|
||||
SUSPEND_KEYWORD to EnumSet.of(FUNCTION),
|
||||
EXTERNAL_KEYWORD to EnumSet.of(FUNCTION, PROPERTY, PROPERTY_GETTER, PROPERTY_SETTER, CLASS),
|
||||
@@ -95,7 +94,6 @@ object ModifierCheckerCore {
|
||||
)
|
||||
|
||||
val featureDependencies = mapOf(
|
||||
COROUTINE_KEYWORD to LanguageFeature.Coroutines,
|
||||
SUSPEND_KEYWORD to LanguageFeature.Coroutines,
|
||||
INLINE_KEYWORD to LanguageFeature.InlineProperties,
|
||||
HEADER_KEYWORD to LanguageFeature.MultiPlatformProjects,
|
||||
|
||||
@@ -171,7 +171,6 @@ class DynamicCallableDescriptors(storageManager: StorageManager, builtIns: Kotli
|
||||
/* declaresDefaultValue = */ false,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* isCoroutine = */ false,
|
||||
varargElementType,
|
||||
SourceElement.NO_SOURCE
|
||||
))
|
||||
|
||||
+1
-1
@@ -252,7 +252,7 @@ class HeaderImplDeclarationChecker(val moduleToCheck: ModuleDescriptor? = null)
|
||||
areCompatibleTypeParameters(aTypeParams, bTypeParams, substitutor).let { if (it != Compatible) return it }
|
||||
|
||||
if (!equalsBy(aParams, bParams, ValueParameterDescriptor::declaresDefaultValue)) return Incompatible.ValueParameterHasDefault
|
||||
if (!equalsBy(aParams, bParams, { p -> listOf(p.varargElementType != null, p.isCoroutine, p.isCrossinline, p.isNoinline) })) return Incompatible.ValueParameterModifiers
|
||||
if (!equalsBy(aParams, bParams, { p -> listOf(p.varargElementType != null, p.isCrossinline, p.isNoinline) })) return Incompatible.ValueParameterModifiers
|
||||
|
||||
when {
|
||||
a is FunctionDescriptor && b is FunctionDescriptor -> areCompatibleFunctions(a, b).let { if (it != Compatible) return it }
|
||||
|
||||
-1
@@ -55,7 +55,6 @@ class LazyScriptClassMemberScope(
|
||||
/* declaresDefaultValue = */ false,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* isCoroutine = */ false,
|
||||
null, SourceElement.NO_SOURCE
|
||||
)
|
||||
}
|
||||
|
||||
-1
@@ -162,7 +162,6 @@ public class ControlStructureTypingUtils {
|
||||
/* declaresDefaultValue = */ false,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* isCoroutine = */ false,
|
||||
null, SourceElement.NO_SOURCE
|
||||
);
|
||||
valueParameters.add(valueParameter);
|
||||
|
||||
@@ -44,5 +44,5 @@ fun CallableMemberDescriptor.createValueParameter(index: Int, name: String, type
|
||||
Annotations.EMPTY,
|
||||
Name.identifier(name),
|
||||
type,
|
||||
false, false, false, false, null, SourceElement.NO_SOURCE
|
||||
false, false, false, null, SourceElement.NO_SOURCE
|
||||
)
|
||||
|
||||
+2
-2
@@ -110,12 +110,12 @@ class InterfaceLowering(val state: GenerationState) : IrElementTransformerVoid()
|
||||
val dispatchReceiver =
|
||||
ValueParameterDescriptorImpl.createWithDestructuringDeclarations(
|
||||
newFunction, null, 0, AnnotationsImpl(emptyList()), Name.identifier("this"),
|
||||
interfaceDescriptor.defaultType, false, false, false, false, null, interfaceDescriptor.source, null)
|
||||
interfaceDescriptor.defaultType, false, false, false, null, interfaceDescriptor.source, null)
|
||||
val oldExtensionReceiver = descriptor.extensionReceiverParameter
|
||||
val extensionReceiver = if (oldExtensionReceiver != null )
|
||||
ValueParameterDescriptorImpl.createWithDestructuringDeclarations(
|
||||
newFunction, null, 1, AnnotationsImpl(emptyList()), Name.identifier("receiver"),
|
||||
oldExtensionReceiver.value.type, false, false, false, false, null, oldExtensionReceiver.source, null)
|
||||
oldExtensionReceiver.value.type, false, false, false, null, oldExtensionReceiver.source, null)
|
||||
else null
|
||||
|
||||
val valueParameters = listOf(dispatchReceiver, extensionReceiver).filterNotNull() +
|
||||
|
||||
+1
-1
@@ -314,7 +314,7 @@ class LocalFunctionsLowering(val context: JvmBackendContext): ClassLoweringPass
|
||||
valueDescriptor.annotations,
|
||||
suggestNameForCapturedValueParameter(valueDescriptor),
|
||||
valueDescriptor.type,
|
||||
false, false, false, false, null, valueDescriptor.source
|
||||
false, false, false, null, valueDescriptor.source
|
||||
)
|
||||
|
||||
private fun createUnsubstitutedParameter(
|
||||
|
||||
+2
-2
@@ -38,14 +38,14 @@ fun FunctionDescriptor.toStatic(
|
||||
offset++
|
||||
ValueParameterDescriptorImpl.createWithDestructuringDeclarations(
|
||||
newFunction, null, 0, AnnotationsImpl(emptyList()), Name.identifier("this"),
|
||||
dispatchReceiverClass!!.defaultType, false, false, false, false, null, dispatchReceiverClass.source, null)
|
||||
dispatchReceiverClass!!.defaultType, false, false, false, null, dispatchReceiverClass.source, null)
|
||||
}
|
||||
|
||||
val extensionReceiver = extensionReceiverParameter?.let {
|
||||
offset++
|
||||
ValueParameterDescriptorImpl.createWithDestructuringDeclarations(
|
||||
newFunction, null, 1, AnnotationsImpl(emptyList()), Name.identifier("receiver"),
|
||||
it.value.type, false, false, false, false, null, it.source, null)
|
||||
it.value.type, false, false, false, null, it.source, null)
|
||||
}
|
||||
|
||||
val valueParameters = listOf(dispatchReceiver, extensionReceiver).filterNotNull() +
|
||||
|
||||
@@ -75,7 +75,7 @@ class IrBuiltIns(val builtIns: KotlinBuiltIns) {
|
||||
|
||||
val valueParameterName = ValueParameterDescriptorImpl(
|
||||
this, null, 0, Annotations.EMPTY, Name.identifier("name"), builtIns.stringType,
|
||||
false, false, false, false, null, org.jetbrains.kotlin.descriptors.SourceElement.NO_SOURCE
|
||||
false, false, false, null, org.jetbrains.kotlin.descriptors.SourceElement.NO_SOURCE
|
||||
)
|
||||
|
||||
val returnType = KotlinTypeFactory.simpleType(Annotations.EMPTY, typeParameterT.typeConstructor, listOf(), false)
|
||||
|
||||
-1
@@ -98,7 +98,6 @@ class IrBuiltinValueParameterDescriptorImpl(
|
||||
override fun declaresDefaultValue(): Boolean = false
|
||||
override fun getOriginal(): ValueParameterDescriptor = this
|
||||
override fun getOverriddenDescriptors(): Collection<ValueParameterDescriptor> = emptyList()
|
||||
override val isCoroutine: Boolean get() = false
|
||||
override val isCrossinline: Boolean get() = false
|
||||
override val isNoinline: Boolean get() = false
|
||||
override val varargElementType: KotlinType? get() = null
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ private fun createSynthesizedFunctionWithFirstParameterAsReceiver(descriptor: Fu
|
||||
original.valueParameters.drop(1).map { p ->
|
||||
ValueParameterDescriptorImpl(
|
||||
result, null, p.index - 1, p.annotations, Name.identifier("p${p.index + 1}"), p.type,
|
||||
p.declaresDefaultValue(), p.isCrossinline, p.isNoinline, p.isCoroutine, p.varargElementType, p.source
|
||||
p.declaresDefaultValue(), p.isCrossinline, p.isNoinline, p.varargElementType, p.source
|
||||
)
|
||||
},
|
||||
original.returnType,
|
||||
|
||||
-1
@@ -37,7 +37,6 @@ fun createValueParametersForInvokeInFunctionType(
|
||||
/* declaresDefaultValue = */ false,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
/* isCoroutine = */ false,
|
||||
null, SourceElement.NO_SOURCE
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -330,7 +330,7 @@ class DescriptorSerializer private constructor(
|
||||
|
||||
val flags = Flags.getValueParameterFlags(
|
||||
hasAnnotations(descriptor), descriptor.declaresDefaultValue(),
|
||||
descriptor.isCrossinline, descriptor.isNoinline, descriptor.isCoroutine
|
||||
descriptor.isCrossinline, descriptor.isNoinline
|
||||
)
|
||||
if (flags != builder.flags) {
|
||||
builder.flags = flags
|
||||
|
||||
-1
@@ -17,7 +17,6 @@ internal
|
||||
in
|
||||
out
|
||||
suspend
|
||||
coroutine
|
||||
class Bar<abstract, abstract enum : T, out open,
|
||||
public protected private internal abstract
|
||||
open
|
||||
|
||||
-2
@@ -57,8 +57,6 @@ JetFile: SoftKeywords.kt
|
||||
PsiElement(out)('out')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(suspend)('suspend')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(coroutine)('coroutine')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(class)('class')
|
||||
PsiWhiteSpace(' ')
|
||||
|
||||
Reference in New Issue
Block a user