Browse Source

Updated the generators and tests for new class names.

pull/86/head
triton 12 years ago
parent
commit
3e489c9a06
  1. 4
      src/Generator.Tests/HeaderTestFixture.cs
  2. 28
      src/Generator.Tests/Passes/TestPasses.cs
  3. 16
      src/Generator.Tests/QueryHelpers.cs
  4. 16
      src/Generator.Tests/TestCLITypePrinter.cs
  5. 2
      src/Generator/Driver.cs
  6. 2
      src/Generator/Generators/CSharp/CSharpGenerator.cs
  7. 4
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  8. 6
      src/Generator/Generators/CSharp/CSharpTypePrinter.cs
  9. 98
      src/Generator/Library.cs
  10. 2
      src/Generator/Passes/FindSymbolsPass.cs
  11. 2
      src/Generator/Passes/FunctionToStaticMethodPass.cs
  12. 9
      src/Generator/Passes/GenerateInlinesCodePass.cs
  13. 8
      src/Generator/Passes/Pass.cs
  14. 4
      src/Generator/Passes/ResolveIncompleteDeclsPass.cs
  15. 4
      src/Generator/Utils/TestsUtils.cs
  16. 2
      tests/Basic/Basic.cs
  17. 2
      tests/UTF16/UTF16.cs
  18. 2
      tests/VTables/VTables.cs

4
src/Generator.Tests/HeaderTestFixture.cs

@ -9,7 +9,7 @@ namespace Generator.Tests @@ -9,7 +9,7 @@ namespace Generator.Tests
{
protected Driver Driver;
protected DriverOptions Options;
protected Library Library;
protected ASTContext AstContext;
private const string TestsDirectory = @"..\..\..\tests\Native";
@ -35,7 +35,7 @@ namespace Generator.Tests @@ -35,7 +35,7 @@ namespace Generator.Tests
if (!Driver.ParseCode())
throw new Exception("Error parsing the code");
Library = Driver.Library;
AstContext = Driver.ASTContext;
}
}
}

28
src/Generator.Tests/Passes/TestPasses.cs

@ -24,14 +24,14 @@ namespace Generator.Tests.Passes @@ -24,14 +24,14 @@ namespace Generator.Tests.Passes
[Test]
public void TestCheckFlagEnumsPass()
{
var @enum = Library.Enum("FlagEnum");
var @enum = AstContext.Enum("FlagEnum");
Assert.IsFalse(@enum.IsFlags);
var @enum2 = Library.Enum("FlagEnum2");
var @enum2 = AstContext.Enum("FlagEnum2");
Assert.IsFalse(@enum2.IsFlags);
passBuilder.AddPass(new CheckFlagEnumsPass());
passBuilder.RunPasses(pass => pass.VisitLibrary(Library));
passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext));
Assert.IsTrue(@enum.IsFlags);
Assert.IsFalse(@enum2.IsFlags);
@ -40,12 +40,12 @@ namespace Generator.Tests.Passes @@ -40,12 +40,12 @@ namespace Generator.Tests.Passes
[Test]
public void TestFunctionToInstancePass()
{
var c = Library.Class("Foo");
var c = AstContext.Class("Foo");
Assert.IsNull(c.Method("Start"));
passBuilder.AddPass( new FunctionToInstanceMethodPass());
passBuilder.RunPasses(pass => pass.VisitLibrary(Library));
passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext));
Assert.IsNotNull(c.Method("Start"));
}
@ -53,28 +53,28 @@ namespace Generator.Tests.Passes @@ -53,28 +53,28 @@ namespace Generator.Tests.Passes
[Test]
public void TestFunctionToStaticPass()
{
var c = Library.Class("Foo");
var c = AstContext.Class("Foo");
Assert.IsFalse(Library.Function("FooStart").ExplicityIgnored);
Assert.IsFalse(AstContext.Function("FooStart").ExplicityIgnored);
Assert.IsNull(c.Method("Start"));
passBuilder.AddPass(new FunctionToStaticMethodPass());
passBuilder.RunPasses(pass => pass.VisitLibrary(Library));
passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext));
Assert.IsTrue(Library.Function("FooStart").ExplicityIgnored);
Assert.IsTrue(AstContext.Function("FooStart").ExplicityIgnored);
Assert.IsNotNull(c.Method("Start"));
}
[Test]
public void TestCaseRenamePass()
{
var c = Library.Class("TestRename");
var c = AstContext.Class("TestRename");
var method = c.Method("lowerCaseMethod");
var field = c.Field("lowerCaseField");
passBuilder.RenameDeclsUpperCase(RenameTargets.Any);
passBuilder.RunPasses(pass => pass.VisitLibrary(Library));
passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext));
Assert.That(method.Name, Is.EqualTo("LowerCaseMethod"));
Assert.That(field.Name, Is.EqualTo("LowerCaseField"));
@ -83,14 +83,14 @@ namespace Generator.Tests.Passes @@ -83,14 +83,14 @@ namespace Generator.Tests.Passes
[Test]
public void TestCleanEnumItemNames()
{
Library.GenerateEnumFromMacros("TestEnumItemName", "TEST_ENUM_ITEM_NAME_(.*)");
AstContext.GenerateEnumFromMacros("TestEnumItemName", "TEST_ENUM_ITEM_NAME_(.*)");
var @enum = Library.Enum("TestEnumItemName");
var @enum = AstContext.Enum("TestEnumItemName");
Assert.IsNotNull(@enum);
passBuilder.RemovePrefix("TEST_ENUM_ITEM_NAME_", RenameTargets.EnumItem);
passBuilder.AddPass(new CleanInvalidDeclNamesPass());
passBuilder.RunPasses(pass => pass.VisitLibrary(Library));
passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext));
Assert.That(@enum.Items[0].Name, Is.EqualTo("_0"));
}

16
src/Generator.Tests/QueryHelpers.cs

@ -11,24 +11,24 @@ namespace Generator.Tests @@ -11,24 +11,24 @@ namespace Generator.Tests
return unit.FindNamespace(name);
}
public static Class Class(this Library library, string name)
public static Class Class(this ASTContext context, string name)
{
return library.FindClass(name).ToList().First();
return context.FindClass(name).ToList().First();
}
public static Function Function(this Library library, string name)
public static Function Function(this ASTContext context, string name)
{
return library.FindFunction(name).ToList().First();
return context.FindFunction(name).ToList().First();
}
public static Enumeration Enum(this Library library, string name)
public static Enumeration Enum(this ASTContext context, string name)
{
return library.FindEnum(name).ToList().First();
return context.FindEnum(name).ToList().First();
}
public static TypedefDecl Typedef(this Library library, string name)
public static TypedefDecl Typedef(this ASTContext context, string name)
{
return library.FindTypedef(name).ToList().First();
return context.FindTypedef(name).ToList().First();
}
public static Field Field(this Class @class, string name)

16
src/Generator.Tests/TestCLITypePrinter.cs

@ -41,7 +41,7 @@ namespace Generator.Tests @@ -41,7 +41,7 @@ namespace Generator.Tests
[Test]
public void TestPrimitive()
{
var p = Library.Class("Primitives");
var p = AstContext.Class("Primitives");
CheckType(p.Field("B"), "bool");
CheckType(p.Field("C"), "char");
CheckType(p.Field("UC"), "unsigned char");
@ -61,7 +61,7 @@ namespace Generator.Tests @@ -61,7 +61,7 @@ namespace Generator.Tests
[Test]
public void TestArray()
{
var c = Library.Class("Arrays");
var c = AstContext.Class("Arrays");
CheckType(c.Field("Array"), "cli::array<float>^");
CheckType(c.Field("Prim"), "cli::array<::Primitives^>^");
@ -70,7 +70,7 @@ namespace Generator.Tests @@ -70,7 +70,7 @@ namespace Generator.Tests
[Test]
public void TestPointers()
{
var p = Library.Class("Pointers");
var p = AstContext.Class("Pointers");
CheckType(p.Field("pv"), "System::IntPtr");
CheckType(p.Field("pc"), "System::IntPtr");
CheckType(p.Field("puc"), "System::IntPtr");
@ -81,7 +81,7 @@ namespace Generator.Tests @@ -81,7 +81,7 @@ namespace Generator.Tests
[Test]
public void TestFunctionPointers()
{
var p = Library.Class("FunctionPointers");
var p = AstContext.Class("FunctionPointers");
CheckType(p.Field("fn"), "::FnPtr^");
CheckType(p.Field("fn2"), "::FnPtr2^");
CheckType(p.Field("fn3"), "::FnPtr3^");
@ -90,15 +90,15 @@ namespace Generator.Tests @@ -90,15 +90,15 @@ namespace Generator.Tests
[Test]
public void TestTypedefs()
{
CheckType(Library.Typedef("FnPtr"), "System::Func<int, double>^");
CheckType(Library.Typedef("FnPtr2"), "System::Action<char, float>^");
CheckType(Library.Typedef("FnPtr3"), "System::Action^");
CheckType(AstContext.Typedef("FnPtr"), "System::Func<int, double>^");
CheckType(AstContext.Typedef("FnPtr2"), "System::Action<char, float>^");
CheckType(AstContext.Typedef("FnPtr3"), "System::Action^");
}
[Test]
public void TestTags()
{
var p = Library.Class("Tag");
var p = AstContext.Class("Tag");
CheckType(p.Field("p"), "::Primitives^");
CheckType(p.Field("e"), "::E");
}

2
src/Generator/Driver.cs

@ -304,7 +304,7 @@ namespace CppSharp @@ -304,7 +304,7 @@ namespace CppSharp
driver.SetupPasses(library);
driver.ProcessCode();
library.Postprocess(driver.ASTContext);
library.Postprocess(driver, driver.ASTContext);
if (!options.Quiet)
Console.WriteLine("Generating code...");

2
src/Generator/Generators/CSharp/CSharpGenerator.cs

@ -10,7 +10,7 @@ namespace CppSharp.Generators.CSharp @@ -10,7 +10,7 @@ namespace CppSharp.Generators.CSharp
public CSharpGenerator(Driver driver) : base(driver)
{
typePrinter = new CSharpTypePrinter(driver.TypeDatabase, driver.Library);
typePrinter = new CSharpTypePrinter(driver.TypeDatabase, driver.ASTContext);
CppSharp.AST.Type.TypePrinterDelegate += type => type.Visit(typePrinter).Type;
}

4
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -785,7 +785,7 @@ namespace CppSharp.Generators.CSharp @@ -785,7 +785,7 @@ namespace CppSharp.Generators.CSharp
goto Out;
NativeLibrary nativeLib;
if (!Driver.LibrarySymbols.FindLibraryBySymbol(decl.Mangled, out nativeLib))
if (!Driver.Symbols.FindLibraryBySymbol(decl.Mangled, out nativeLib))
goto Out;
library = Path.GetFileNameWithoutExtension(nativeLib.FileName);
@ -2280,7 +2280,7 @@ namespace CppSharp.Generators.CSharp @@ -2280,7 +2280,7 @@ namespace CppSharp.Generators.CSharp
if (Options.CheckSymbols)
{
NativeLibrary library;
Driver.LibrarySymbols.FindLibraryBySymbol(function.Mangled, out library);
Driver.Symbols.FindLibraryBySymbol(function.Mangled, out library);
libName = Path.GetFileNameWithoutExtension(library.FileName);
}

6
src/Generator/Generators/CSharp/CSharpTypePrinter.cs

@ -52,7 +52,7 @@ namespace CppSharp.Generators.CSharp @@ -52,7 +52,7 @@ namespace CppSharp.Generators.CSharp
public class CSharpTypePrinter : ITypePrinter<CSharpTypePrinterResult>,
IDeclVisitor<CSharpTypePrinterResult>
{
public Library Library { get; set; }
public ASTContext AstContext { get; set; }
private readonly ITypeMapDatabase TypeMapDatabase;
private readonly Stack<CSharpTypePrinterContextKind> contexts;
@ -64,10 +64,10 @@ namespace CppSharp.Generators.CSharp @@ -64,10 +64,10 @@ namespace CppSharp.Generators.CSharp
public CSharpTypePrinterContext Context;
public CSharpTypePrinter(ITypeMapDatabase database, Library library)
public CSharpTypePrinter(ITypeMapDatabase database, ASTContext context)
{
TypeMapDatabase = database;
Library = library;
AstContext = context;
contexts = new Stack<CSharpTypePrinterContextKind>();
PushContext(CSharpTypePrinterContextKind.Managed);

98
src/Generator/Library.cs

@ -15,12 +15,12 @@ namespace CppSharp @@ -15,12 +15,12 @@ namespace CppSharp
/// <summary>
/// Do transformations that should happen before passes are processed.
/// </summary>
void Preprocess(Driver driver, Library lib);
void Preprocess(Driver driver, ASTContext lib);
/// <summary>
/// Do transformations that should happen after passes are processed.
/// </summary>
void Postprocess(Library lib);
void Postprocess(Driver driver, ASTContext lib);
/// <summary>
/// Setup the driver options here.
@ -38,9 +38,9 @@ namespace CppSharp @@ -38,9 +38,9 @@ namespace CppSharp
{
#region Enum Helpers
public static Enumeration FindEnum(this Library library, string name)
public static Enumeration FindEnum(this ASTContext context, string name)
{
foreach (var unit in library.TranslationUnits)
foreach (var unit in context.TranslationUnits)
{
var @enum = unit.FindEnum(name);
if (@enum != null)
@ -50,34 +50,34 @@ namespace CppSharp @@ -50,34 +50,34 @@ namespace CppSharp
return null;
}
public static void IgnoreEnumWithMatchingItem(this Library library, string pattern)
public static void IgnoreEnumWithMatchingItem(this ASTContext context, string pattern)
{
Enumeration @enum = library.GetEnumWithMatchingItem(pattern);
Enumeration @enum = context.GetEnumWithMatchingItem(pattern);
if (@enum != null)
@enum.ExplicityIgnored = true;
}
public static void SetNameOfEnumWithMatchingItem(this Library library, string pattern,
public static void SetNameOfEnumWithMatchingItem(this ASTContext context, string pattern,
string name)
{
Enumeration @enum = library.GetEnumWithMatchingItem(pattern);
Enumeration @enum = context.GetEnumWithMatchingItem(pattern);
if (@enum != null)
@enum.Name = name;
}
public static void SetNameOfEnumWithName(this Library library, string enumName,
public static void SetNameOfEnumWithName(this ASTContext context, string enumName,
string name)
{
foreach (var @enum in library.FindEnum(enumName))
foreach (var @enum in context.FindEnum(enumName))
{
if (@enum != null)
@enum.Name = name;
}
}
public static Enumeration GetEnumWithMatchingItem(this Library library, string pattern)
public static Enumeration GetEnumWithMatchingItem(this ASTContext context, string pattern)
{
foreach (var module in library.TranslationUnits)
foreach (var module in context.TranslationUnits)
{
Enumeration @enum = module.FindEnumWithItem(pattern);
if (@enum == null) continue;
@ -87,7 +87,7 @@ namespace CppSharp @@ -87,7 +87,7 @@ namespace CppSharp
return null;
}
public static Enumeration.Item GenerateEnumItemFromMacro(this Library library,
public static Enumeration.Item GenerateEnumItemFromMacro(this ASTContext context,
MacroDefinition macro)
{
var item = new Enumeration.Item
@ -121,7 +121,7 @@ namespace CppSharp @@ -121,7 +121,7 @@ namespace CppSharp
return ParseToNumber(expression, out val) ? (ulong)val : 0;
}
public static Enumeration GenerateEnumFromMacros(this Library library, string name,
public static Enumeration GenerateEnumFromMacros(this ASTContext context, string name,
params string[] macros)
{
var @enum = new Enumeration { Name = name };
@ -129,14 +129,14 @@ namespace CppSharp @@ -129,14 +129,14 @@ namespace CppSharp
var pattern = string.Join("|", macros);
var regex = new Regex(pattern);
foreach (var unit in library.TranslationUnits)
foreach (var unit in context.TranslationUnits)
{
foreach (var macro in unit.Macros)
{
var match = regex.Match(macro.Name);
if (!match.Success) continue;
var item = GenerateEnumItemFromMacro(library, macro);
var item = GenerateEnumItemFromMacro(context, macro);
@enum.AddItem(item);
}
@ -154,9 +154,9 @@ namespace CppSharp @@ -154,9 +154,9 @@ namespace CppSharp
#region Class Helpers
public static IEnumerable<Class> FindClass(this Library library, string name)
public static IEnumerable<Class> FindClass(this ASTContext context, string name)
{
foreach (var module in library.TranslationUnits)
foreach (var module in context.TranslationUnits)
{
var @class = module.FindClass(name);
if (@class != null)
@ -164,34 +164,34 @@ namespace CppSharp @@ -164,34 +164,34 @@ namespace CppSharp
}
}
public static void SetClassBindName(this Library library, string className, string name)
public static void SetClassBindName(this ASTContext context, string className, string name)
{
foreach (var @class in library.FindClass(className))
foreach (var @class in context.FindClass(className))
@class.Name = name;
}
public static void SetClassAsValueType(this Library library, string className)
public static void SetClassAsValueType(this ASTContext context, string className)
{
foreach (var @class in library.FindClass(className))
foreach (var @class in context.FindClass(className))
@class.Type = ClassType.ValueType;
}
public static void IgnoreClassWithName(this Library library, string name)
public static void IgnoreClassWithName(this ASTContext context, string name)
{
foreach (var @class in library.FindClass(name))
foreach (var @class in context.FindClass(name))
@class.ExplicityIgnored = true;
}
public static void SetClassAsOpaque(this Library library, string name)
public static void SetClassAsOpaque(this ASTContext context, string name)
{
foreach (var @class in library.FindClass(name))
foreach (var @class in context.FindClass(name))
@class.IsOpaque = true;
}
public static void SetNameOfClassMethod(this Library library, string name,
public static void SetNameOfClassMethod(this ASTContext context, string name,
string methodName, string newMethodName)
{
foreach (var @class in library.FindClass(name))
foreach (var @class in context.FindClass(name))
{
var method = @class.Methods.Find(m => m.Name == methodName);
if (method != null)
@ -203,13 +203,13 @@ namespace CppSharp @@ -203,13 +203,13 @@ namespace CppSharp
///
/// </summary>
/// <param name="parameterIndex">first parameter has index 1</param>
public static void SetMethodParameterUsage(this Library library,
public static void SetMethodParameterUsage(this ASTContext context,
string className, string methodName, int parameterIndex, ParameterUsage usage)
{
if (parameterIndex <= 0 )
throw new ArgumentException("parameterIndex");
foreach (var @class in library.FindClass(className))
foreach (var @class in context.FindClass(className))
{
var method = @class.Methods.Find(m => m.Name == methodName);
if (method == null)
@ -221,12 +221,12 @@ namespace CppSharp @@ -221,12 +221,12 @@ namespace CppSharp
}
}
public static void CopyClassFields(this Library library, string source,
public static void CopyClassFields(this ASTContext context, string source,
string destination)
{
foreach (var @class in library.FindClass(source))
foreach (var @class in context.FindClass(source))
{
foreach (var dest in library.FindClass(destination))
foreach (var dest in context.FindClass(destination))
{
dest.Fields.AddRange(@class.Fields);
foreach (var field in dest.Fields)
@ -239,22 +239,22 @@ namespace CppSharp @@ -239,22 +239,22 @@ namespace CppSharp
#region Function Helpers
public static IEnumerable<Function> FindFunction(this Library library, string name)
public static IEnumerable<Function> FindFunction(this ASTContext context, string name)
{
return library.TranslationUnits
return context.TranslationUnits
.Select(module => module.FindFunction(name))
.Where(function => function != null);
}
public static void IgnoreFunctionWithName(this Library library, string name)
public static void IgnoreFunctionWithName(this ASTContext context, string name)
{
foreach (var function in library.FindFunction(name))
foreach (var function in context.FindFunction(name))
function.ExplicityIgnored = true;
}
public static void IgnoreFunctionWithPattern(this Library library, string pattern)
public static void IgnoreFunctionWithPattern(this ASTContext context, string pattern)
{
foreach (var unit in library.TranslationUnits)
foreach (var unit in context.TranslationUnits)
{
foreach (var function in unit.Functions)
{
@ -264,16 +264,16 @@ namespace CppSharp @@ -264,16 +264,16 @@ namespace CppSharp
}
}
public static void SetNameOfFunction(this Library library, string name, string newName)
public static void SetNameOfFunction(this ASTContext context, string name, string newName)
{
foreach (var function in library.FindFunction(name))
foreach (var function in context.FindFunction(name))
function.Name = newName;
}
public static void IgnoreClassMethodWithName(this Library library, string className,
public static void IgnoreClassMethodWithName(this ASTContext context, string className,
string name)
{
foreach (var @class in library.FindClass(name))
foreach (var @class in context.FindClass(name))
{
var method = @class.Methods.Find(m => m.Name == name);
@ -284,9 +284,9 @@ namespace CppSharp @@ -284,9 +284,9 @@ namespace CppSharp
}
}
public static void IgnoreClassField(this Library library, string name, string field)
public static void IgnoreClassField(this ASTContext context, string name, string field)
{
foreach (var @class in library.FindClass(name))
foreach (var @class in context.FindClass(name))
{
foreach (var classField in @class.Fields.FindAll(f => f.Name == field))
classField.ExplicityIgnored = true;
@ -297,15 +297,15 @@ namespace CppSharp @@ -297,15 +297,15 @@ namespace CppSharp
#region Module Helpers
public static void IgnoreHeadersWithName(this Library library, IEnumerable<string> patterns)
public static void IgnoreHeadersWithName(this ASTContext context, IEnumerable<string> patterns)
{
foreach(var pattern in patterns)
library.IgnoreHeadersWithName(pattern);
context.IgnoreHeadersWithName(pattern);
}
public static void IgnoreHeadersWithName(this Library library, string pattern)
public static void IgnoreHeadersWithName(this ASTContext context, string pattern)
{
var units = library.TranslationUnits.FindAll(m =>
var units = context.TranslationUnits.FindAll(m =>
{
var hasMatch = Regex.Match(m.FilePath, pattern).Success;
if (m.IncludePath != null)

2
src/Generator/Passes/FindSymbolsPass.cs

@ -26,7 +26,7 @@ namespace CppSharp.Passes @@ -26,7 +26,7 @@ namespace CppSharp.Passes
{
var symbol = mangledDecl.Mangled;
if (!Driver.LibrarySymbols.FindSymbol(ref symbol))
if (!Driver.Symbols.FindSymbol(ref symbol))
{
Driver.Diagnostics.EmitWarning(DiagnosticId.SymbolNotFound,
"Symbol not found: {0}", symbol);

2
src/Generator/Passes/FunctionToStaticMethodPass.cs

@ -22,7 +22,7 @@ namespace CppSharp.Passes @@ -22,7 +22,7 @@ namespace CppSharp.Passes
if (types.Length == 0)
return false;
var @class = Library.FindCompleteClass(types[0]);
var @class = AstContext.FindCompleteClass(types[0]);
if (@class == null)
return false;

9
src/Generator/Passes/GenerateInlinesCodePass.cs

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.IO;
using System.Text;
using CppSharp.AST;
@ -12,9 +11,9 @@ namespace CppSharp.Passes @@ -12,9 +11,9 @@ namespace CppSharp.Passes
private readonly List<string> headers = new List<string>();
private readonly List<string> mangledInlines = new List<string>();
public override bool VisitLibrary(Library library)
public override bool VisitLibrary(ASTContext context)
{
bool result = base.VisitLibrary(library);
bool result = base.VisitLibrary(context);
Directory.CreateDirectory(Driver.Options.OutputDir);
WriteInlinesIncludes();
WriteInlinedSymbols();
@ -79,7 +78,7 @@ namespace CppSharp.Passes @@ -79,7 +78,7 @@ namespace CppSharp.Passes
string symbol = mangled.Mangled;
var declaration = (Declaration) mangled;
if (!declaration.Ignore && AccessValid(declaration) &&
!Driver.LibrarySymbols.FindSymbol(ref symbol) &&
!Driver.Symbols.FindSymbol(ref symbol) &&
!currentUnit.FilePath.EndsWith("_impl.h") &&
!currentUnit.FilePath.EndsWith("_p.h"))
{

8
src/Generator/Passes/Pass.cs

@ -10,12 +10,12 @@ namespace CppSharp.Passes @@ -10,12 +10,12 @@ namespace CppSharp.Passes
public abstract class TranslationUnitPass : AstVisitor
{
public Driver Driver { get; set; }
public Library Library { get; set; }
public ASTContext AstContext { get; set; }
public virtual bool VisitLibrary(Library library)
public virtual bool VisitLibrary(ASTContext context)
{
Library = library;
foreach (var unit in library.TranslationUnits)
AstContext = context;
foreach (var unit in context.TranslationUnits)
VisitTranslationUnit(unit);
return true;

4
src/Generator/Passes/ResolveIncompleteDeclsPass.cs

@ -28,7 +28,7 @@ namespace CppSharp.Passes @@ -28,7 +28,7 @@ namespace CppSharp.Passes
goto Out;
@class.CompleteDeclaration =
Library.FindCompleteClass(@class.QualifiedName);
AstContext.FindCompleteClass(@class.QualifiedName);
if (@class.CompleteDeclaration == null)
{
@ -54,7 +54,7 @@ namespace CppSharp.Passes @@ -54,7 +54,7 @@ namespace CppSharp.Passes
goto Out;
@enum.CompleteDeclaration =
Library.FindCompleteEnum(@enum.QualifiedName);
AstContext.FindCompleteEnum(@enum.QualifiedName);
if (@enum.CompleteDeclaration == null)
{

4
src/Generator/Utils/TestsUtils.cs

@ -51,11 +51,11 @@ namespace CppSharp.Utils @@ -51,11 +51,11 @@ namespace CppSharp.Utils
options.Headers.Add(Path.GetFileName(file));
}
public virtual void Preprocess(Driver driver, Library lib)
public virtual void Preprocess(Driver driver, ASTContext lib)
{
}
public virtual void Postprocess(Library lib)
public virtual void Postprocess(Driver driver, ASTContext lib)
{
}

2
tests/Basic/Basic.cs

@ -11,7 +11,7 @@ namespace CppSharp.Tests @@ -11,7 +11,7 @@ namespace CppSharp.Tests
{
}
public override void Preprocess(Driver driver, Library lib)
public override void Preprocess(Driver driver, ASTContext lib)
{
lib.SetClassAsValueType("Bar");
lib.SetClassAsValueType("Bar2");

2
tests/UTF16/UTF16.cs

@ -17,7 +17,7 @@ namespace CppSharp.Tests @@ -17,7 +17,7 @@ namespace CppSharp.Tests
driver.Options.Encoding = Encoding.Unicode;
}
public override void Preprocess(Driver driver, Library lib)
public override void Preprocess(Driver driver, ASTContext lib)
{
}

2
tests/VTables/VTables.cs

@ -19,7 +19,7 @@ namespace CppSharp.Tests @@ -19,7 +19,7 @@ namespace CppSharp.Tests
driver.TranslationUnitPasses.AddPass(new FunctionToInstanceMethodPass());
}
public override void Preprocess(Driver driver, Library lib)
public override void Preprocess(Driver driver, ASTContext lib)
{
}

Loading…
Cancel
Save