private Task CreateAndSendCallMessageAsync(CallInfo callInfo, ResolvedCallee callee, PropagationKind propKind) { var callMessageInfo = new CallMessageInfo(callInfo.Caller, callee.Method, callee.ReceiverType, callInfo.ArgumentsPossibleTypes, callInfo.CallNode, callInfo.LHS, propKind); var source = new MethodEntityDescriptor(callInfo.Caller); var callerMessage = new CallerMessage(source, callMessageInfo); return(this.AnalyzeCalleeAsync(callMessageInfo.Callee, callerMessage, propKind)); }
private Task CreateAndSendReturnMessageAsync(ReturnInfo returnInfo, PropagationKind propKind) { var returnMessageInfo = new ReturnMessageInfo(returnInfo.CallerContext.Caller, returnInfo.Callee, returnInfo.ResultPossibleTypes, returnInfo.CallerContext.CallNode, returnInfo.CallerContext.LHS, propKind); var source = new MethodEntityDescriptor(returnInfo.Callee); var calleeMessage = new CalleeMessage(source, returnMessageInfo); return(this.AnalyzeReturnAsync(returnMessageInfo.Caller, calleeMessage, propKind)); }
private Task CreateAndSendReturnMessageAsync(ReturnInfo returnInfo, PropagationKind propKind) { var returnMessageInfo = new ReturnMessageInfo(returnInfo.CallerContext.Caller, returnInfo.Callee, returnInfo.ResultPossibleTypes, returnInfo.CallerContext.CallNode, returnInfo.CallerContext.LHS, propKind); var source = new MethodEntityDescriptor(returnInfo.Callee); var calleeMessage = new CalleeMessage(source, returnMessageInfo); //await WaitQueue(QUEUE_THRESHOLD); this.messageWorkList.Enqueue(calleeMessage); //this.messageWorkList.Add(calleeMessage); return(Task.CompletedTask); //return AnalyzeReturnAsync(returnMessageInfo.Caller, calleeMessage, propKind); }
private async Task CreateAndSendReturnMessageAsync(ReturnInfo returnInfo, PropagationKind propKind) { var returnMessageInfo = new ReturnMessageInfo(returnInfo.CallerContext.Caller, returnInfo.Callee, returnInfo.ResultPossibleTypes, returnInfo.CallerContext.CallNode, returnInfo.CallerContext.LHS, propKind); var source = new MethodEntityDescriptor(returnInfo.Callee); var calleeMessage = new CalleeMessage(source, returnMessageInfo); await this.solutionManager.UpdateCounter(1); //await WaitQueue(QUEUE_THRESHOLD); this.messageWorkList.Enqueue(calleeMessage); //this.messageWorkList.Add(calleeMessage); //return TaskDone.Done; }
private Task CreateAndSendCallMessageAsync(CallInfo callInfo, ResolvedCallee callee, PropagationKind propKind) { var callMessageInfo = new CallMessageInfo(callInfo.Caller, callee.Method, callee.ReceiverType, callInfo.ArgumentsPossibleTypes, callInfo.CallNode, callInfo.LHS, propKind); var source = new MethodEntityDescriptor(callInfo.Caller); var callerMessage = new CallerMessage(source, callMessageInfo); //Logger.LogWarning(GrainClient.Logger, "Orchestrator", "CreateAndSendCallMsg", "Enqueuing: {0}", callee); //await WaitQueue(QUEUE_THRESHOLD); this.messageWorkList.Enqueue(callerMessage); //this.messageWorkList.Add(callerMessage); return(Task.CompletedTask); //return AnalyzeCalleeAsync(callMessageInfo.Callee, callerMessage, propKind); }
public override bool Equals(object obj) { MethodEntityDescriptor md = obj as MethodEntityDescriptor; return(md != null && methodDescriptor.Equals(md.methodDescriptor)); }