AspectJ 1.9.6 Readme

© Copyright 2020 Contributors. All rights reserved.

# AspectJ 1.9.6

The full list of resolved issues in 1.9.6 is available here.

AspectJ 1.9.6 supports Java14. Java14 introduces records, but you must activate support for that via an `--enable-preview` flag when using the compiler and attempting to run the resultant classes: Here is `Code.java`:

    =======8<=========
    public record Person(String firstName, String lastName, int age) {}
    =======8<=========

    =======8<=========
    public class UsingPersonRecord {
      public static void main(String[] argv) {
        Person p = new Person("A","B",99);
        System.out.println(p);
        System.out.println(p.firstName());
      }
    }
    =======8<=========

    =======8<=========
    public aspect TraceRecordComponents {
      before(): execution(public * *()) {
        System.out.println(thisJoinPointStaticPart);
      }
    }
    =======8<=========

Compile it with:

    $ ajc --enable-preview -14 Person.java UsingPersonRecord.java TraceRecordComponents.java

Now run it:

    $ java --enable-preview UsingPersonRecord
    execution(String Person.toString())
    Person[firstName=A, lastName=B, age=99]
    execution(String Person.firstName())
    A

Available: 1.9.6 available 22-Jul-2020