mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
4501661: disallow mixing -public, -private, and -protected options at the same time
Reviewed-by: ksrini
This commit is contained in:
parent
d1e9333931
commit
02ef4bbc8c
4 changed files with 147 additions and 0 deletions
|
@ -140,24 +140,31 @@ public class JavapTask implements DisassemblerTool.DisassemblerTask {
|
|||
|
||||
new Option(false, "-public") {
|
||||
void process(JavapTask task, String opt, String arg) {
|
||||
task.options.accessOptions.add(opt);
|
||||
task.options.showAccess = AccessFlags.ACC_PUBLIC;
|
||||
}
|
||||
},
|
||||
|
||||
new Option(false, "-protected") {
|
||||
void process(JavapTask task, String opt, String arg) {
|
||||
task.options.accessOptions.add(opt);
|
||||
task.options.showAccess = AccessFlags.ACC_PROTECTED;
|
||||
}
|
||||
},
|
||||
|
||||
new Option(false, "-package") {
|
||||
void process(JavapTask task, String opt, String arg) {
|
||||
task.options.accessOptions.add(opt);
|
||||
task.options.showAccess = 0;
|
||||
}
|
||||
},
|
||||
|
||||
new Option(false, "-p", "-private") {
|
||||
void process(JavapTask task, String opt, String arg) {
|
||||
if (!task.options.accessOptions.contains("-p") &&
|
||||
!task.options.accessOptions.contains("-private")) {
|
||||
task.options.accessOptions.add(opt);
|
||||
}
|
||||
task.options.showAccess = AccessFlags.ACC_PRIVATE;
|
||||
}
|
||||
},
|
||||
|
@ -386,6 +393,16 @@ public class JavapTask implements DisassemblerTool.DisassemblerTask {
|
|||
throw new BadArgs("err.unknown.option", arg).showUsage(true);
|
||||
}
|
||||
|
||||
if (!options.compat && options.accessOptions.size() > 1) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String opt: options.accessOptions) {
|
||||
if (sb.length() > 0)
|
||||
sb.append(" ");
|
||||
sb.append(opt);
|
||||
}
|
||||
throw new BadArgs("err.incompatible.options", sb);
|
||||
}
|
||||
|
||||
if (options.ignoreSymbolFile && fileManager instanceof JavapFileManager)
|
||||
((JavapFileManager) fileManager).setIgnoreSymbolFile(true);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue