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

9
src/Generator/Passes/CleanUnitPass.cs

@ -5,6 +5,11 @@ namespace Cxxi.Passes @@ -5,6 +5,11 @@ namespace Cxxi.Passes
public DriverOptions Options;
public PassBuilder Passes;
public CleanUnitPass(DriverOptions options)
{
Options = options;
}
public override bool VisitTranslationUnit(TranslationUnit unit)
{
// Try to get an include path that works from the original include
@ -36,9 +41,9 @@ namespace Cxxi.Passes @@ -36,9 +41,9 @@ namespace Cxxi.Passes
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);
}
}

Loading…
Cancel
Save