KT-604 Internal frontend error
This commit is contained in:
+2
-2
@@ -83,10 +83,10 @@ public class FunctionDescriptorUtil {
|
|||||||
return parameterScope;
|
return parameterScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void initializeFromFunctionType(@NotNull FunctionDescriptorImpl functionDescriptor, @NotNull JetType functionType) {
|
public static void initializeFromFunctionType(@NotNull FunctionDescriptorImpl functionDescriptor, @NotNull JetType functionType, @NotNull ReceiverDescriptor expectedThisObject) {
|
||||||
assert JetStandardClasses.isFunctionType(functionType);
|
assert JetStandardClasses.isFunctionType(functionType);
|
||||||
functionDescriptor.initialize(JetStandardClasses.getReceiverType(functionType),
|
functionDescriptor.initialize(JetStandardClasses.getReceiverType(functionType),
|
||||||
ReceiverDescriptor.NO_RECEIVER,
|
expectedThisObject,
|
||||||
Collections.<TypeParameterDescriptor>emptyList(),
|
Collections.<TypeParameterDescriptor>emptyList(),
|
||||||
JetStandardClasses.getValueParameters(functionDescriptor, functionType),
|
JetStandardClasses.getValueParameters(functionDescriptor, functionType),
|
||||||
JetStandardClasses.getReturnTypeFromFunctionType(functionType),
|
JetStandardClasses.getReturnTypeFromFunctionType(functionType),
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ public class VariableAsFunctionDescriptor extends FunctionDescriptorImpl {
|
|||||||
JetType outType = variableDescriptor.getOutType();
|
JetType outType = variableDescriptor.getOutType();
|
||||||
assert outType != null;
|
assert outType != null;
|
||||||
VariableAsFunctionDescriptor result = new VariableAsFunctionDescriptor(variableDescriptor);
|
VariableAsFunctionDescriptor result = new VariableAsFunctionDescriptor(variableDescriptor);
|
||||||
FunctionDescriptorUtil.initializeFromFunctionType(result, outType);
|
FunctionDescriptorUtil.initializeFromFunctionType(result, outType, variableDescriptor.getExpectedThisObject());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ public class CallResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FunctionDescriptorImpl functionDescriptor = new ExpressionAsFunctionDescriptor(scope.getContainingDeclaration(), "[for expression " + calleeExpression.getText() + "]");
|
FunctionDescriptorImpl functionDescriptor = new ExpressionAsFunctionDescriptor(scope.getContainingDeclaration(), "[for expression " + calleeExpression.getText() + "]");
|
||||||
FunctionDescriptorUtil.initializeFromFunctionType(functionDescriptor, calleeType);
|
FunctionDescriptorUtil.initializeFromFunctionType(functionDescriptor, calleeType, NO_RECEIVER);
|
||||||
ResolvedCallImpl<FunctionDescriptor> resolvedCall = ResolvedCallImpl.<FunctionDescriptor>create(functionDescriptor);
|
ResolvedCallImpl<FunctionDescriptor> resolvedCall = ResolvedCallImpl.<FunctionDescriptor>create(functionDescriptor);
|
||||||
resolvedCall.setReceiverArgument(call.getExplicitReceiver());
|
resolvedCall.setReceiverArgument(call.getExplicitReceiver());
|
||||||
prioritizedTasks = Collections.singletonList(new ResolutionTask<FunctionDescriptor>(
|
prioritizedTasks = Collections.singletonList(new ResolutionTask<FunctionDescriptor>(
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
// KT-604 Internal frontend error
|
||||||
|
|
||||||
|
trait ChannelPipeline {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class DefaultChannelPipeline() : ChannelPipeline {
|
||||||
|
}
|
||||||
|
|
||||||
|
trait ChannelPipelineFactory{
|
||||||
|
fun getPipeline() : ChannelPipeline
|
||||||
|
}
|
||||||
|
|
||||||
|
class StandardPipelineFactory(val config: fun ChannelPipeline.():Unit) : ChannelPipelineFactory {
|
||||||
|
override fun getPipeline() : ChannelPipeline {
|
||||||
|
val pipeline = DefaultChannelPipeline()
|
||||||
|
pipeline.config ()
|
||||||
|
return pipeline
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user