src/share/classes/com/sun/tools/javac/comp/Check.java

changeset 2038
8d1c48de706d
parent 2028
4ce8148ffc4f
child 2047
5f915a0c9615
     1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Check.java	Thu Sep 19 17:05:32 2013 +0400
     1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java	Thu Sep 19 17:05:08 2013 +0200
     1.3 @@ -1245,6 +1245,7 @@
     1.4       */
     1.5      class Validator extends JCTree.Visitor {
     1.6  
     1.7 +        boolean checkRaw;
     1.8          boolean isOuter;
     1.9          Env<AttrContext> env;
    1.10  
    1.11 @@ -1254,7 +1255,7 @@
    1.12  
    1.13          @Override
    1.14          public void visitTypeArray(JCArrayTypeTree tree) {
    1.15 -            tree.elemtype.accept(this);
    1.16 +            validateTree(tree.elemtype, checkRaw, isOuter);
    1.17          }
    1.18  
    1.19          @Override
    1.20 @@ -1345,15 +1346,20 @@
    1.21          }
    1.22  
    1.23          public void validateTree(JCTree tree, boolean checkRaw, boolean isOuter) {
    1.24 -            try {
    1.25 -                if (tree != null) {
    1.26 -                    this.isOuter = isOuter;
    1.27 +            if (tree != null) {
    1.28 +                boolean prevCheckRaw = this.checkRaw;
    1.29 +                this.checkRaw = checkRaw;
    1.30 +                this.isOuter = isOuter;
    1.31 +
    1.32 +                try {
    1.33                      tree.accept(this);
    1.34                      if (checkRaw)
    1.35                          checkRaw(tree, env);
    1.36 +                } catch (CompletionFailure ex) {
    1.37 +                    completionError(tree.pos(), ex);
    1.38 +                } finally {
    1.39 +                    this.checkRaw = prevCheckRaw;
    1.40                  }
    1.41 -            } catch (CompletionFailure ex) {
    1.42 -                completionError(tree.pos(), ex);
    1.43              }
    1.44          }
    1.45  

mercurial