Browse Source

Passes now keep a property with the driver.

pull/1/head
triton 12 years ago
parent
commit
4726ba4624
  1. 1
      src/Generator/Passes/Pass.cs
  2. 11
      src/Generator/Passes/PassBuilder.cs

1
src/Generator/Passes/Pass.cs

@ -7,6 +7,7 @@ namespace Cxxi.Passes @@ -7,6 +7,7 @@ namespace Cxxi.Passes
/// </summary>
public abstract class TranslationUnitPass : AstVisitor
{
public Driver Driver { get; set; }
public Library Library { get; set; }
public virtual bool VisitLibrary(Library library)

11
src/Generator/Passes/PassBuilder.cs

@ -10,17 +10,18 @@ namespace Cxxi @@ -10,17 +10,18 @@ namespace Cxxi
public class PassBuilder
{
public List<TranslationUnitPass> Passes { get; private set; }
public Library Library { get; private set; }
public Driver Driver { get; private set; }
public PassBuilder(Library library)
public PassBuilder(Driver driver)
{
Passes = new List<TranslationUnitPass>();
Library = library;
Driver = driver;
}
public void AddPass(TranslationUnitPass pass)
{
pass.Library = Library;
pass.Driver = Driver;
pass.Library = Driver.Library;
Passes.Add(pass);
}
@ -28,7 +29,7 @@ namespace Cxxi @@ -28,7 +29,7 @@ namespace Cxxi
{
foreach (var pass in Passes)
{
pass.VisitLibrary(Library);
pass.VisitLibrary(Driver.Library);
}
}
}

Loading…
Cancel
Save