Fix issue 1665: prevent sending null error message
This commit is contained in:
parent
d918d527bd
commit
81baacd641
9 changed files with 28 additions and 28 deletions
|
@ -18,13 +18,13 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
Equals(local.CompilerOptions, remote.CompilerOptions);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectContextSnapshot local)
|
||||
protected override void SendPayload(ProjectContextSnapshot local, Action<object> send)
|
||||
{
|
||||
return new CompilationOptionsMessage
|
||||
send(new CompilationOptionsMessage
|
||||
{
|
||||
Framework = local.TargetFramework.ToPayload(),
|
||||
Options = local.CompilerOptions
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectContextSnapshot local, ProjectContextSnapshot remote)
|
||||
|
|
|
@ -22,14 +22,14 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
Enumerable.SequenceEqual(local.Dependencies, remote.Dependencies);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectContextSnapshot local)
|
||||
protected override void SendPayload(ProjectContextSnapshot local, Action<object> send)
|
||||
{
|
||||
return new DependenciesMessage
|
||||
send(new DependenciesMessage
|
||||
{
|
||||
Framework = local.TargetFramework.ToPayload(),
|
||||
RootDependency = local.RootDependency,
|
||||
Dependencies = local.Dependencies
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectContextSnapshot local, ProjectContextSnapshot remote)
|
||||
|
|
|
@ -19,11 +19,11 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
Enumerable.SequenceEqual(local.DependencyDiagnostics, remote.DependencyDiagnostics);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectContextSnapshot local)
|
||||
protected override void SendPayload(ProjectContextSnapshot local, Action<object> send)
|
||||
{
|
||||
return new DiagnosticsListMessage(
|
||||
send(new DiagnosticsListMessage(
|
||||
local.DependencyDiagnostics,
|
||||
local.TargetFramework?.ToPayload());
|
||||
local.TargetFramework?.ToPayload()));
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectContextSnapshot local, ProjectContextSnapshot remote)
|
||||
|
|
|
@ -16,9 +16,12 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
return remote != null && Equals(local.GlobalErrorMessage, remote.GlobalErrorMessage);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectSnapshot local)
|
||||
protected override void SendPayload(ProjectSnapshot local, Action<object> send)
|
||||
{
|
||||
return local.GlobalErrorMessage;
|
||||
if (local.GlobalErrorMessage != null)
|
||||
{
|
||||
send(local.GlobalErrorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectSnapshot local, ProjectSnapshot remote)
|
||||
|
|
|
@ -22,16 +22,13 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
{
|
||||
if (!CheckDifference(local, remote))
|
||||
{
|
||||
var payload = CreatePayload(local);
|
||||
|
||||
_transmit(MessageType, payload);
|
||||
|
||||
SendPayload(local, payload => _transmit(MessageType, payload));
|
||||
SetValue(local, remote);
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract void SetValue(T local, T remote);
|
||||
protected abstract object CreatePayload(T local);
|
||||
protected abstract void SetValue(T local, T remote);
|
||||
protected abstract void SendPayload(T local, Action<object> send);
|
||||
protected abstract bool CheckDifference(T local, T remote);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,9 +19,9 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
Enumerable.SequenceEqual(local.ProjectDiagnostics, remote.ProjectDiagnostics);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectSnapshot local)
|
||||
protected override void SendPayload(ProjectSnapshot local, Action<object> send)
|
||||
{
|
||||
return new DiagnosticsListMessage(local.ProjectDiagnostics);
|
||||
send(new DiagnosticsListMessage(local.ProjectDiagnostics));
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectSnapshot local, ProjectSnapshot remote)
|
||||
|
|
|
@ -20,15 +20,15 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
string.Equals(local.Project.Name, remote.Project.Name) &&
|
||||
string.Equals(local.GlobalJsonPath, remote.GlobalJsonPath) &&
|
||||
Enumerable.SequenceEqual(local.Project.GetTargetFrameworks().Select(f => f.FrameworkName),
|
||||
remote.Project.GetTargetFrameworks().Select(f => f.FrameworkName)) &&
|
||||
remote.Project.GetTargetFrameworks().Select(f => f.FrameworkName)) &&
|
||||
Enumerable.SequenceEqual(local.Project.GetConfigurations(), remote.Project.GetConfigurations()) &&
|
||||
Enumerable.SequenceEqual(local.Project.Commands, remote.Project.Commands) &&
|
||||
Enumerable.SequenceEqual(local.ProjectSearchPaths, remote.ProjectSearchPaths);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectSnapshot local)
|
||||
protected override void SendPayload(ProjectSnapshot local, Action<object> send)
|
||||
{
|
||||
return new ProjectInformationMessage(local.Project, local.GlobalJsonPath, local.ProjectSearchPaths);
|
||||
send(new ProjectInformationMessage(local.Project, local.GlobalJsonPath, local.ProjectSearchPaths));
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectSnapshot local, ProjectSnapshot remote)
|
||||
|
|
|
@ -22,14 +22,14 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
Enumerable.SequenceEqual(local.ProjectReferences, remote.ProjectReferences);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectContextSnapshot local)
|
||||
protected override void SendPayload(ProjectContextSnapshot local, Action<object> send)
|
||||
{
|
||||
return new ReferencesMessage
|
||||
send(new ReferencesMessage
|
||||
{
|
||||
Framework = local.TargetFramework.ToPayload(),
|
||||
ProjectReferences = local.ProjectReferences,
|
||||
FileReferences = local.FileReferences
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectContextSnapshot local, ProjectContextSnapshot remote)
|
||||
|
|
|
@ -20,14 +20,14 @@ namespace Microsoft.DotNet.ProjectModel.Server.Messengers
|
|||
Enumerable.SequenceEqual(local.SourceFiles, remote.SourceFiles);
|
||||
}
|
||||
|
||||
protected override object CreatePayload(ProjectContextSnapshot local)
|
||||
protected override void SendPayload(ProjectContextSnapshot local, Action<object> send)
|
||||
{
|
||||
return new SourcesMessage
|
||||
send(new SourcesMessage
|
||||
{
|
||||
Framework = local.TargetFramework.ToPayload(),
|
||||
Files = local.SourceFiles,
|
||||
GeneratedFiles = new Dictionary<string, string>()
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
protected override void SetValue(ProjectContextSnapshot local, ProjectContextSnapshot remote)
|
||||
|
|
Loading…
Add table
Reference in a new issue