Add language command and LanguageRuntime plugin changes to allow vending of command objects.

Differential Revision: http://reviews.llvm.org/D9402

llvm-svn: 236443
This commit is contained in:
Colin Riley
2015-05-04 18:39:38 +00:00
parent b61f06c9c2
commit c9c55a26bd
9 changed files with 141 additions and 2 deletions

View File

@@ -0,0 +1,46 @@
//===-- CommandObjectLanguage.cpp -------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "lldb/lldb-python.h"
#include "CommandObjectLanguage.h"
#include "lldb/Host/Host.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Target/LanguageRuntime.h"
using namespace lldb;
using namespace lldb_private;
CommandObjectLanguage::CommandObjectLanguage (CommandInterpreter &interpreter) :
CommandObjectMultiword (interpreter,
"language",
"A set of commands for managing language-specific functionality.'.",
"language <language-name> <subcommand> [<subcommand-options>]"
)
{
//Let the LanguageRuntime populates this command with subcommands
LanguageRuntime::InitializeCommands(this);
}
void
CommandObjectLanguage::GenerateHelpText (Stream &output_stream) {
CommandObjectMultiword::GenerateHelpText(output_stream);
output_stream << "\nlanguage name can be one of the following:\n";
LanguageRuntime::PrintAllLanguages(output_stream, " ", "\n");
}
CommandObjectLanguage::~CommandObjectLanguage ()
{
}