diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dist/doc/README-193.html | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/docs/dist/doc/README-193.html b/docs/dist/doc/README-193.html index 6bcf89e75..f9cc4d0cf 100644 --- a/docs/dist/doc/README-193.html +++ b/docs/dist/doc/README-193.html @@ -20,6 +20,72 @@ All rights reserved. <p>The full list of resolved issues in 1.9.3 is available <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&f0=OP&f1=OP&f3=CP&f4=CP&j1=OR&list_id=16866879&product=AspectJ&query_format=advanced&target_milestone=1.9.3">here</a></h2>.</p> +<p>AspectJ 1.9.3 supports Java12. Java12 introduces the new switch expression syntax, but you must activate support for that via +an <tt>--enable-preview</tt> flag when using the compiler and attempting to run the resultant classes: + +Here is <tt>Switch3.java</tt>: +<pre><code> +=========8<========= +public class Switch3 { + public static void main(String[] argv) { + System.out.println(one(Color.R)); + System.out.println(one(Color.G)); + System.out.println(one(Color.B)); + System.out.println(one(Color.Y)); + } + + public static int one(Color color) { + int result = switch(color) { + case R -> foo(0); + case G -> foo(1); + case B -> foo(2); + default -> foo(3); + }; + return result; + } + + public static final int foo(int i) { + return i+1; + } +} + +enum Color { + R, G, B, Y; +} + +aspect X { + int around(): call(* foo(..)) { + return proceed()*3; + } +} +=========8<========= +</code></pre> + +Compile it with: +<pre><code> +$ ajc --enable-preview -showWeaveInfo -12 Switch3.java + +Join point 'method-call(int Switch3.foo(int))' in Type 'Switch3' (Switch3.java:12) advised by around advice from 'X' (Switch3.java:30) + +Join point 'method-call(int Switch3.foo(int))' in Type 'Switch3' (Switch3.java:13) advised by around advice from 'X' (Switch3.java:30) + +Join point 'method-call(int Switch3.foo(int))' in Type 'Switch3' (Switch3.java:14) advised by around advice from 'X' (Switch3.java:30) + +Join point 'method-call(int Switch3.foo(int))' in Type 'Switch3' (Switch3.java:15) advised by around advice from 'X' (Switch3.java:30) + +</code></pre> + +Now run it: +<pre><code> +$ java --enable-preview Switch3 +3 +6 +9 +12 +</code></pre> + + + <p>Available: 1.9.3.RC1 available 7-Mar-2019</p> <br><br> |