--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Thu Sep 19 17:05:32 2013 +0400
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Thu Sep 19 17:05:08 2013 +0200
@@ -1245,6 +1245,7 @@
*/
class Validator extends JCTree.Visitor {
+ boolean checkRaw;
boolean isOuter;
Env<AttrContext> env;
@@ -1254,7 +1255,7 @@
@Override
public void visitTypeArray(JCArrayTypeTree tree) {
- tree.elemtype.accept(this);
+ validateTree(tree.elemtype, checkRaw, isOuter);
}
@Override
@@ -1345,15 +1346,20 @@
}
public void validateTree(JCTree tree, boolean checkRaw, boolean isOuter) {
- try {
- if (tree != null) {
- this.isOuter = isOuter;
+ if (tree != null) {
+ boolean prevCheckRaw = this.checkRaw;
+ this.checkRaw = checkRaw;
+ this.isOuter = isOuter;
+
+ try {
tree.accept(this);
if (checkRaw)
checkRaw(tree, env);
+ } catch (CompletionFailure ex) {
+ completionError(tree.pos(), ex);
+ } finally {
+ this.checkRaw = prevCheckRaw;
}
- } catch (CompletionFailure ex) {
- completionError(tree.pos(), ex);
}
}