Browse Source

Enabled users to remove any built-in pass. (#829)

Fixes https://github.com/mono/CppSharp/issues/802
pull/828/head
Kimon Topouzidis 8 years ago committed by Dimitar Dobrev
parent
commit
55298e026a
  1. 12
      src/Generator/Driver.cs

12
src/Generator/Driver.cs

@ -131,7 +131,7 @@ namespace CppSharp @@ -131,7 +131,7 @@ namespace CppSharp
// This eventually gets passed to Clang's MSCompatibilityVersion, which
// is in turn used to derive the value of the built-in define _MSC_VER.
// It used to receive a 4-digit based identifier but now expects a full
// version MSVC digit, so check if we still have the old version and
// version MSVC digit, so check if we still have the old version and
// convert to the right format.
if (ParserOptions.ToolSetToUse.ToString(CultureInfo.InvariantCulture).Length == 4)
@ -201,7 +201,7 @@ namespace CppSharp @@ -201,7 +201,7 @@ namespace CppSharp
foreach (var source in Project.Sources.Where(s => s.Options != null))
source.Options.Dispose();
Context.TargetInfo = parser.GetTargetInfo(ParserOptions);
Context.ASTContext = ClangParser.ConvertASTContext(parser.ASTContext);
@ -275,7 +275,7 @@ namespace CppSharp @@ -275,7 +275,7 @@ namespace CppSharp
}
public void SetupPasses(ILibrary library)
{
{
var TranslationUnitPasses = Context.TranslationUnitPasses;
TranslationUnitPasses.AddPass(new SortDeclarationsPass());
@ -497,9 +497,11 @@ namespace CppSharp @@ -497,9 +497,11 @@ namespace CppSharp
if (!options.Quiet)
Diagnostics.Message("Processing code...");
driver.SetupPasses(library);
library.Preprocess(driver, driver.Context.ASTContext);
driver.SetupPasses(library);
driver.ProcessCode();
library.Postprocess(driver, driver.Context.ASTContext);
@ -534,4 +536,4 @@ namespace CppSharp @@ -534,4 +536,4 @@ namespace CppSharp
driver.ParserOptions.Dispose();
}
}
}
}

Loading…
Cancel
Save