@Trusted public final class ProxyFileManager implements JavaFileManager {
@Trusted static class DiagnosticListenerImpl implements DiagnosticListener<JavaFileObject> {
@Trusted public class BasicSourceFileObject extends AbstractSourceFileObject implements DocumentProvider {
@Trusted public class ErrorProneAnalyzer implements TaskListener {
@Trusted private static class MemoryFileObject extends Base implements PrefetchableJavaFileObject {
@Trusted private static class ZipFileObject extends ZipFileBase {
@Trusted public static class FileObjectBase extends PrefetchableBase {
@Trusted public static class FileBase extends PrefetchableBase {
@Trusted private static final class LazyPathFileObject extends PathBase { private final Path root;
@Trusted private static final class NewFromTemplateFileObject extends FileBase {
@Trusted private static class FastZipFileObject extends ZipFileObject {
@Trusted private static final class AsyncWriteFileObject extends FileBase {
@Trusted private static final class PathFileObject extends PathBase { private final Path path; private final String rawUri; PathFileObject( @NonNull final Path file, @NonNull final String pkgName, @NonNull final String name, @NullAllowed final String rawUri, @NullAllowed final Charset encoding) { super( pkgName, name, encoding); assert file != null; this.path = file; this.rawUri = rawUri; } @Override protected Path resolvePath() { return path; } @Override @NonNull protected URI resolveURI() { return rawUri == null ? resolvePath().toUri() : URI.create(rawUri); } }
@Trusted private static class CachedZipFileObject extends ZipFileBase {
@Trusted private static class NullWriteFileObject extends ForwardingInferableJavaFileObject { private NullWriteFileObject (@NonNull final InferableJavaFileObject delegate) { super (delegate); } @Override public OutputStream openOutputStream() throws IOException { return new NullOutputStream(); } @Override public Writer openWriter() throws IOException { return new OutputStreamWriter(openOutputStream()); } private static class NullOutputStream extends OutputStream { @Override public void write(int b) throws IOException { //pass } } }
@Trusted static class MaskedFileManager extends JavacFileManager { public MaskedFileManager(Context context) { super(context, /* register= */ true, UTF_8); } public MaskedFileManager() { this(new Context()); } @Override protected ClassLoader getClassLoader(URL[] urls) { return new URLClassLoader( urls, new MaskedClassLoader(JavacFileManager.class.getClassLoader())); } } }
@Trusted public class ErrorProneAnalyzer implements TaskListener {
@Trusted static class MaskedFileManager extends JavacFileManager { public MaskedFileManager(Context context) { super(context, /* register= */ true, UTF_8); } public MaskedFileManager() { this(new Context()); } @Override protected ClassLoader getClassLoader(URL[] urls) { return new URLClassLoader( urls, new MaskedClassLoader(JavacFileManager.class.getClassLoader())); } } }