1//===-- CommandOptionValidators.cpp ---------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "lldb/Interpreter/CommandOptionValidators.h"
10
11#include "lldb/Interpreter/CommandInterpreter.h"
12#include "lldb/Target/Platform.h"
13
14using namespace lldb;
15using namespace lldb_private;
16
17bool PosixPlatformCommandOptionValidator::IsValid(
18 Platform &platform, const ExecutionContext &target) const {
19 llvm::Triple::OSType os =
20 platform.GetSystemArchitecture().GetTriple().getOS();
21 switch (os) {
22 // Are there any other platforms that are not POSIX-compatible?
23 case llvm::Triple::Win32:
24 return false;
25 default:
26 return true;
27 }
28}
29
30const char *PosixPlatformCommandOptionValidator::ShortConditionString() const {
31 return "POSIX";
32}
33
34const char *PosixPlatformCommandOptionValidator::LongConditionString() const {
35 return "Option only valid for POSIX-compliant hosts.";
36}
37

source code of lldb/source/Interpreter/CommandOptionValidators.cpp