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