aboutsummaryrefslogtreecommitdiffstats
path: root/tests/features190/efficientTJP/ThreeA.java
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2018-02-28 11:53:14 -0800
committerAndy Clement <aclement@pivotal.io>2018-03-09 17:18:45 -0800
commit7d47cba01043c93bab95b59e66b727580351e85f (patch)
tree07a7fed0235f2d0e3b9221ebf097e5c24d16aaf0 /tests/features190/efficientTJP/ThreeA.java
parent6b620ba3aa4b0c9d29560dfa42f8c67dcafb1229 (diff)
downloadaspectj-7d47cba01043c93bab95b59e66b727580351e85f.tar.gz
aspectj-7d47cba01043c93bab95b59e66b727580351e85f.zip
Bug#531694: generate more optional thisJoinPoint construction code
This commit introduces some new methods into the runtime Factory class and modifies code generation to use them (and to use the form of the LDC bytecode that loads class constants).
Diffstat (limited to 'tests/features190/efficientTJP/ThreeA.java')
-rw-r--r--tests/features190/efficientTJP/ThreeA.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/features190/efficientTJP/ThreeA.java b/tests/features190/efficientTJP/ThreeA.java
new file mode 100644
index 000000000..e3ffac941
--- /dev/null
+++ b/tests/features190/efficientTJP/ThreeA.java
@@ -0,0 +1,19 @@
+public class ThreeA {
+ public static void main(String []argv) {
+ System.out.println("ThreeA running");
+ new ThreeA();
+ new ThreeA("abc");
+ new ThreeA(1,"abc");
+ }
+
+ ThreeA() {}
+ ThreeA(String s) {}
+ ThreeA(int i, String s) {}
+}
+
+aspect X {
+ void around(): execution(new(..)) && !within(X) {
+ System.out.println(thisEnclosingJoinPointStaticPart.getSignature());
+ proceed();
+ }
+}