src/share/classes/com/sun/tools/javap/JavapFileManager.java

changeset 56
f9a4b9e1a521
parent 50
b9bcea8bbe24
child 62
07c916ecfc71
     1.1 --- a/src/share/classes/com/sun/tools/javap/JavapFileManager.java	Mon Jun 16 13:28:00 2008 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javap/JavapFileManager.java	Tue Jun 17 10:44:32 2008 -0700
     1.3 @@ -25,16 +25,13 @@
     1.4  
     1.5  package com.sun.tools.javap;
     1.6  
     1.7 -import java.io.File;
     1.8  import java.io.PrintWriter;
     1.9  import java.nio.charset.Charset;
    1.10 -import javax.tools.Diagnostic;
    1.11  import javax.tools.DiagnosticListener;
    1.12  import javax.tools.JavaFileObject;
    1.13  
    1.14  import com.sun.tools.javac.file.JavacFileManager;
    1.15  import com.sun.tools.javac.util.Context;
    1.16 -import com.sun.tools.javac.util.JCDiagnostic;
    1.17  
    1.18  /**
    1.19   *  javap's implementation of JavaFileManager.
    1.20 @@ -52,29 +49,8 @@
    1.21      static JavapFileManager create(final DiagnosticListener<? super JavaFileObject> dl, PrintWriter log, Options options) {
    1.22          Context javac_context = new Context();
    1.23  
    1.24 -        if (dl != null) {
    1.25 -            // Workaround bug 6625520: javac handles missing entries on classpath badly
    1.26 -            // Ignore spurious errors for missing files
    1.27 -            DiagnosticListener<JavaFileObject> wrapper = new DiagnosticListener<JavaFileObject>() {
    1.28 -                public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
    1.29 -                    if (diagnostic instanceof JCDiagnostic) {
    1.30 -                        JCDiagnostic jcd = (JCDiagnostic) diagnostic;
    1.31 -                        if (jcd.getCode().equals("compiler.err.error.reading.file")) {
    1.32 -                            Object[] args = jcd.getArgs();
    1.33 -                            if (args.length > 0 && args[0] != null && args[0].toString().length() > 0) {
    1.34 -                                File f = new File(args[0].toString());
    1.35 -                                if (!f.exists())
    1.36 -                                    return;
    1.37 -                            }
    1.38 -                        }
    1.39 -
    1.40 -                    }
    1.41 -                    dl.report(diagnostic);
    1.42 -                }
    1.43 -            };
    1.44 -            javac_context.put(DiagnosticListener.class, wrapper);
    1.45 -        }
    1.46 -
    1.47 +        if (dl != null)
    1.48 +            javac_context.put(DiagnosticListener.class, dl);
    1.49          javac_context.put(com.sun.tools.javac.util.Log.outKey, log);
    1.50  
    1.51          return new JavapFileManager(javac_context, null);

mercurial