124 } |
124 } |
125 |
125 |
126 static final Option[] recognizedOptions = { |
126 static final Option[] recognizedOptions = { |
127 |
127 |
128 new Option(false, "-help", "--help", "-?") { |
128 new Option(false, "-help", "--help", "-?") { |
|
129 @Override |
129 void process(JavapTask task, String opt, String arg) { |
130 void process(JavapTask task, String opt, String arg) { |
130 task.options.help = true; |
131 task.options.help = true; |
131 } |
132 } |
132 }, |
133 }, |
133 |
134 |
134 new Option(false, "-version") { |
135 new Option(false, "-version") { |
|
136 @Override |
135 void process(JavapTask task, String opt, String arg) { |
137 void process(JavapTask task, String opt, String arg) { |
136 task.options.version = true; |
138 task.options.version = true; |
137 } |
139 } |
138 }, |
140 }, |
139 |
141 |
140 new Option(false, "-fullversion") { |
142 new Option(false, "-fullversion") { |
|
143 @Override |
141 void process(JavapTask task, String opt, String arg) { |
144 void process(JavapTask task, String opt, String arg) { |
142 task.options.fullVersion = true; |
145 task.options.fullVersion = true; |
143 } |
146 } |
144 }, |
147 }, |
145 |
148 |
146 new Option(false, "-v", "-verbose", "-all") { |
149 new Option(false, "-v", "-verbose", "-all") { |
|
150 @Override |
147 void process(JavapTask task, String opt, String arg) { |
151 void process(JavapTask task, String opt, String arg) { |
148 task.options.verbose = true; |
152 task.options.verbose = true; |
149 task.options.showDescriptors = true; |
153 task.options.showDescriptors = true; |
150 task.options.showFlags = true; |
154 task.options.showFlags = true; |
151 task.options.showAllAttrs = true; |
155 task.options.showAllAttrs = true; |
152 } |
156 } |
153 }, |
157 }, |
154 |
158 |
155 new Option(false, "-l") { |
159 new Option(false, "-l") { |
|
160 @Override |
156 void process(JavapTask task, String opt, String arg) { |
161 void process(JavapTask task, String opt, String arg) { |
157 task.options.showLineAndLocalVariableTables = true; |
162 task.options.showLineAndLocalVariableTables = true; |
158 } |
163 } |
159 }, |
164 }, |
160 |
165 |
161 new Option(false, "-public") { |
166 new Option(false, "-public") { |
|
167 @Override |
162 void process(JavapTask task, String opt, String arg) { |
168 void process(JavapTask task, String opt, String arg) { |
163 task.options.accessOptions.add(opt); |
169 task.options.accessOptions.add(opt); |
164 task.options.showAccess = AccessFlags.ACC_PUBLIC; |
170 task.options.showAccess = AccessFlags.ACC_PUBLIC; |
165 } |
171 } |
166 }, |
172 }, |
167 |
173 |
168 new Option(false, "-protected") { |
174 new Option(false, "-protected") { |
|
175 @Override |
169 void process(JavapTask task, String opt, String arg) { |
176 void process(JavapTask task, String opt, String arg) { |
170 task.options.accessOptions.add(opt); |
177 task.options.accessOptions.add(opt); |
171 task.options.showAccess = AccessFlags.ACC_PROTECTED; |
178 task.options.showAccess = AccessFlags.ACC_PROTECTED; |
172 } |
179 } |
173 }, |
180 }, |
174 |
181 |
175 new Option(false, "-package") { |
182 new Option(false, "-package") { |
|
183 @Override |
176 void process(JavapTask task, String opt, String arg) { |
184 void process(JavapTask task, String opt, String arg) { |
177 task.options.accessOptions.add(opt); |
185 task.options.accessOptions.add(opt); |
178 task.options.showAccess = 0; |
186 task.options.showAccess = 0; |
179 } |
187 } |
180 }, |
188 }, |
181 |
189 |
182 new Option(false, "-p", "-private") { |
190 new Option(false, "-p", "-private") { |
|
191 @Override |
183 void process(JavapTask task, String opt, String arg) { |
192 void process(JavapTask task, String opt, String arg) { |
184 if (!task.options.accessOptions.contains("-p") && |
193 if (!task.options.accessOptions.contains("-p") && |
185 !task.options.accessOptions.contains("-private")) { |
194 !task.options.accessOptions.contains("-private")) { |
186 task.options.accessOptions.add(opt); |
195 task.options.accessOptions.add(opt); |
187 } |
196 } |
188 task.options.showAccess = AccessFlags.ACC_PRIVATE; |
197 task.options.showAccess = AccessFlags.ACC_PRIVATE; |
189 } |
198 } |
190 }, |
199 }, |
191 |
200 |
192 new Option(false, "-c") { |
201 new Option(false, "-c") { |
|
202 @Override |
193 void process(JavapTask task, String opt, String arg) { |
203 void process(JavapTask task, String opt, String arg) { |
194 task.options.showDisassembled = true; |
204 task.options.showDisassembled = true; |
195 } |
205 } |
196 }, |
206 }, |
197 |
207 |
198 new Option(false, "-s") { |
208 new Option(false, "-s") { |
|
209 @Override |
199 void process(JavapTask task, String opt, String arg) { |
210 void process(JavapTask task, String opt, String arg) { |
200 task.options.showDescriptors = true; |
211 task.options.showDescriptors = true; |
201 } |
212 } |
202 }, |
213 }, |
203 |
214 |
204 new Option(false, "-sysinfo") { |
215 new Option(false, "-sysinfo") { |
|
216 @Override |
205 void process(JavapTask task, String opt, String arg) { |
217 void process(JavapTask task, String opt, String arg) { |
206 task.options.sysInfo = true; |
218 task.options.sysInfo = true; |
207 } |
219 } |
208 }, |
220 }, |
209 |
221 |
210 new Option(false, "-XDdetails") { |
222 new Option(false, "-XDdetails") { |
|
223 @Override |
211 void process(JavapTask task, String opt, String arg) { |
224 void process(JavapTask task, String opt, String arg) { |
212 task.options.details = EnumSet.allOf(InstructionDetailWriter.Kind.class); |
225 task.options.details = EnumSet.allOf(InstructionDetailWriter.Kind.class); |
213 } |
226 } |
214 |
227 |
215 }, |
228 }, |
927 } |
945 } |
928 |
946 |
929 private void showHelp() { |
947 private void showHelp() { |
930 printLines(getMessage("main.usage", progname)); |
948 printLines(getMessage("main.usage", progname)); |
931 for (Option o: recognizedOptions) { |
949 for (Option o: recognizedOptions) { |
932 String name = o.aliases[0].substring(1); // there must always be at least one name |
950 String name = o.aliases[0].replaceAll("^-+", "").replaceAll("-+", "_"); // there must always be at least one name |
933 if (name.startsWith("X") || name.equals("fullversion") || name.equals("h") || name.equals("verify")) |
951 if (name.startsWith("X") || name.equals("fullversion") || name.equals("h") || name.equals("verify")) |
934 continue; |
952 continue; |
935 printLines(getMessage("main.opt." + name)); |
953 printLines(getMessage("main.opt." + name)); |
936 } |
954 } |
|
955 |
937 String[] fmOptions = { |
956 String[] fmOptions = { |
938 "-classpath", "-cp", "-bootclasspath", |
957 "--module-path", "--system", |
939 "-upgrademodulepath", "-system", "-modulepath" }; |
958 "--class-path", "-classpath", "-cp", |
|
959 "-bootclasspath" |
|
960 }; |
|
961 |
940 for (String o: fmOptions) { |
962 for (String o: fmOptions) { |
941 if (fileManager.isSupportedOption(o) == -1) |
963 if (fileManager.isSupportedOption(o) == -1) |
942 continue; |
964 continue; |
943 String name = o.substring(1); |
965 String name = o.replaceAll("^-+", "").replaceAll("-+", "_"); |
944 printLines(getMessage("main.opt." + name)); |
966 printLines(getMessage("main.opt." + name)); |
945 } |
967 } |
946 |
968 |
|
969 printLines(getMessage("main.usage.foot")); |
947 } |
970 } |
948 |
971 |
949 private void showVersion(boolean full) { |
972 private void showVersion(boolean full) { |
950 printLines(version(full ? "full" : "release")); |
973 printLines(version(full ? "full" : "release")); |
951 } |
974 } |