Remove experimental coroutines wrapper generation

This commit is contained in:
Ilmir Usmanov
2021-08-25 20:40:11 +02:00
committed by TeamCityServer
parent 1f8dd45c2b
commit 97176b5d60
2 changed files with 0 additions and 42 deletions
@@ -331,8 +331,6 @@ public class ExpressionCodegen extends KtVisitor<StackValue, StackValue> impleme
StackValue stackValue = selector.accept(visitor, receiver);
stackValue = suspendFunctionTypeWrapperIfNeeded(selector, stackValue);
stackValue = coerceAndBoxInlineClassIfNeeded(selector, stackValue);
RuntimeAssertionInfo runtimeAssertionInfo = null;
@@ -357,32 +355,6 @@ public class ExpressionCodegen extends KtVisitor<StackValue, StackValue> impleme
}
}
private StackValue suspendFunctionTypeWrapperIfNeeded(KtElement selector, StackValue stackValue) {
Type functionTypeForWrapper =
selector instanceof KtExpression
? bindingContext.get(CodegenBinding.FUNCTION_TYPE_FOR_SUSPEND_WRAPPER, (KtExpression) selector)
: null;
if (functionTypeForWrapper == null) return stackValue;
StackValue stackValueToWrap = stackValue;
stackValue = new StackValue(stackValue.type, stackValue.kotlinType) {
@Override
public void putSelector(
@NotNull Type type, @Nullable KotlinType kotlinType, @NotNull InstructionAdapter v
) {
stackValueToWrap.put(functionTypeForWrapper, null, v);
invokeCoroutineMigrationMethod(
v,
"toExperimentalSuspendFunction",
Type.getMethodDescriptor(functionTypeForWrapper, functionTypeForWrapper)
);
coerce(functionTypeForWrapper, type, v);
}
};
return stackValue;
}
private StackValue coerceAndBoxInlineClassIfNeeded(KtElement selector, StackValue stackValue) {
ResolvedCall<? extends CallableDescriptor> resolvedCall = CallUtilKt.getResolvedCall(selector, bindingContext);
if (resolvedCall == null) return stackValue;
@@ -2619,19 +2591,6 @@ public class ExpressionCodegen extends KtVisitor<StackValue, StackValue> impleme
tempVariables.put(continuationExpression, coroutineInstanceValue);
}
private static void invokeCoroutineMigrationMethod(
@NotNull InstructionAdapter v,
String methodName,
String descriptor
) {
v.invokestatic(
"kotlin/coroutines/experimental/migration/CoroutinesMigrationKt",
methodName,
descriptor,
false
);
}
private StackValue getContinuationParameterFromEnclosingSuspendFunction(@NotNull ResolvedCall<?> resolvedCall) {
FunctionDescriptor enclosingSuspendFunction =
bindingContext.get(BindingContext.ENCLOSING_SUSPEND_FUNCTION_FOR_SUSPEND_FUNCTION_CALL, resolvedCall.getCall());
@@ -45,7 +45,6 @@ public class CodegenBinding {
private static final WritableSlice<ClassDescriptor, Collection<ClassDescriptor>> INNER_CLASSES = Slices.createSimpleSlice();
public static final WritableSlice<KtExpression, SamType> SAM_VALUE = Slices.createSimpleSlice();
public static final WritableSlice<KtExpression, Type> FUNCTION_TYPE_FOR_SUSPEND_WRAPPER = Slices.createSimpleSlice();
public static final WritableSlice<KtCallElement, KtExpression> SAM_CONSTRUCTOR_TO_ARGUMENT = Slices.createSimpleSlice();