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");
}