Skip to content

Commit 2f8ee69

Browse files
committed
makeOptions: Use llvm::opt::Option::OptionClass
1 parent 87fc856 commit 2f8ee69

File tree

1 file changed

+22
-32
lines changed

1 file changed

+22
-32
lines changed

Sources/makeOptions/makeOptions.cpp

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,6 @@
2424
#include "llvm/Option/OptTable.h"
2525
#include "llvm/Option/Option.h"
2626

27-
enum class OptionKind {
28-
Group = 0,
29-
Input,
30-
Unknown,
31-
Flag,
32-
Joined,
33-
Separate,
34-
RemainingArgs,
35-
CommaJoined,
36-
JoinedOrSeparate,
37-
MultiArg,
38-
};
39-
4027
//. The IDs of each option
4128
enum class OptionID {
4229
Opt_INVALID = 0,
@@ -103,17 +90,15 @@ struct RawOption {
10390
std::vector<llvm::StringRef> prefixes;
10491
const char *spelling;
10592
std::string idName;
106-
OptionKind kind;
93+
llvm::opt::Option::OptionClass kind;
10794
OptionID group;
10895
OptionID alias;
10996
unsigned flags;
11097
const char *helpText;
11198
const char *metaVar;
11299
unsigned numArgs;
113100

114-
bool isGroup() const {
115-
return kind == OptionKind::Group;
116-
}
101+
bool isGroup() const { return kind == llvm::opt::Option::GroupClass; }
117102

118103
bool isAlias() const {
119104
return alias != OptionID::Opt_INVALID;
@@ -176,7 +161,7 @@ static const RawOption rawOptions[] = {
176161
getPrefixes(PREFIXES_OFFSET), \
177162
getPrefixedName(PREFIXED_NAME_OFFSET), \
178163
swiftify(#ID), \
179-
OptionKind::KIND, \
164+
llvm::opt::Option::KIND##Class, \
180165
OptionID::Opt_##GROUP, \
181166
OptionID::Opt_##ALIAS, \
182167
FLAGS, \
@@ -219,7 +204,7 @@ void forEachOption(std::function<void(const RawOption &)> fn) {
219204
if (rawOption.isGroup())
220205
continue;
221206

222-
if (rawOption.kind == OptionKind::Unknown)
207+
if (rawOption.kind == llvm::opt::Option::UnknownClass)
223208
continue;
224209

225210
fn(rawOption);
@@ -313,41 +298,46 @@ int makeOptions_main() {
313298

314299
out << ", ";
315300
switch (option.kind) {
316-
case OptionKind::Input:
301+
case llvm::opt::Option::InputClass:
317302
out << ".input";
318303
break;
319304

320-
case OptionKind::CommaJoined:
305+
case llvm::opt::Option::CommaJoinedClass:
321306
out << ".commaJoined";
322307
break;
323308

324-
case OptionKind::Flag:
309+
case llvm::opt::Option::FlagClass:
325310
out << ".flag";
326311
break;
327312

328-
case OptionKind::Joined:
313+
case llvm::opt::Option::JoinedClass:
329314
out << ".joined";
330315
break;
331316

332-
case OptionKind::JoinedOrSeparate:
317+
case llvm::opt::Option::JoinedOrSeparateClass:
333318
out << ".joinedOrSeparate";
334319
break;
335320

336-
case OptionKind::RemainingArgs:
321+
case llvm::opt::Option::RemainingArgsClass:
337322
out << ".remaining";
338323
break;
339324

340-
case OptionKind::Separate:
325+
case llvm::opt::Option::SeparateClass:
341326
out << ".separate";
342327
break;
343328

344-
case OptionKind::MultiArg:
329+
case llvm::opt::Option::MultiArgClass:
345330
out << ".multiArg";
346331
break;
347332

348-
case OptionKind::Group:
349-
case OptionKind::Unknown:
333+
case llvm::opt::Option::GroupClass:
334+
case llvm::opt::Option::UnknownClass:
350335
assert(false && "Should have been filtered out");
336+
337+
case llvm::opt::Option::ValuesClass:
338+
case llvm::opt::Option::JoinedAndSeparateClass:
339+
case llvm::opt::Option::RemainingArgsJoinedClass:
340+
assert(false && "Not implemented");
351341
}
352342

353343
if (option.isAlias()) {
@@ -357,7 +347,7 @@ int makeOptions_main() {
357347
out << ", alias: Option." << option.idName;
358348
}
359349

360-
if (option.flags != 0 || option.kind == OptionKind::Input) {
350+
if (option.flags != 0 || option.kind == llvm::opt::Option::InputClass) {
361351
bool anyEmitted = false;
362352
auto emitFlag = [&](const char *name) {
363353
if (anyEmitted) {
@@ -384,7 +374,7 @@ int makeOptions_main() {
384374
emitFlagIf(AutolinkExtractOption, ".autolinkExtract");
385375
emitFlagIf(ModuleWrapOption, ".moduleWrap");
386376
emitFlagIf(SwiftSynthesizeInterfaceOption, ".synthesizeInterface");
387-
if (option.kind == OptionKind::Input)
377+
if (option.kind == llvm::opt::Option::InputClass)
388378
emitFlag(".argumentIsPath");
389379
else
390380
emitFlagIf(ArgumentIsPath, ".argumentIsPath");
@@ -404,7 +394,7 @@ int makeOptions_main() {
404394
if (option.group != OptionID::Opt_INVALID) {
405395
out << ", group: ." << groups[groupIndexByID[option.group]].id;
406396
}
407-
if (option.kind == OptionKind::MultiArg) {
397+
if (option.kind == llvm::opt::Option::MultiArgClass) {
408398
out << ", numArgs: " << option.numArgs;
409399
}
410400
out << ")\n";

0 commit comments

Comments
 (0)