private void PerformCheck(string filePath, CSharpierResult result, string fileContents) { if ( this.CommandLineOptions.Check && !this.CommandLineOptions.ShouldWriteStandardOut && result.Code != fileContents ) { WriteLine(GetPath(filePath) + " - was not formatted"); StringDiffer.PrintFirstDifference(result.Code, fileContents, this.Console); Interlocked.Increment(ref this.Result.UnformattedFiles); } }
private async Task PerformSyntaxTreeValidation( string file, string fileContents, CSharpierResult result, CancellationToken cancellationToken ) { if (!this.CommandLineOptions.Fast) { var syntaxNodeComparer = new SyntaxNodeComparer( fileContents, result.Code, cancellationToken ); try { var failure = await syntaxNodeComparer.CompareSourceAsync(cancellationToken); if (!string.IsNullOrEmpty(failure)) { Interlocked.Increment(ref this.Result.FailedSyntaxTreeValidation); WriteLine(GetPath(file) + " - failed syntax tree validation"); WriteLine(failure); } } catch (Exception ex) { Interlocked.Increment(ref this.Result.ExceptionsValidatingSource); WriteLine( GetPath(file) + " - failed with exception during syntax tree validation" + Environment.NewLine + ex.Message + ex.StackTrace ); } } }
private void WriteResult( string filePath, CSharpierResult result, string?fileContents, Encoding?encoding ) { if (this.CommandLineOptions.ShouldWriteStandardOut) { this.Console.Write(result.Code); } else { if ( !this.CommandLineOptions.Check && !this.CommandLineOptions.SkipWrite && result.Code != fileContents ) { // purposely avoid async here, that way the file completely writes if the process gets cancelled while running. this.FileSystem.File.WriteAllText(filePath, result.Code, encoding); } } }