- support reading @XByDefault from .class
- one more trigger to evaluate null annotations of a source type
- fix configurability of @XByDefault annotations

diff --git a/testplugins/org.eclipse.objectteams.jdt.nullity.tests/src/org/eclipse/objectteams/jdt/nullity/tests/NullAnnotationTest.java b/testplugins/org.eclipse.objectteams.jdt.nullity.tests/src/org/eclipse/objectteams/jdt/nullity/tests/NullAnnotationTest.java
index aea14d2..cce3826 100644
--- a/testplugins/org.eclipse.objectteams.jdt.nullity.tests/src/org/eclipse/objectteams/jdt/nullity/tests/NullAnnotationTest.java
+++ b/testplugins/org.eclipse.objectteams.jdt.nullity.tests/src/org/eclipse/objectteams/jdt/nullity/tests/NullAnnotationTest.java
@@ -29,7 +29,7 @@
 // Static initializer to specify tests subset using TESTS_* static variables
 // All specified tests which do not belong to the class are skipped...
 static {
-		TESTS_NAMES = new String[] { "test_default_nullness_003a" };
+//		TESTS_NAMES = new String[] { "test_default_nullness_003a" };
 //		TESTS_NUMBERS = new int[] { 561 };
 //		TESTS_RANGE = new int[] { 1, 2049 };
 }
@@ -1163,14 +1163,15 @@
 			"        return new Object();\n" +
 			"    }\n" +
 			"	 protected void bar(Object o2) { }\n" + // parameter is nonnull per type default
-			"}\n"});
+			"}\n",
+	"p2/package-info.java",
+			"@org.eclipse.jdt.annotation.NonNullByDefault\n" +
+			"package p2;\n",
+			});
 	// check if default is visible from X.class.
 	runNegativeTest(
 		false/*shouldFlushOutputDirectory*/,
 		new String[] {
-	"p2/package-info.java",
-			"@org.eclipse.jdt.annotation.NonNullByDefault\n" +
-			"package p2;\n",
 	"p2/Y.java",
 			"package p2;\n" +
 			"import org.eclipse.jdt.annotation.*;\n" +
@@ -1178,8 +1179,10 @@
 			"    @Override\n" +
 			"    protected @Nullable Object getObject(Object o) {\n" + // can't override inherited default nonnull 
 			"        bar(o);\n" + // parameter is nonnull in super class's .class file
+			"        accept(o);\n" + // check conflict of nullable o (inherited) and nonnull a (package default)
 			"        return o;\n" +
 			"    }\n" +
+			"    void accept(Object a) {}\n" + // governed by package level default
 			"}\n"
 		},
 		null/*classLibs*/,
@@ -1194,6 +1197,11 @@
 		"	bar(o);\n" + 
 		"	    ^\n" + 
 		"Null contract violation: potentially passing null to a parameter declared as @NonNull\n" + 
+		"----------\n" + 
+		"3. ERROR in p2\\Y.java (at line 7)\n" + 
+		"	accept(o);\n" + 
+		"	       ^\n" + 
+		"Null contract violation: potentially passing null to a parameter declared as @NonNull\n" + 
 		"----------\n",
 		JavacTestOptions.Excuse.EclipseWarningConfiguredAsError);
 }