Example #1
0
        public void Preprocess(Driver driver, ASTContext lib)
        {
            lib.SetClassAsValueType("CppSharp::ParserOptions");
            lib.SetClassAsValueType("CppSharp::ParserDiagnostic");
            lib.SetClassAsValueType("CppSharp::ParserResult");

            lib.RenameNamespace("CppSharp::CppParser", "Parser");
        }
Example #2
0
        public void Preprocess(Driver driver, ASTContext ctx)
        {
            ctx.SetClassAsValueType("CppSharp::ParserOptions");
            ctx.SetClassAsValueType("CppSharp::ParserDiagnostic");
            ctx.SetClassAsValueType("CppSharp::ParserResult");

            ctx.RenameNamespace("CppSharp::CppParser", "Parser");
        }
Example #3
0
        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;
        }
Example #4
0
        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;
        }
Example #5
0
        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);
        }
Example #6
0
        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\")]");
                    }
                };
            }
        }
Example #7
0
 public void Preprocess(Driver driver, ASTContext ctx)
 {
     ctx.RenameNamespace("CppSharp::CppParser", "Parser");
 }
Example #8
0
 public void Preprocess(Driver driver, ASTContext ctx)
 {
     ctx.RenameNamespace("CppSharp::CppParser", "Parser");
 }
Example #9
0
 /// <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");
 }
Example #10
0
        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");
        }