public override Task <ExecutedLineReply> Track(ExecutedLine request, ServerCallContext context) { _logger?.LogInformation($"gRPC Server Received: {request.MetadataToken}:{request.StartLineNumber}:{request.EndLineNumber}"); _coverageContext.MarkExecution(request); return(Task.FromResult(new ExecutedLineReply())); }
public void MarkExecution(ExecutedLine executedLine) { //TODO: Requires refactoring var module = Modules.First(x => x.ModuleHash == executedLine.ModuleHash); var @class = module.Types.First(x => x.Methods.Any(y => y.MetadataToken == executedLine.MetadataToken)); var method = @class.Methods.First(y => y.MetadataToken == executedLine.MetadataToken); method.Executed = true; var sequencePoints = method.SequencePoints.Where(x => executedLine.StartLineNumber == x.StartLine); foreach (var sequencePoint in sequencePoints) { sequencePoint.ExecutionCount++; } }