File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -316,14 +316,23 @@ public void SaveCode(IEnumerable<GeneratorOutput> outputs)
316316 var fileRelativePath = $ "{ fileBase } .{ template . FileExtension } ";
317317
318318 var file = Path . Combine ( outputPath , fileRelativePath ) ;
319- File . WriteAllText ( file , template . Generate ( ) ) ;
319+ WriteGeneratedCodeToFile ( file , template . Generate ( ) ) ;
320320 output . TranslationUnit . Module . CodeFiles . Add ( file ) ;
321321
322322 Diagnostics . Message ( "Generated '{0}'" , fileRelativePath ) ;
323323 }
324324 }
325325 }
326326
327+ private void WriteGeneratedCodeToFile ( string file , string generatedCode )
328+ {
329+ var fi = new FileInfo ( file ) ;
330+
331+ if ( ! fi . Exists || fi . Length != generatedCode . Length ||
332+ File . ReadAllText ( file ) != generatedCode )
333+ File . WriteAllText ( file , generatedCode ) ;
334+ }
335+
327336 private static readonly Dictionary < Module , string > libraryMappings = new Dictionary < Module , string > ( ) ;
328337
329338 public void CompileCode ( Module module )
You can’t perform that action at this time.
0 commit comments