Skip to content

Commit 4723175

Browse files
committed
Less branching.
1 parent d5ee6f2 commit 4723175

3 files changed

Lines changed: 14 additions & 21 deletions

File tree

src/main/java/org/apache/commons/cli/CommandLine.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -454,11 +454,7 @@ public Iterator<Option> iterator() {
454454
private Option resolveOption(String opt) {
455455
opt = Util.stripLeadingHyphens(opt);
456456
for (final Option option : options) {
457-
if (opt.equals(option.getOpt())) {
458-
return option;
459-
}
460-
461-
if (opt.equals(option.getLongOpt())) {
457+
if (opt.equals(option.getOpt()) || opt.equals(option.getLongOpt())) {
462458
return option;
463459
}
464460

src/main/java/org/apache/commons/cli/Option.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -473,10 +473,7 @@ public boolean equals(final Object o) {
473473

474474
final Option option = (Option) o;
475475

476-
if (opt != null ? !opt.equals(option.opt) : option.opt != null) {
477-
return false;
478-
}
479-
if (longOpt != null ? !longOpt.equals(option.longOpt) : option.longOpt != null) {
476+
if ((opt != null ? !opt.equals(option.opt) : option.opt != null) || (longOpt != null ? !longOpt.equals(option.longOpt) : option.longOpt != null)) {
480477
return false;
481478
}
482479

src/main/java/org/apache/commons/cli/PosixParser.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,20 @@ protected void burstToken(final String token, final boolean stopAtNonOption) {
6666
for (int i = 1; i < token.length(); i++) {
6767
final String ch = String.valueOf(token.charAt(i));
6868

69-
if (options.hasOption(ch)) {
70-
tokens.add("-" + ch);
71-
currentOption = options.getOption(ch);
72-
73-
if (currentOption.hasArg() && token.length() != i + 1) {
74-
tokens.add(token.substring(i + 1));
75-
76-
break;
69+
if (!options.hasOption(ch)) {
70+
if (stopAtNonOption) {
71+
processNonOptionToken(token.substring(i), true);
72+
} else {
73+
tokens.add(token);
7774
}
78-
} else if (stopAtNonOption) {
79-
processNonOptionToken(token.substring(i), true);
8075
break;
81-
} else {
82-
tokens.add(token);
76+
}
77+
tokens.add("-" + ch);
78+
currentOption = options.getOption(ch);
79+
80+
if (currentOption.hasArg() && token.length() != i + 1) {
81+
tokens.add(token.substring(i + 1));
82+
8383
break;
8484
}
8585
}

0 commit comments

Comments
 (0)