RFR(s): JDK-8205455: jdeprscan issues annotation processor warning regarding RELEASE_10
Stuart Marks
stuart.marks at oracle.com
Tue Jun 26 00:04:52 UTC 2018
Hi Jon,
Good point. It seems fairly unlikely for jdeprscan to be outright broken by a
model change, given that jdeprscan uses annotation processing for class
scanning, not source code analysis.
I've posted an updated webrev here:
http://cr.openjdk.java.net/~smarks/reviews/8205455/webrev.1/
(previous patch posted as webrev.0 for completeness)
s'marks
On 6/25/18 3:35 PM, Jonathan Gibbons wrote:
>
> Stuart,
>
> This would be more future-proof if you did not use these lines:
>
>
> - at SupportedSourceVersion(RELEASE_10)
> + at SupportedSourceVersion(RELEASE_11)
>
> but instead provided an override definition like this, taken from
> test/langtools/tools/javac/lib/JavacTestingAbstractProcessor:
>
> /**
> * Return the latest source version. Unless this method is
> * overridden, an {@code IllegalStateException} will be thrown if a
> * subclass has a {@code SupportedSourceVersion} annotation.
> */
> @Override
> public SourceVersion getSupportedSourceVersion() {
> SupportedSourceVersion ssv =
> this.getClass().getAnnotation(SupportedSourceVersion.class);
> if (ssv != null)
> throw new IllegalStateException("SupportedSourceVersion annotation not
> supported here.");
>
> return SourceVersion.latest();
> }
>
> or, more simply
>
> @Override
> public SourceVersion getSupportedSourceVersion() {
> return SourceVersion.latest();
> }
> On 6/25/18 3:28 PM, Stuart Marks wrote:
>> Hi all,
>>
>> Please review this small changeset that updates one of jdeprscan's annotation
>> processors to RELEASE_11 in order to prevent warning messages from being
>> issued. This changeset also includes some additional output lines so that the
>> output of jdeprscan's TestRelease.java test is more readable.
>>
>> Patch appended below.
>>
>> Bug:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8205455
>>
>> Thanks,
>>
>> s'marks
>>
>>
>> # HG changeset patch
>> # User smarks
>> # Date 1529965383 25200
>> # Mon Jun 25 15:23:03 2018 -0700
>> # Node ID c243b75831dc8047173586c145a9086e38ebfd76
>> # Parent b85ca7757c381b7a5fe6ab4ad3a0e981541eff0e
>> 8205455: jdeprscan issues annotation processor warning regarding RELEASE_10
>> Reviewed-by: XXX
>>
>> diff -r b85ca7757c38 -r c243b75831dc
>> src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/TraverseProc.java
>> --- a/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/TraverseProc.java
>> Mon Jun 25 15:02:31 2018 -0700
>> +++ b/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/TraverseProc.java
>> Mon Jun 25 15:23:03 2018 -0700
>> @@ -1,5 +1,5 @@
>> /*
>> - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
>> + * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> *
>> * This code is free software; you can redistribute it and/or modify it
>> @@ -45,14 +45,14 @@
>> import javax.lang.model.element.TypeElement;
>> import javax.lang.model.util.Elements;
>>
>> -import static javax.lang.model.SourceVersion.RELEASE_10;
>> +import static javax.lang.model.SourceVersion.RELEASE_11;
>> import javax.lang.model.element.Element;
>> import javax.lang.model.element.ElementKind;
>> import javax.lang.model.element.Modifier;
>> import javax.lang.model.element.PackageElement;
>> import javax.tools.Diagnostic;
>>
>> - at SupportedSourceVersion(RELEASE_10)
>> + at SupportedSourceVersion(RELEASE_11)
>> @SupportedAnnotationTypes("*")
>> public class TraverseProc extends AbstractProcessor {
>> Elements elements;
>> diff -r b85ca7757c38 -r c243b75831dc
>> test/langtools/tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java
>> --- a/test/langtools/tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java Mon
>> Jun 25 15:02:31 2018 -0700
>> +++ b/test/langtools/tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java Mon
>> Jun 25 15:23:03 2018 -0700
>> @@ -44,7 +44,10 @@
>>
>> public class TestRelease {
>> static boolean invoke(String arg) {
>> - return Main.call(System.out, System.err, "--list", "--release", arg);
>> + System.err.println(">>> invoking Main.call with arguments: --list
>> --release " + arg);
>> + boolean r = Main.call(System.out, System.err, "--list", "--release",
>> arg);
>> + System.err.println(">>> Main.call returned " + r);
>> + return r;
>> }
>>
>> @Test
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20180625/c1423a00/attachment.html>
More information about the compiler-dev
mailing list