aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs1810/500035/Code.java
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2016-11-18 09:00:28 -0800
committerAndy Clement <aclement@pivotal.io>2016-11-18 09:00:28 -0800
commitb6f2b6337fbaf95b78c20862cd90f0e027509531 (patch)
treeda38bdf8ab392b0e6f49da7a676a75f885fe9b85 /tests/bugs1810/500035/Code.java
parente8be95bbfd291f93319d1a1e9920e44cd7eb7569 (diff)
downloadaspectj-b6f2b6337fbaf95b78c20862cd90f0e027509531.tar.gz
aspectj-b6f2b6337fbaf95b78c20862cd90f0e027509531.zip
Fix 500035: handling target only binding in @AJ pointcut
Diffstat (limited to 'tests/bugs1810/500035/Code.java')
-rw-r--r--tests/bugs1810/500035/Code.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/bugs1810/500035/Code.java b/tests/bugs1810/500035/Code.java
new file mode 100644
index 000000000..58e738da4
--- /dev/null
+++ b/tests/bugs1810/500035/Code.java
@@ -0,0 +1,30 @@
+import org.aspectj.lang.annotation.*;
+import org.aspectj.lang.*;
+
+@Aspect
+public class Code {
+
+ @Around(value = "args(regex, replacement) && target(targetObject) " +
+ "&& call(public String String.replaceFirst(String, String)) "
+//, argNames = "proceedingJoinPoint,targetObject,regex,replacement,thisJoinPoint"
+)
+ public String replaceFirstAspect(ProceedingJoinPoint proceedingJoinPoint, String targetObject, String regex, String replacement) throws Throwable {
+System.out.println("targetObject = "+targetObject);
+System.out.println("regex = "+regex);
+System.out.println("replacement = "+replacement);
+ String returnObject = (String) proceedingJoinPoint.proceed(new Object[]{ targetObject, regex, replacement});
+ return returnObject;
+ }
+
+
+ public static void main(String []argv) {
+ new Code().run();
+ }
+
+ public void run() {
+ String s = "hello";
+ s = s.replaceFirst("l","7");
+ System.out.println(s);
+ }
+
+}