Browse Source

Pass the driver options to the clean unit pass.

pull/1/head
triton 13 years ago
parent
commit
7f71d6d73a
  1. 2
      src/Generator/Driver.cs
  2. 9
      src/Generator/Passes/CleanUnitPass.cs

2
src/Generator/Driver.cs

@ -85,7 +85,7 @@ namespace Cxxi
Transform.Preprocess(Library); Transform.Preprocess(Library);
var passes = new PassBuilder(Library); var passes = new PassBuilder(Library);
passes.CleanUnit(); passes.CleanUnit(Options);
passes.SortDeclarations(); passes.SortDeclarations();
passes.ResolveIncompleteDecls(TypeDatabase); passes.ResolveIncompleteDecls(TypeDatabase);
passes.CheckFlagEnums(); passes.CheckFlagEnums();

9
src/Generator/Passes/CleanUnitPass.cs

@ -5,6 +5,11 @@ namespace Cxxi.Passes
public DriverOptions Options; public DriverOptions Options;
public PassBuilder Passes; public PassBuilder Passes;
public CleanUnitPass(DriverOptions options)
{
Options = options;
}
public override bool VisitTranslationUnit(TranslationUnit unit) public override bool VisitTranslationUnit(TranslationUnit unit)
{ {
// Try to get an include path that works from the original include // Try to get an include path that works from the original include
@ -36,9 +41,9 @@ namespace Cxxi.Passes
public static class CleanUnitPassExtensions public static class CleanUnitPassExtensions
{ {
public static void CleanUnit(this PassBuilder builder) public static void CleanUnit(this PassBuilder builder, DriverOptions options)
{ {
var pass = new CleanUnitPass(); var pass = new CleanUnitPass(options);
builder.AddPass(pass); builder.AddPass(pass);
} }
} }

Loading…
Cancel
Save