more work on the tricky Context hack to make 'ant compile' not emit warnings.

This commit is contained in:
Reinier Zwitserloot committed 2013-07-07 22:05:41 +02:00
1 parent 91bfd390e0
commit 4923506d73
2 files changed
+13 -4

No files matched your search

@@ -49,15 +49,21 @@ public class CommentCollectingScannerFactory extends Scanner.Factory {
// * Leave the return types as 'j.l.Object'.
// * Leave both make methods intact; deleting one has no effect on javac6- / javac7+, but breaks the other. Hard to test for.
// * Do not stub com.sun.tools.javac.util.Context or any of its inner types, like Factory.
context.put(scannerFactoryKey, new Context.Factory() {
@SuppressWarnings("all")
class MyFactory implements Context.Factory {
// This overrides the javac6- version of make.
public Object make() {
return new CommentCollectingScannerFactory(context);
}
// This overrides the javac7+ version of make.
public Object make(Context c) {
return new CommentCollectingScannerFactory(c);
}
});
}
@SuppressWarnings("unchecked") Context.Factory<Scanner.Factory> factory = new MyFactory();
context.put(scannerFactoryKey, factory);
}
}
@@ -50,7 +50,8 @@ public class CommentCollectingScannerFactory extends ScannerFactory {
// * Leave the return types as 'j.l.Object'.
// * Leave both make methods intact; deleting one has no effect on javac6- / javac7+, but breaks the other. Hard to test for.
// * Do not stub com.sun.tools.javac.util.Context or any of its inner types, like Factory.
context.put(scannerFactoryKey, new Context.Factory() {
@SuppressWarnings("all")
class MyFactory implements Context.Factory {
// This overrides the javac6- version of make.
public Object make() {
return new CommentCollectingScannerFactory(context);
@@ -60,7 +61,9 @@ public class CommentCollectingScannerFactory extends ScannerFactory {
public Object make(Context c) {
return new CommentCollectingScannerFactory(c);
}
});
}
@SuppressWarnings("unchecked") Context.Factory<ScannerFactory> factory = new MyFactory();
context.put(scannerFactoryKey, factory);
}
}