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)
316
316
var fileRelativePath = $ "{ fileBase } .{ template . FileExtension } ";
317
317
318
318
var file = Path . Combine ( outputPath , fileRelativePath ) ;
319
- File . WriteAllText ( file , template . Generate ( ) ) ;
319
+ WriteGeneratedCodeToFile ( file , template . Generate ( ) ) ;
320
320
output . TranslationUnit . Module . CodeFiles . Add ( file ) ;
321
321
322
322
Diagnostics . Message ( "Generated '{0}'" , fileRelativePath ) ;
323
323
}
324
324
}
325
325
}
326
326
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
+
327
336
private static readonly Dictionary < Module , string > libraryMappings = new Dictionary < Module , string > ( ) ;
328
337
329
338
public void CompileCode ( Module module )
You can’t perform that action at this time.
0 commit comments