src/share/classes/com/sun/tools/javac/jvm/ClassReader.java

changeset 57
aa67a5da66e3
parent 50
b9bcea8bbe24
child 62
07c916ecfc71
     1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Tue Jun 17 10:44:32 2008 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Wed Jun 18 07:23:25 2008 -0700
     1.3 @@ -1056,7 +1056,7 @@
     1.4      void readClassAttr(ClassSymbol c, Name attrName, int attrLen) {
     1.5          if (attrName == names.SourceFile) {
     1.6              Name n = readName(nextChar());
     1.7 -            c.sourcefile = new SourceFileObject(n);
     1.8 +            c.sourcefile = new SourceFileObject(n, c.flatname);
     1.9          } else if (attrName == names.InnerClasses) {
    1.10              readInnerClasses(c);
    1.11          } else if (allowGenerics && attrName == names.Signature) {
    1.12 @@ -2221,9 +2221,12 @@
    1.13          /** The file's name.
    1.14           */
    1.15          private Name name;
    1.16 +        private Name flatname;
    1.17  
    1.18 -        public SourceFileObject(Name name) {
    1.19 +        public SourceFileObject(Name name, Name flatname) {
    1.20 +            super(null); // no file manager; never referenced for this file object
    1.21              this.name = name;
    1.22 +            this.flatname = flatname;
    1.23          }
    1.24  
    1.25          public InputStream openInputStream() {
    1.26 @@ -2285,5 +2288,9 @@
    1.27              throw new UnsupportedOperationException();
    1.28          }
    1.29  
    1.30 +        @Override
    1.31 +        protected String inferBinaryName(Iterable<? extends File> path) {
    1.32 +            return flatname.toString();
    1.33 +        }
    1.34      }
    1.35  }

mercurial