public void Preprocess(Driver driver, ASTContext lib) { lib.SetClassAsValueType("CppSharp::ParserOptions"); lib.SetClassAsValueType("CppSharp::ParserDiagnostic"); lib.SetClassAsValueType("CppSharp::ParserResult"); lib.RenameNamespace("CppSharp::CppParser", "Parser"); }
public void Preprocess(Driver driver, ASTContext ctx) { ctx.SetClassAsValueType("CppSharp::ParserOptions"); ctx.SetClassAsValueType("CppSharp::ParserDiagnostic"); ctx.SetClassAsValueType("CppSharp::ParserResult"); ctx.RenameNamespace("CppSharp::CppParser", "Parser"); }
public void Preprocess(Driver driver, ASTContext ctx) { ctx.RenameNamespace("CppSharp::CppParser", "Parser"); var exprClass = ctx.FindCompleteClass ("clang::Expr"); var exprUnit = ctx.TranslationUnits [0]; var subclassVisitor = new SubclassVisitor (exprClass); exprUnit.Visit (subclassVisitor); var subclasses = subclassVisitor.Classes; }
public void Preprocess(Driver driver, ASTContext ctx) { ctx.RenameNamespace("CppSharp::CppParser", "Parser"); var exprClass = ctx.FindCompleteClass("clang::Expr"); var exprUnit = ctx.TranslationUnits [0]; var subclassVisitor = new SubclassVisitor(exprClass); exprUnit.Visit(subclassVisitor); var subclasses = subclassVisitor.Classes; }
public void Preprocess(Driver driver, ASTContext ctx) { ctx.RenameNamespace("CppSharp::CppParser", "Parser"); var preprocessDecls = new PreprocessDeclarations(); foreach (var unit in ctx.TranslationUnits) { unit.Visit(preprocessDecls); } GenerateStmt(driver.Context); GenerateExpr(driver.Context); }
public void Preprocess(Driver driver, ASTContext ctx) { ctx.RenameNamespace("CppSharp::CppParser", "Parser"); if (driver.Options.IsCSharpGenerator) { driver.Generator.OnUnitGenerated += o => { Block firstBlock = o.Outputs[0].RootBlock.Blocks[1]; if (o.TranslationUnit.Module == driver.Options.SystemModule) { firstBlock.NewLine(); firstBlock.WriteLine("[assembly:InternalsVisibleTo(\"CppSharp.Parser.CSharp\")]"); } else { firstBlock.WriteLine("using System.Runtime.CompilerServices;"); firstBlock.NewLine(); firstBlock.WriteLine("[assembly:InternalsVisibleTo(\"CppSharp.Parser\")]"); } }; } }
public void Preprocess(Driver driver, ASTContext ctx) { ctx.RenameNamespace("CppSharp::CppParser", "Parser"); }
/// <summary> /// Do transformations that should happen before any passes are processed. /// </summary> /// <param name="driver"></param> /// <param name="ctx"></param> public void Preprocess(Driver driver, ASTContext ctx) { ctx.IgnoreHeadersWithName("vulkan/vulkan_core.h"); ctx.RenameNamespace("acid", "Acid.Sharp"); }
public void Preprocess(Driver driver, ASTContext ctx) { ctx.IgnoreHeadersWithName("lldb/lldb-forward.h"); ctx.IgnoreHeadersWithName("lldb/API/SBDefines.h"); ctx.SetMethodParameterUsage("lldb::SBTarget", "Launch", 2, 2, ParameterUsage.Out); ctx.SetMethodParameterUsage("lldb::SBTarget", "Launch", 10, 10, ParameterUsage.Out); ctx.RemoveEnumItemsPrefix("lldb::StateType", "eState"); ctx.RemoveEnumItemsPrefix("lldb::LaunchFlags", "eLaunchFlag"); ctx.RemoveEnumItemsPrefix("lldb::RunMode", "e"); ctx.RemoveEnumItemsPrefix("lldb::ExpressionResults", "eExpression"); ctx.RemoveEnumItemsPrefix("lldb::SymbolContextItem", "eSymbolContext"); ctx.RemoveEnumItemsPrefix("lldb::InputReaderAction", "eInputReader"); ctx.RemoveEnumItemsPrefix("lldb::DynamicValueType", "e"); ctx.RemoveEnumItemsPrefix("lldb::InputReaderAction", "eInputReader"); ctx.RemoveEnumItemsPrefix("lldb::AccessType", "eAccess"); ctx.RemoveEnumItemsPrefix("lldb::CommandArgumentType", "eArgType"); ctx.RemoveEnumItemsPrefix("lldb::EmulateInstructionOptions", "eEmulateInstructionOption"); ctx.RemoveEnumItemsPrefix("lldb::TypeOptions", "eTypeOption"); ctx.RemoveEnumItemsPrefix("lldb::FrameComparison", "eFrameCompare"); ctx.RemoveEnumItemsPrefix("lldb::ExpressionEvaluationPhase", "eExpressionEvaluation"); ctx.RemoveEnumItemsPrefix("lldb::TypeFlags", "eType"); ctx.RemoveEnumItemsPrefix("lldb::CommandFlags", "eCommand"); ctx.RemoveEnumItemsPrefix("lldb::TypeSummaryCapping", "eTypeSummary"); ctx.SetNameOfClassMethod("lldb::SBError", "GetError", "GetErrorCode"); ctx.SetNameOfClassMethod("lldb::SBValue", "GetValue", "GetValueAsString"); ctx.GenerateEnumFromMacros("BreakpointId", "LLDB_BREAK_*", "LLDB_INVALID_BREAK_ID", "LLDB_DEFAULT_BREAK_SIZE"); ctx.GenerateEnumFromMacros("WatchpointId", "LLDB_WATCH_*", "LLDB_INVALID_WATCH_ID"); ctx.GenerateEnumFromMacros("GenericRegister", "LLDB_REGNUM_GENERIC_*"); ctx.GenerateEnumFromMacros("InvalidValue", "LLDB_INVALID_*"); ctx.GenerateEnumFromMacros("CPUType", "LLDB_ARCH_*", "LLDB_INVALID_CPUTYPE"); ctx.GenerateEnumFromMacros("OptionSet", "LDB_OPT_SET_*", "LLDB_MAX_NUM_OPTION_SETS"); ctx.RenameNamespace("lldb", "LLDB"); }