Fwd: Re: Review request: 8003562: Provide a command-line tool to find static dependenciesh

Mandy Chung mandy.chung at oracle.com
Fri Dec 21 23:38:17 UTC 2012


Ulf,

I actually prefer the current way, a separate implementation of the 
process method for each option rather than having a single big switch on 
enum constants.   I wrote my implementation of the handleOptions method 
(the previous version is copied from JavapTask) [1].   That also 
addresses the bug you found when an empty parameter is passed to the 
last option.  I'm happy with this version and hope you are.

As for the -R vs -r option, '-r' was initially used as "--reverse" which 
is gone now and I could use it.  I prefer not to make change in the 
interface for the initial push as I am waiting for CCC approval (I 
believe the process we have about compatibility).  I expect the jdeps 
tool will evolve after getting feedback.   I'll look at that together 
with other potential enhancements after the initial push.

Happy Holidays and Happy New Year!
Mandy

[1] 
http://cr.openjdk.java.net/~mchung/jdk8/webrevs/jdeps/webrev.07/langtools/src/share/classes/com/sun/tools/jdeps/JdepsTask.java.html

On 12/21/2012 4:19 AM, Ulf wrote:
> A little more verbose (as member of class JDepsTask):
>
> enum Option {
>     VERBOSE (false, "-v", "--verbose"),
>     PACKAGE (true, "-p", "--package"),
>     ...;
>     private boolean hasParam;
>     private String[] aliases;
>     private Option (boolean hasParam, String aliases...) {
>         ...;
>     }
>     process (String form, String param) {
>         If (hasParam &&
>                 (param == null || param.length == 0 || param.charAt(0) 
> == '-'))
>             throw new BadArgs("err.missing.arg", form).showUsage(true);
>         switch (this) {
>             case VERBOSE : verbose = Verbose.VERBOSE; break;
>             case PACKAGE : packageNames.add(param); break;
>             ...
>         }
>     }
> }
>
>
> -Ulf
>



More information about the core-libs-dev mailing list