From 2d1d2fde7ef8571c918df5fd11b8ed1271256d88 Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 27 Jan 2009 18:54:13 +0000 Subject: [PATCH] 262509: test and fix --- tests/bugs164/pr262509/Foo.java | 20 ++++++++++++++++++++ tests/bugs164/pr262509/Foo2.java | 26 ++++++++++++++++++++++++++ tests/bugs164/pr262509/Foo3.java | 25 +++++++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 tests/bugs164/pr262509/Foo.java create mode 100644 tests/bugs164/pr262509/Foo2.java create mode 100644 tests/bugs164/pr262509/Foo3.java diff --git a/tests/bugs164/pr262509/Foo.java b/tests/bugs164/pr262509/Foo.java new file mode 100644 index 000000000..053f15356 --- /dev/null +++ b/tests/bugs164/pr262509/Foo.java @@ -0,0 +1,20 @@ + +public class Foo { + int i=3; + + // Need local variable table for this code to be OK and not lose the fact that this/etc are setup from + // instruction 0 to the end of the method + void foo(Bar bar) { + i = 33; + + } + public static void main(String[] args) { + new Foo().foo(null); + } +} + +class Bar {} + +aspect FooAspect { + before(): execution(* *(..)) {} +} diff --git a/tests/bugs164/pr262509/Foo2.java b/tests/bugs164/pr262509/Foo2.java new file mode 100644 index 000000000..552afa468 --- /dev/null +++ b/tests/bugs164/pr262509/Foo2.java @@ -0,0 +1,26 @@ + +public class Foo2 { + int i=3; + + // Need local variable table for this code to be OK and not lose the fact that this/etc are setup from + // instruction 0 to the end of the method + void foo(Bar bar) { + i = 33; + String s = "hello"; + try { + String s2 = "hello2"; + System.out.println(s2); + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void main(String[] args) { + new Foo2().foo(null); + } +} + +class Bar {} + +aspect FooAspect { + before(): execution(* *(..)) {} +} diff --git a/tests/bugs164/pr262509/Foo3.java b/tests/bugs164/pr262509/Foo3.java new file mode 100644 index 000000000..017d3862f --- /dev/null +++ b/tests/bugs164/pr262509/Foo3.java @@ -0,0 +1,25 @@ + +public class Foo3 { + int i=3; + + // Need local variable table for this code to be OK and not lose the fact that this/etc are setup from + // instruction 0 to the end of the method + void foo(Bar bar) { + i = 33; + try { +System.out.println("x"); + } catch (Exception e) { + e.printStackTrace(); + } + } + public static void main(String[] args) { + new Foo3().foo(null); + } +} + +class Bar {} + +aspect FooAspect { + before(): execution(* *(..)) {} + before(): execution(* *(..)) {} +} -- 2.39.5