51 import com.sun.tools.javac.util.ListBuffer; |
51 import com.sun.tools.javac.util.ListBuffer; |
52 import com.sun.tools.javac.util.Log; |
52 import com.sun.tools.javac.util.Log; |
53 import com.sun.tools.javac.util.Options; |
53 import com.sun.tools.javac.util.Options; |
54 |
54 |
55 import javax.tools.JavaFileManager; |
55 import javax.tools.JavaFileManager; |
|
56 import javax.tools.StandardJavaFileManager; |
56 import static javax.tools.StandardLocation.*; |
57 import static javax.tools.StandardLocation.*; |
57 import static com.sun.tools.javac.main.Option.*; |
58 import static com.sun.tools.javac.main.Option.*; |
58 |
59 |
59 /** This class converts command line arguments, environment variables |
60 /** This class converts command line arguments, environment variables |
60 * and system properties (in File.pathSeparator-separated String form) |
61 * and system properties (in File.pathSeparator-separated String form) |
61 * into a boot class path, user class path, and source path (in |
62 * into a boot class path, user class path, and source path (in |
62 * Collection<String> form). |
63 * {@code Collection<String>} form). |
63 * |
64 * |
64 * <p><b>This is NOT part of any supported API. |
65 * <p><b>This is NOT part of any supported API. |
65 * If you write code that depends on this, you do so at your own risk. |
66 * If you write code that depends on this, you do so at your own risk. |
66 * This code and its internal interfaces are subject to change or |
67 * This code and its internal interfaces are subject to change or |
67 * deletion without notice.</b> |
68 * deletion without notice.</b> |
340 handleOption(o, v); |
341 handleOption(o, v); |
341 } |
342 } |
342 } |
343 } |
343 } |
344 } |
344 |
345 |
345 /** @see JavaFileManager#handleOption. */ |
346 /** @see JavaFileManager#handleOption */ |
346 abstract boolean handleOption(Option option, String value); |
347 abstract boolean handleOption(Option option, String value); |
347 /** @see JavaFileManager#getLocation. */ |
348 /** @see StandardJavaFileManager#getLocation */ |
348 abstract Collection<File> getLocation(); |
349 abstract Collection<File> getLocation(); |
349 /** @see JavaFileManager#setLocation. */ |
350 /** @see StandardJavaFileManager#setLocation */ |
350 abstract void setLocation(Iterable<? extends File> files) throws IOException; |
351 abstract void setLocation(Iterable<? extends File> files) throws IOException; |
351 } |
352 } |
352 |
353 |
353 /** |
354 /** |
354 * General purpose implementation for output locations, |
355 * General purpose implementation for output locations, |