173844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//===-- OptionValueArgs.cpp -------------------------------------*- C++ -*-===//
273844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//
373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//                     The LLVM Compiler Infrastructure
473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//
573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// This file is distributed under the University of Illinois Open Source
673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// License. See LICENSE.TXT for details.
773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//
873844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton//===----------------------------------------------------------------------===//
973844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton
1073844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton#include "lldb/Interpreter/OptionValueArgs.h"
1173844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton
1273844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// C Includes
1373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// C++ Includes
1473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// Other libraries and framework includes
1573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton// Project includes
1673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton#include "lldb/Interpreter/Args.h"
1773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton
1873844aa19a7360b662e2be710fc3c969d6c86606Greg Claytonusing namespace lldb;
1973844aa19a7360b662e2be710fc3c969d6c86606Greg Claytonusing namespace lldb_private;
2073844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton
2173844aa19a7360b662e2be710fc3c969d6c86606Greg Claytonsize_t
2273844aa19a7360b662e2be710fc3c969d6c86606Greg ClaytonOptionValueArgs::GetArgs (Args &args)
2373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton{
2473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    const uint32_t size = m_values.size();
2573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    std::vector<const char *> argv;
2673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    for (uint32_t i = 0; i<size; ++i)
2773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    {
2873844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton        const char *string_value = m_values[i]->GetStringValue ();
2973844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton        if (string_value)
3073844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton            argv.push_back(string_value);
3173844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    }
3273844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton
3373844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    if (argv.empty())
3473844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton        args.Clear();
3573844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    else
3673844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton        args.SetArguments(argv.size(), &argv[0]);
3773844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton    return args.GetArgumentCount();
3873844aa19a7360b662e2be710fc3c969d6c86606Greg Clayton}
39