Browse Source

Whitespace fixes.

pull/499/head
triton 10 years ago
parent
commit
17d4342433
  1. 112
      src/CppParser/Bootstrap/Bootstrap.cs

112
src/CppParser/Bootstrap/Bootstrap.cs

@ -1,14 +1,7 @@ @@ -1,14 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using CppSharp;
using CppSharp.AST;
using CppSharp.Generators;
using CppSharp.Passes;
using CppSharp.Types;
using CppAbi = CppSharp.Parser.AST.CppAbi;
namespace CppSharp
{
@ -38,26 +31,27 @@ namespace CppSharp @@ -38,26 +31,27 @@ namespace CppSharp
public void Setup(Driver driver)
{
var options = driver.Options;
options.LibraryName = "CppSharp";
options.DryRun = true;
options.LibraryName = "CppSharp";
options.DryRun = true;
options.Headers.AddRange(new string[]
{
"clang/AST/Expr.h",
});
options.SetupXcode();
options.MicrosoftMode = false;
options.TargetTriple = "i686-apple-darwin12.4.0";
options.addDefines ("__STDC_LIMIT_MACROS");
options.addDefines ("__STDC_CONSTANT_MACROS");
options.SetupXcode();
options.MicrosoftMode = false;
options.TargetTriple = "i686-apple-darwin12.4.0";
var llvmPath = Path.Combine (GetSourceDirectory ("deps"), "llvm");
var clangPath = Path.Combine(llvmPath, "tools", "clang");
options.addDefines ("__STDC_LIMIT_MACROS");
options.addDefines ("__STDC_CONSTANT_MACROS");
options.addIncludeDirs(Path.Combine(llvmPath, "include"));
options.addIncludeDirs(Path.Combine(llvmPath, "build", "include"));
options.addIncludeDirs (Path.Combine (llvmPath, "build", "tools", "clang", "include"));
options.addIncludeDirs(Path.Combine(clangPath, "include"));
var llvmPath = Path.Combine (GetSourceDirectory ("deps"), "llvm");
var clangPath = Path.Combine(llvmPath, "tools", "clang");
options.addIncludeDirs(Path.Combine(llvmPath, "include"));
options.addIncludeDirs(Path.Combine(llvmPath, "build", "include"));
options.addIncludeDirs (Path.Combine (llvmPath, "build", "tools", "clang", "include"));
options.addIncludeDirs(Path.Combine(clangPath, "include"));
}
public void SetupPasses(Driver driver)
@ -68,13 +62,13 @@ namespace CppSharp @@ -68,13 +62,13 @@ namespace CppSharp
{
ctx.RenameNamespace("CppSharp::CppParser", "Parser");
var exprClass = ctx.FindCompleteClass ("clang::Expr");
var exprClass = ctx.FindCompleteClass ("clang::Expr");
var exprUnit = ctx.TranslationUnits [0];
var subclassVisitor = new SubclassVisitor (exprClass);
exprUnit.Visit (subclassVisitor);
var exprUnit = ctx.TranslationUnits [0];
var subclassVisitor = new SubclassVisitor (exprClass);
exprUnit.Visit (subclassVisitor);
var subclasses = subclassVisitor.Classes;
var subclasses = subclassVisitor.Classes;
}
public void Postprocess(Driver driver, ASTContext ctx)
@ -84,39 +78,39 @@ namespace CppSharp @@ -84,39 +78,39 @@ namespace CppSharp
public static void Main(string[] args)
{
Console.WriteLine("Generating parser bootstrap code...");
ConsoleDriver.Run(new Bootstrap());
ConsoleDriver.Run(new Bootstrap());
Console.WriteLine();
}
}
class SubclassVisitor : AstVisitor
{
public HashSet<Class> Classes;
Class expressionClass;
public SubclassVisitor (Class expression)
{
expressionClass = expression;
Classes = new HashSet<Class> ();
}
static bool IsDerivedFrom(Class subclass, Class superclass)
{
if (subclass == null)
return false;
if (subclass == superclass)
return true;
return IsDerivedFrom (subclass.BaseClass, superclass);
}
public override bool VisitClassDecl (Class @class)
{
if (!@class.IsIncomplete && IsDerivedFrom (@class, expressionClass))
Classes.Add (@class);
return base.VisitClassDecl (@class);
}
}
}
}
class SubclassVisitor : AstVisitor
{
public HashSet<Class> Classes;
Class expressionClass;
public SubclassVisitor (Class expression)
{
expressionClass = expression;
Classes = new HashSet<Class> ();
}
static bool IsDerivedFrom(Class subclass, Class superclass)
{
if (subclass == null)
return false;
if (subclass == superclass)
return true;
return IsDerivedFrom (subclass.BaseClass, superclass);
}
public override bool VisitClassDecl (Class @class)
{
if (!@class.IsIncomplete && IsDerivedFrom (@class, expressionClass))
Classes.Add (@class);
return base.VisitClassDecl (@class);
}
}
}

Loading…
Cancel
Save