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

changeset 2136
7f6481e5fe3a
parent 2133
19e8eebfbe52
child 2260
fb870c70e774
     1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Wed Oct 16 10:47:21 2013 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java	Wed Oct 16 16:33:04 2013 -0400
     1.3 @@ -2405,8 +2405,6 @@
     1.4              return c;
     1.5      }
     1.6  
     1.7 -    private boolean suppressFlush = false;
     1.8 -
     1.9      /** Completion for classes to be loaded. Before a class is loaded
    1.10       *  we make sure its enclosing class (if any) is loaded.
    1.11       */
    1.12 @@ -2414,13 +2412,14 @@
    1.13          if (sym.kind == TYP) {
    1.14              ClassSymbol c = (ClassSymbol)sym;
    1.15              c.members_field = new Scope.ErrorScope(c); // make sure it's always defined
    1.16 -            boolean saveSuppressFlush = suppressFlush;
    1.17 -            suppressFlush = true;
    1.18 +            annotate.enterStart();
    1.19              try {
    1.20                  completeOwners(c.owner);
    1.21                  completeEnclosing(c);
    1.22              } finally {
    1.23 -                suppressFlush = saveSuppressFlush;
    1.24 +                // The flush needs to happen only after annotations
    1.25 +                // are filled in.
    1.26 +                annotate.enterDoneWithoutFlush();
    1.27              }
    1.28              fillIn(c);
    1.29          } else if (sym.kind == PCK) {
    1.30 @@ -2431,7 +2430,7 @@
    1.31                  throw new CompletionFailure(sym, ex.getLocalizedMessage()).initCause(ex);
    1.32              }
    1.33          }
    1.34 -        if (!filling && !suppressFlush)
    1.35 +        if (!filling)
    1.36              annotate.flush(); // finish attaching annotations
    1.37      }
    1.38  

mercurial