From d8fa2e2f2706279779f3818b2af9825396f5e574 Mon Sep 17 00:00:00 2001 From: aclement Date: Thu, 5 Aug 2004 09:24:52 +0000 Subject: Tests for Bugzilla Bug 71273 - RuntimeException thrown: Could not find instruction: org.apache.bcel.generic.B2I Bugzilla Bug 67591 - invalid warning indicating no match when a match really occurs --- tests/bugs/NoByteToInt.java | 103 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 tests/bugs/NoByteToInt.java (limited to 'tests/bugs/NoByteToInt.java') diff --git a/tests/bugs/NoByteToInt.java b/tests/bugs/NoByteToInt.java new file mode 100644 index 000000000..b60faf9d5 --- /dev/null +++ b/tests/bugs/NoByteToInt.java @@ -0,0 +1,103 @@ +// +// class NoByteToInt { +// +// static final byte DEFAULT_MODE = 0; +// static final byte RECORDING = 2; +// +// static byte mode = DEFAULT_MODE; +// +// public static void main (String[] args) { +// mode = RECORDING; +// } +// +//} +// +// privileged aspect LoggingControl { +// +// /* ERROR */ +// pointcut startRecording1 (int newMode) : +// set(byte NoByteToInt.mode) && args(newMode) && if(newMode != 5); +// +// after () returning : startRecording1 (*) { +// +// } +// +//// /* OK */ +//// pointcut startRecording2 (byte newMode) : +//// set(byte NoByteToInt.mode) && args(newMode) && if(newMode == +////NoByteToInt.RECORDING); +//// +//// after () returning : startRecording2 (*) { +//// +//// } +// +// /* OK */ +// pointcut startRecording3 (int newMode) : +// set(byte NoByteToInt.mode) && args(newMode); +// +// after (int newMode) returning : startRecording3 (newMode) { +// if (newMode == NoByteToInt.RECORDING) { +// +// } +// } +//} +// +public class NoByteToInt { + + static byte mode; + + public static void main (String[] args) { + setByte(); + setChar(); + setShort(); + } + + public static void setByte() { + mode = 0; + mode = 2; + mode = 127; + } + + static char c; + + public static void setChar() { + c = 'A'; + c = 'B'; + c = 'C'; + } + + static short s; + + public static void setShort() { + s = 1; + s = 32767; + } + +} + + privileged aspect LoggingControl { + + /* ERROR */ + pointcut startRecording1 (int newMode) : + set(byte NoByteToInt.mode) && args(newMode) && if(newMode!=3); + + after (int n) returning : startRecording1 (n) { + System.err.println("[b"+n+"]"); + } + + pointcut startRecording2 (int newMode) : + set(char NoByteToInt.c) && args(newMode) && if(newMode!=3); + + after (int n) returning : startRecording2 (n) { + System.err.println("[c"+n+"]"); + } + + pointcut startRecording3 (int newMode) : + set(short NoByteToInt.s) && args(newMode) && if(newMode!=3); + + after (int n) returning : startRecording3 (n) { + System.err.println("[s"+n+"]"); + } + + +} \ No newline at end of file -- cgit v1.2.3