aboutsummaryrefslogtreecommitdiffstats
path: root/docs/dist/doc/README-193.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dist/doc/README-193.html')
-rw-r--r--docs/dist/doc/README-193.html66
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>