Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions src/main/java/org/plumelib/options/Options.java
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ class OptionInfo {
defaultStr = defaultObj.toString();
}

if (field.getType().isArray()) {
if (baseType.isArray()) {
throw new Error("@Option may not annotate a variable of array type: " + field);
}

Expand Down Expand Up @@ -829,15 +829,17 @@ public Options(String usageSynopsis, @UnknownInitialization Object... args) {
// Add each option to the option name map
for (OptionInfo oi : options) {
if (oi.shortName != null) {
if (nameToOption.containsKey("-" + oi.shortName)) {
String shortOptionName = "-" + oi.shortName;
if (nameToOption.containsKey(shortOptionName)) {
throw new Error("short name " + oi + " appears twice");
}
nameToOption.put("-" + oi.shortName, oi);
nameToOption.put(shortOptionName, oi);
}
if (nameToOption.containsKey(prefix + oi.longName)) {
String longOptionName = prefix + oi.longName;
if (nameToOption.containsKey(longOptionName)) {
throw new Error("long name " + oi + " appears twice");
}
nameToOption.put(prefix + oi.longName, oi);
nameToOption.put(longOptionName, oi);
if (useDashes && oi.longName.contains("-")) {
nameToOption.put(prefix + oi.longName.replace('-', '_'), oi);
}
Expand Down
16 changes: 10 additions & 6 deletions src/main/java/org/plumelib/options/OptionsDoclet.java
Original file line number Diff line number Diff line change
Expand Up @@ -643,8 +643,9 @@ private String newDocFileText() {
boolean replacedOnce = false;

while ((docline = doc.readLine()) != null) {
String trimmedLine = docline.trim();
if (replacing) {
if (docline.trim().equals(endDelim)) {
if (trimmedLine.equals(endDelim)) {
replacing = false;
} else {
continue;
Expand All @@ -653,7 +654,7 @@ private String newDocFileText() {

b.add(docline);

if (!replacedOnce && docline.trim().equals(startDelim)) {
if (!replacedOnce && trimmedLine.equals(startDelim)) {
if (formatJavadoc) {
int starIndex = docline.indexOf('*');
b.add(docline.substring(0, starIndex + 1));
Expand Down Expand Up @@ -856,9 +857,10 @@ public String optionsToHtml(int refillWidth) {
*/
public String optionsToJavadoc(int padding, int refillWidth) {
StringJoiner b = new StringJoiner(lineSep);
String paddingStr = StringUtils.repeat(' ', padding);
for (String line : optionsToHtml(refillWidth - padding - 2).lines().toList()) {
StringBuilder bb = new StringBuilder();
bb.append(StringUtils.repeat(' ', padding));
bb.append(paddingStr);
if (line.isBlank()) {
bb.append('*');
} else {
Expand All @@ -884,13 +886,14 @@ public String optionsToJavadoc(int padding, int refillWidth) {
private String optionListToHtml(
List<Options.OptionInfo> optList, int padding, int firstLinePadding, int refillWidth) {
StringJoiner b = new StringJoiner(lineSep);
String paddingStr = StringUtils.repeat(" ", padding);
for (Options.OptionInfo oi : optList) {
if (oi.unpublicized) {
continue;
}
StringBuilder bb = new StringBuilder(32);
String optHtml = optionToHtml(oi, padding);
bb.append(StringUtils.repeat(" ", padding));
bb.append(paddingStr);
bb.append("<li id=\"option:").append(oi.longName).append("\">").append(optHtml);
// .append("</li>");
if (refillWidth <= 0) {
Expand Down Expand Up @@ -936,6 +939,7 @@ private String refill(String in, int padding, int firstLinePadding, int refillWi
compressedSpaces = compressedSpaces.substring(1);
}
String oneLine = StringUtils.repeat(" ", firstLinePadding) + compressedSpaces;
String paddingStr = StringUtils.repeat(" ", padding);
StringJoiner multiLine = new StringJoiner(lineSep);
while (oneLine.length() > refillWidth) {
int breakLoc = oneLine.lastIndexOf(' ', refillWidth);
Expand All @@ -947,12 +951,12 @@ private String refill(String in, int padding, int firstLinePadding, int refillWi
break;
}
multiLine.add(firstPart);
oneLine = StringUtils.repeat(" ", padding) + oneLine.substring(breakLoc + 1);
oneLine = paddingStr + oneLine.substring(breakLoc + 1);
}
multiLine.add(oneLine);
if (suffix != null) {
for (String line : suffix.lines().toList()) {
multiLine.add(StringUtils.repeat(" ", padding) + line);
multiLine.add(paddingStr + line);
}
}
return multiLine.toString();
Expand Down