Hi Kumar,

Your signatureDiagnostic method seems to be doing too strong a job - it isn't checking for the existence of "public static void main(String[])" it is checking that if any method with the name "main" exists then it must be: public static void main(String[])

So it would generate an error if a class contains:

  public static void main(String[] args) { ... } // real one

but also:

  public static void main() { ... }
  private static void main(int x) { ... }
  ...

Rather than iterate through all the class methods all you need to do is use clazz.getMethod("main", String[].class) and then check for static and void (it must already be public and if static then it can't have been inherited)

Cheers,
David

Kumar Srinivasan said the following on 09/18/08 00:51:
Hello,

This webrev contains some improvements to the java launcher.
1. call BootStrap Class loader directly from the launcher.
2. refactor native code for sanity checks into java
3. port arguments test from shell to java.

http://webrev.invokedynamic.info/ksrini/6742159/

Thanks

Reply via email to