39 // import com.sun.tools.javac.Main |
39 // import com.sun.tools.javac.Main |
40 // import com.sun.tools.javac.main.Main |
40 // import com.sun.tools.javac.main.Main |
41 |
41 |
42 import com.sun.tools.javac.api.ClientCodeWrapper; |
42 import com.sun.tools.javac.api.ClientCodeWrapper; |
43 import com.sun.tools.javac.file.JavacFileManager; |
43 import com.sun.tools.javac.file.JavacFileManager; |
|
44 import com.sun.tools.javac.main.Main; |
44 import com.sun.tools.javac.util.Context; |
45 import com.sun.tools.javac.util.Context; |
45 import com.sun.tools.javac.util.JavacMessages; |
46 import com.sun.tools.javac.util.JavacMessages; |
46 import com.sun.tools.javac.util.JCDiagnostic; |
47 import com.sun.tools.javac.util.JCDiagnostic; |
47 |
48 |
48 /** |
49 /** |
513 pw = out; |
514 pw = out; |
514 |
515 |
515 Context c = new Context(); |
516 Context c = new Context(); |
516 JavacFileManager.preRegister(c); // can't create it until Log has been set up |
517 JavacFileManager.preRegister(c); // can't create it until Log has been set up |
517 MessageTracker.preRegister(c, keys); |
518 MessageTracker.preRegister(c, keys); |
518 com.sun.tools.javac.main.Main m = new com.sun.tools.javac.main.Main("javac", pw); |
519 Main m = new Main("javac", pw); |
519 int rc = m.compile(args.toArray(new String[args.size()]), c); |
520 Main.Result rc = m.compile(args.toArray(new String[args.size()]), c); |
520 |
521 |
521 if (keys != null) { |
522 if (keys != null) { |
522 pw.close(); |
523 pw.close(); |
523 } |
524 } |
524 |
525 |
525 return (rc == 0); |
526 return rc.isOK(); |
526 } |
527 } |
527 |
528 |
528 static class MessageTracker extends JavacMessages { |
529 static class MessageTracker extends JavacMessages { |
529 |
530 |
530 MessageTracker(Context context) { |
531 MessageTracker(Context context) { |