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