test/tools/javac/failover/CheckAttributedTree.java

changeset 1521
71f35e4b93a5
parent 1520
5c956be64b9e
child 2525
2eb010b6cb22
     1.1 --- a/test/tools/javac/failover/CheckAttributedTree.java	Wed Jan 23 20:57:40 2013 +0000
     1.2 +++ b/test/tools/javac/failover/CheckAttributedTree.java	Wed Jan 23 13:27:24 2013 -0800
     1.3 @@ -362,11 +362,18 @@
     1.4              }
     1.5  
     1.6              Info self = new Info(tree, endPosTable);
     1.7 -            check(!mandatoryType(tree) ||
     1.8 -                    (tree.type != null &&
     1.9 -                    checkFields(tree)),
    1.10 -                    "'null' found in tree ",
    1.11 -                    self);
    1.12 +            if (mandatoryType(tree)) {
    1.13 +                check(tree.type != null,
    1.14 +                        "'null' field 'type' found in tree ", self);
    1.15 +                if (tree.type==null)
    1.16 +                    new Throwable().printStackTrace();
    1.17 +            }
    1.18 +
    1.19 +            Field errField = checkFields(tree);
    1.20 +            if (errField!=null) {
    1.21 +                check(false,
    1.22 +                        "'null' field '" + errField.getName() + "' found in tree ", self);
    1.23 +            }
    1.24  
    1.25              Info prevEncl = encl;
    1.26              encl = self;
    1.27 @@ -395,7 +402,7 @@
    1.28              }
    1.29          }
    1.30  
    1.31 -        boolean checkFields(JCTree t) {
    1.32 +        Field checkFields(JCTree t) {
    1.33              List<Field> fieldsToCheck = treeUtil.getFieldsOfType(t,
    1.34                      excludedFields,
    1.35                      Symbol.class,
    1.36 @@ -403,7 +410,7 @@
    1.37              for (Field f : fieldsToCheck) {
    1.38                  try {
    1.39                      if (f.get(t) == null) {
    1.40 -                        return false;
    1.41 +                        return f;
    1.42                      }
    1.43                  }
    1.44                  catch (IllegalAccessException e) {
    1.45 @@ -411,7 +418,7 @@
    1.46                      //swallow it
    1.47                  }
    1.48              }
    1.49 -            return true;
    1.50 +            return null;
    1.51          }
    1.52  
    1.53          @Override

mercurial