diff options
author | Chris Bieneman <beanz@apple.com> | 2016-10-27 22:52:32 +0000 |
---|---|---|
committer | Chris Bieneman <beanz@apple.com> | 2016-10-27 22:52:32 +0000 |
commit | f817bae1616852aeae880aa8e6a22407276aa223 (patch) | |
tree | a11307e419851e4fddf18aff7ce1068091abaab8 /lldb/packages/Python/lldbsuite/test/functionalities/plugins/commands/plugin.cpp.template | |
parent | 91967bd301cba2185b612b9b686cb7367383a00e (diff) | |
download | bcm5719-llvm-f817bae1616852aeae880aa8e6a22407276aa223.tar.gz bcm5719-llvm-f817bae1616852aeae880aa8e6a22407276aa223.zip |
[Test Suite] Pull generateSource into lldbtest
Summary:
Convert tests using LLDB headers to use generateSource to put the right include paths in place regardless of whether or not you're building a framework.
This also abstracted generateSource out of TestPublicAPIHeaders.py into lldbtest.py.
Reviewers: tfiala, zturner
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D25887
llvm-svn: 285357
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/plugins/commands/plugin.cpp.template')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/plugins/commands/plugin.cpp.template | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/plugins/commands/plugin.cpp.template b/lldb/packages/Python/lldbsuite/test/functionalities/plugins/commands/plugin.cpp.template new file mode 100644 index 00000000000..393e9feec79 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/plugins/commands/plugin.cpp.template @@ -0,0 +1,54 @@ +//===-- plugin.cpp -------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +/* +An example plugin for LLDB that provides a new foo command with a child subcommand +Compile this into a dylib foo.dylib and load by placing in appropriate locations on disk or +by typing plugin load foo.dylib at the LLDB command line +*/ + +%include_SB_APIs% + +namespace lldb { + bool + PluginInitialize (lldb::SBDebugger debugger); +} + +class ChildCommand : public lldb::SBCommandPluginInterface +{ +public: + virtual bool + DoExecute (lldb::SBDebugger debugger, + char** command, + lldb::SBCommandReturnObject &result) + { + if (command) + { + const char* arg = *command; + while (arg) + { + result.Printf("%s ",arg); + arg = *(++command); + } + result.Printf("\n"); + return true; + } + return false; + } + +}; + +bool +lldb::PluginInitialize (lldb::SBDebugger debugger) +{ + lldb::SBCommandInterpreter interpreter = debugger.GetCommandInterpreter(); + lldb::SBCommand foo = interpreter.AddMultiwordCommand("plugin_loaded_command",NULL); + foo.AddCommand("child",new ChildCommand(),"a child of plugin_loaded_command"); + return true; +} |