Browse Source

Updated the CppParser bindings generator.

pull/86/head
triton 12 years ago
parent
commit
4ca3ee08a1
  1. 32
      src/CppParser/Bindings/ParserGen.cs

32
src/CppParser/Bindings/ParserGen.cs

@ -1,13 +1,14 @@ @@ -1,13 +1,14 @@
using CppSharp.AST;
using System;
using CppSharp.AST;
using CppSharp.Generators;
namespace CppSharp
{
class ParserGen : ILibrary
{
private readonly LanguageGeneratorKind Kind;
private readonly GeneratorKind Kind;
public ParserGen(LanguageGeneratorKind kind)
public ParserGen(GeneratorKind kind)
{
Kind = kind;
}
@ -15,17 +16,17 @@ namespace CppSharp @@ -15,17 +16,17 @@ namespace CppSharp
public void Setup(Driver driver)
{
var options = driver.Options;
options.LibraryName = "CppSharp";
options.LibraryName = "CppSharp.CppParser.dll";
options.GeneratorKind = Kind;
options.Headers.Add("AST.h");
options.Headers.Add("CppParser.h");
options.IncludeDirs.Add("../../../src/CppParser/");
options.IncludeDirs.Add("../../../../src/CppParser/");
options.Libraries.Add("CppSharp.CppParser.lib");
options.LibraryDirs.Add(".");
options.OutputDir = "../../../src/CppParser/Bindings/";
options.OutputDir = "../../../../src/CppParser/Bindings/";
options.OutputDir += Kind.ToString();
options.GenerateLibraryNamespace = false;
//options.CheckSymbols = false;
options.CheckSymbols = false;
}
public void SetupPasses(Driver driver)
@ -33,7 +34,7 @@ namespace CppSharp @@ -33,7 +34,7 @@ namespace CppSharp
}
public void Preprocess(Driver driver, Library lib)
public void Preprocess(Driver driver, ASTContext lib)
{
lib.SetClassAsValueType("CppSharp::ParserOptions");
lib.SetClassAsValueType("CppSharp::ParserDiagnostic");
@ -42,15 +43,16 @@ namespace CppSharp @@ -42,15 +43,16 @@ namespace CppSharp
lib.RenameNamespace("CppSharp::CppParser", "Parser");
}
public void Postprocess(Library lib)
{
}
public static void Main(string[] args)
{
ConsoleDriver.Run(new ParserGen(LanguageGeneratorKind.CLI));
ConsoleDriver.Run(new ParserGen(LanguageGeneratorKind.CSharp));
#if CLI
Console.WriteLine("Generating the C++/CLI parser bindings...");
ConsoleDriver.Run(new ParserGen(GeneratorKind.CLI));
Console.WriteLine();
#endif
Console.WriteLine("Generating the C# parser bindings...");
ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp));
}
}
}

Loading…
Cancel
Save