blob: 7d66de53c0b4e653c74072a841bb2604ae1228c7 [file] [log] [blame]
Zachary Turnerd37221d2014-07-09 16:31:49 +00001//===-- CommandOptionValidators.cpp -----------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "lldb/Interpreter/CommandOptionValidators.h"
11
12#include "lldb/Interpreter/CommandInterpreter.h"
13#include "lldb/Target/Platform.h"
14
15using namespace lldb;
16using namespace lldb_private;
17
18bool PosixPlatformCommandOptionValidator::IsValid(Platform &platform, const ExecutionContext &target) const
19{
20 llvm::Triple::OSType os = platform.GetSystemArchitecture().GetTriple().getOS();
21 switch (os)
22 {
23 // Are there any other platforms that are not POSIX-compatible?
24 case llvm::Triple::Win32:
25 return false;
26 default:
27 return true;
28 }
29}
30
31const char* PosixPlatformCommandOptionValidator::ShortConditionString() const
32{
33 return "POSIX";
34}
35
36const char* PosixPlatformCommandOptionValidator::LongConditionString() const
37{
38 return "Option only valid for POSIX-compliant hosts.";
39}