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