[jboss-cvs] JBossAS SVN: r59962 - in projects/aop/trunk/aop: src/main/org/jboss/aop/pointcut/ast and 10 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jan 23 18:51:26 EST 2007
Author: kabir.khan at jboss.com
Date: 2007-01-23 18:51:25 -0500 (Tue, 23 Jan 2007)
New Revision: 59962
Added:
projects/aop/trunk/aop/src/resources/test/packagedotdot/
projects/aop/trunk/aop/src/resources/test/packagedotdot/jboss-aop.xml
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/AllInterceptor.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/ConstructionInterceptor.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/NotConstructionInterceptor.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOA.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOB.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/PackageTestCase.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/all/
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/all/All.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/callee/
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/callee/Callee.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/caller/
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/caller/Caller.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/POJO.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/nested/
projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/nested/Nested.java
Modified:
projects/aop/trunk/aop/base-tests.xml
projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/ClassExpression.java
projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParser.java
projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserConstants.java
projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java
projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt
projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java
Log:
[JBAOP-276] Only match classes within a given package
Modified: projects/aop/trunk/aop/base-tests.xml
===================================================================
--- projects/aop/trunk/aop/base-tests.xml 2007-01-23 22:49:58 UTC (rev 59961)
+++ projects/aop/trunk/aop/base-tests.xml 2007-01-23 23:51:25 UTC (rev 59962)
@@ -2,6 +2,9 @@
<target name="_base-tests">
<antcall target="${test-target}" inheritRefs="true">
+ <param name="test" value="packagedotdot"/>
+ </antcall>
+ <antcall target="${test-target}" inheritRefs="true">
<param name="test" value="serialization/simple"/>
</antcall>
<antcall target="${test-target}" inheritRefs="true">
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/ClassExpression.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/ClassExpression.java 2007-01-23 22:49:58 UTC (rev 59961)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/ClassExpression.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -37,6 +37,7 @@
private boolean isAnnotation = false;
private boolean isInstanceOf = false;
private boolean isTypedef = false;
+ private boolean isPackage = false;
private boolean isInstanceOfAnnotated = false;
@@ -61,6 +62,11 @@
isTypedef = true;
expr = expr.substring(9, expr.lastIndexOf("}"));
}
+ else if (expr.endsWith(".."))
+ {
+ isPackage = true;
+ expr = expr.substring(0, expr.lastIndexOf(".."));
+ }
if (!isAnnotation)
{
@@ -80,12 +86,26 @@
return !(isAnnotation || isInstanceOf || isTypedef || isInstanceOfAnnotated);
}
-
public boolean matches(String classname)
{
if (isAnnotation) return false;
- Matcher m = classPattern.matcher(classname);
- return m.matches();
+ if (isPackage())
+ {
+ int index = classname.lastIndexOf(".");
+ boolean matches = classPattern.toString().equals(".*");
+ if (!matches && index != -1)
+ {
+ String candidate = classname.substring(0, index);
+ java.util.regex.Matcher m = classPattern.matcher(candidate);
+ matches = m.matches();
+ }
+ return matches;
+ }
+ else
+ {
+ Matcher m = classPattern.matcher(classname);
+ return m.matches();
+ }
}
public boolean matchesAnnotation(String annotation)
@@ -99,6 +119,11 @@
{
return this.isAnnotation;
}
+
+ public boolean isPackage()
+ {
+ return this.isPackage;
+ }
public boolean isInstanceOf()
{
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParser.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParser.java 2007-01-23 22:49:58 UTC (rev 59961)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParser.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -155,9 +155,9 @@
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
- jj_consume_token(86);
+ jj_consume_token(88);
SubExpression();
- jj_consume_token(87);
+ jj_consume_token(89);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
@@ -464,9 +464,9 @@
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
- jj_consume_token(86);
+ jj_consume_token(88);
SubCFlow();
- jj_consume_token(87);
+ jj_consume_token(89);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
@@ -699,6 +699,9 @@
case FIELD_CLASS:
pointcut = jj_consume_token(FIELD_CLASS);
break;
+ case FIELD_PACKAGE:
+ pointcut = jj_consume_token(FIELD_PACKAGE);
+ break;
case FIELD_IDENTIFIER:
pointcut = jj_consume_token(FIELD_IDENTIFIER);
break;
@@ -773,6 +776,9 @@
case FIELD_CLASS:
clazz = jj_consume_token(FIELD_CLASS);
break;
+ case FIELD_PACKAGE:
+ clazz = jj_consume_token(FIELD_PACKAGE);
+ break;
case FIELD_IDENTIFIER:
clazz = jj_consume_token(FIELD_IDENTIFIER);
break;
@@ -1116,6 +1122,9 @@
case CLASS:
clazz = jj_consume_token(CLASS);
break;
+ case PACKAGE:
+ clazz = jj_consume_token(PACKAGE);
+ break;
case IDENTIFIER:
clazz = jj_consume_token(IDENTIFIER);
break;
@@ -1333,6 +1342,9 @@
case CLASS:
clazz = jj_consume_token(CLASS);
break;
+ case PACKAGE:
+ clazz = jj_consume_token(PACKAGE);
+ break;
case IDENTIFIER:
clazz = jj_consume_token(IDENTIFIER);
break;
@@ -1578,6 +1590,9 @@
case FIELD_CLASS:
clazz = jj_consume_token(FIELD_CLASS);
break;
+ case FIELD_PACKAGE:
+ clazz = jj_consume_token(FIELD_PACKAGE);
+ break;
case FIELD_IDENTIFIER:
clazz = jj_consume_token(FIELD_IDENTIFIER);
break;
@@ -2026,21 +2041,6 @@
finally { jj_save(46, xla); }
}
- final private boolean jj_3_45() {
- if (jj_3R_30()) return true;
- return false;
- }
-
- final private boolean jj_3_30() {
- if (jj_3R_21()) return true;
- return false;
- }
-
- final private boolean jj_3R_37() {
- if (jj_3R_46()) return true;
- return false;
- }
-
final private boolean jj_3R_29() {
Token xsp;
while (true) {
@@ -2050,12 +2050,12 @@
xsp = jj_scanpos;
if (jj_scan_token(49)) {
jj_scanpos = xsp;
- if (jj_scan_token(55)) {
+ if (jj_scan_token(56)) {
jj_scanpos = xsp;
+ if (jj_scan_token(53)) {
+ jj_scanpos = xsp;
if (jj_scan_token(52)) {
jj_scanpos = xsp;
- if (jj_scan_token(51)) {
- jj_scanpos = xsp;
if (jj_scan_token(47)) {
jj_scanpos = xsp;
if (jj_scan_token(48)) return true;
@@ -2067,10 +2067,12 @@
xsp = jj_scanpos;
if (jj_scan_token(49)) {
jj_scanpos = xsp;
- if (jj_scan_token(55)) {
+ if (jj_scan_token(50)) {
jj_scanpos = xsp;
- if (jj_scan_token(52)) {
+ if (jj_scan_token(56)) {
jj_scanpos = xsp;
+ if (jj_scan_token(53)) {
+ jj_scanpos = xsp;
if (jj_scan_token(47)) {
jj_scanpos = xsp;
if (jj_scan_token(48)) return true;
@@ -2078,15 +2080,16 @@
}
}
}
+ }
if (jj_scan_token(SEPARATOR)) return true;
xsp = jj_scanpos;
- if (jj_scan_token(55)) {
+ if (jj_scan_token(56)) {
jj_scanpos = xsp;
- if (jj_scan_token(52)) {
- jj_scanpos = xsp;
if (jj_scan_token(53)) {
jj_scanpos = xsp;
- if (jj_scan_token(54)) return true;
+ if (jj_scan_token(54)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(55)) return true;
}
}
}
@@ -2220,19 +2223,22 @@
if (jj_scan_token(WITHIN)) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_scan_token(76)) {
+ if (jj_scan_token(77)) {
jj_scanpos = xsp;
- if (jj_scan_token(79)) {
- jj_scanpos = xsp;
if (jj_scan_token(78)) {
jj_scanpos = xsp;
- if (jj_scan_token(74)) {
+ if (jj_scan_token(81)) {
jj_scanpos = xsp;
- if (jj_scan_token(75)) return true;
+ if (jj_scan_token(80)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(75)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(76)) return true;
}
}
}
}
+ }
if (jj_scan_token(FIELD_CLOSE)) return true;
return false;
}
@@ -2303,19 +2309,22 @@
if (jj_scan_token(ALL)) return true;
Token xsp;
xsp = jj_scanpos;
- if (jj_scan_token(76)) {
+ if (jj_scan_token(77)) {
jj_scanpos = xsp;
- if (jj_scan_token(79)) {
- jj_scanpos = xsp;
if (jj_scan_token(78)) {
jj_scanpos = xsp;
- if (jj_scan_token(74)) {
+ if (jj_scan_token(81)) {
jj_scanpos = xsp;
- if (jj_scan_token(75)) return true;
+ if (jj_scan_token(80)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(75)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(76)) return true;
}
}
}
}
+ }
if (jj_scan_token(FIELD_CLOSE)) return true;
return false;
}
@@ -2496,7 +2505,7 @@
}
final private boolean jj_3R_16() {
- if (jj_scan_token(86)) return true;
+ if (jj_scan_token(88)) return true;
if (jj_3R_35()) return true;
return false;
}
@@ -2620,9 +2629,9 @@
}
final private boolean jj_3R_10() {
- if (jj_scan_token(86)) return true;
+ if (jj_scan_token(88)) return true;
if (jj_3R_9()) return true;
- if (jj_scan_token(87)) return true;
+ if (jj_scan_token(89)) return true;
return false;
}
@@ -2762,41 +2771,44 @@
if (jj_3R_45()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
- if (jj_scan_token(76)) {
+ if (jj_scan_token(77)) {
jj_scanpos = xsp;
- if (jj_scan_token(79)) {
+ if (jj_scan_token(81)) {
jj_scanpos = xsp;
- if (jj_scan_token(78)) {
+ if (jj_scan_token(80)) {
jj_scanpos = xsp;
- if (jj_scan_token(77)) {
+ if (jj_scan_token(79)) {
jj_scanpos = xsp;
- if (jj_scan_token(74)) {
+ if (jj_scan_token(75)) {
jj_scanpos = xsp;
- if (jj_scan_token(75)) return true;
+ if (jj_scan_token(76)) return true;
}
}
}
}
}
xsp = jj_scanpos;
- if (jj_scan_token(76)) {
+ if (jj_scan_token(77)) {
jj_scanpos = xsp;
- if (jj_scan_token(79)) {
- jj_scanpos = xsp;
if (jj_scan_token(78)) {
jj_scanpos = xsp;
- if (jj_scan_token(74)) {
+ if (jj_scan_token(81)) {
jj_scanpos = xsp;
- if (jj_scan_token(75)) return true;
+ if (jj_scan_token(80)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(75)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(76)) return true;
}
}
}
}
+ }
if (jj_scan_token(FIELD_SEPARATOR)) return true;
xsp = jj_scanpos;
- if (jj_scan_token(79)) {
+ if (jj_scan_token(81)) {
jj_scanpos = xsp;
- if (jj_scan_token(78)) return true;
+ if (jj_scan_token(80)) return true;
}
return false;
}
@@ -2895,10 +2907,12 @@
xsp = jj_scanpos;
if (jj_scan_token(49)) {
jj_scanpos = xsp;
- if (jj_scan_token(55)) {
+ if (jj_scan_token(50)) {
jj_scanpos = xsp;
- if (jj_scan_token(52)) {
+ if (jj_scan_token(56)) {
jj_scanpos = xsp;
+ if (jj_scan_token(53)) {
+ jj_scanpos = xsp;
if (jj_scan_token(47)) {
jj_scanpos = xsp;
if (jj_scan_token(48)) return true;
@@ -2906,11 +2920,12 @@
}
}
}
+ }
if (jj_scan_token(SEPARATOR)) return true;
xsp = jj_scanpos;
if (jj_scan_token(45)) {
jj_scanpos = xsp;
- if (jj_scan_token(52)) return true;
+ if (jj_scan_token(53)) return true;
}
if (jj_3R_39()) return true;
if (jj_3R_74()) return true;
@@ -2973,7 +2988,7 @@
xsp = jj_scanpos;
if (jj_scan_token(49)) {
jj_scanpos = xsp;
- if (jj_scan_token(55)) return true;
+ if (jj_scan_token(56)) return true;
}
return false;
}
@@ -3006,6 +3021,21 @@
return false;
}
+ final private boolean jj_3_45() {
+ if (jj_3R_30()) return true;
+ return false;
+ }
+
+ final private boolean jj_3_30() {
+ if (jj_3R_21()) return true;
+ return false;
+ }
+
+ final private boolean jj_3R_37() {
+ if (jj_3R_46()) return true;
+ return false;
+ }
+
public PointcutExpressionParserTokenManager token_source;
SimpleCharStream jj_input_stream;
public Token token, jj_nt;
@@ -3028,10 +3058,10 @@
jj_la1_0 = new int[] {0x11ffe0,0x18,0x18,0x18,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,0x3f800000,0x3f800000,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10001fe0,0x9b8000,0x938000,0xf00000,0x40000,0x4000,0x820000,0x10000000,0x1fe0,0x380,0x938000,0x102000,0x380,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20001fe0,0x1338000,0x1278000,0x1e00000,0x80000,0x4000,0x1020000,0x20000000,0x1fe0,0x380,0x1278000,0x202000,0x380,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_2() {
- jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0xdc00,0xdc00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000fc,0xfc00,0xdc00,0xc000,0x100000,0xfc,};
+ jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x37800,0x37800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4001f8,0x3b800,0x37800,0x30000,0x400000,0x1f8,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[47];
private boolean jj_rescan = false;
@@ -3205,8 +3235,8 @@
public ParseException generateParseException() {
jj_expentries.removeAllElements();
- boolean[] la1tokens = new boolean[88];
- for (int i = 0; i < 88; i++) {
+ boolean[] la1tokens = new boolean[90];
+ for (int i = 0; i < 90; i++) {
la1tokens[i] = false;
}
if (jj_kind >= 0) {
@@ -3228,7 +3258,7 @@
}
}
}
- for (int i = 0; i < 88; i++) {
+ for (int i = 0; i < 90; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserConstants.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserConstants.java 2007-01-23 22:49:58 UTC (rev 59961)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserConstants.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -47,40 +47,42 @@
int INSTANCEOF = 47;
int TYPEDEF = 48;
int CLASS = 49;
- int EXCEPTION_SEPERATOR = 50;
- int ARRAY_CLASS = 51;
- int ANNOTATION = 52;
- int IMPLEMENTS = 53;
- int IMPLEMENTING = 54;
- int IDENTIFIER = 55;
- int WILD_LETTER = 56;
- int DOT = 57;
- int ARRAY = 58;
- int SEPARATOR = 59;
- int BEHAVIOR_NOT = 60;
- int PARAMS_OPEN = 61;
- int BEHAVIOR_CLOSE = 62;
- int FIELD_ABSTRACT = 65;
- int FIELD_FINAL = 66;
- int FIELD_PRIVATE = 67;
- int FIELD_PROTECTED = 68;
- int FIELD_PUBLIC = 69;
- int FIELD_STATIC = 70;
- int FIELD_TRANSIENT = 71;
- int FIELD_NATIVE = 72;
- int FIELD_SYNCHRONIZED = 73;
- int FIELD_INSTANCEOF = 74;
- int FIELD_TYPEDEF = 75;
- int FIELD_CLASS = 76;
- int FIELD_ARRAY_CLASS = 77;
- int FIELD_ANNOTATION = 78;
- int FIELD_IDENTIFIER = 79;
- int FIELD_WILD_LETTER = 80;
- int FIELD_DOT = 81;
- int FIELD_ARRAY = 82;
- int FIELD_SEPARATOR = 83;
- int FIELD_NOT = 84;
- int FIELD_CLOSE = 85;
+ int PACKAGE = 50;
+ int EXCEPTION_SEPERATOR = 51;
+ int ARRAY_CLASS = 52;
+ int ANNOTATION = 53;
+ int IMPLEMENTS = 54;
+ int IMPLEMENTING = 55;
+ int IDENTIFIER = 56;
+ int WILD_LETTER = 57;
+ int DOT = 58;
+ int ARRAY = 59;
+ int SEPARATOR = 60;
+ int BEHAVIOR_NOT = 61;
+ int PARAMS_OPEN = 62;
+ int BEHAVIOR_CLOSE = 63;
+ int FIELD_ABSTRACT = 66;
+ int FIELD_FINAL = 67;
+ int FIELD_PRIVATE = 68;
+ int FIELD_PROTECTED = 69;
+ int FIELD_PUBLIC = 70;
+ int FIELD_STATIC = 71;
+ int FIELD_TRANSIENT = 72;
+ int FIELD_NATIVE = 73;
+ int FIELD_SYNCHRONIZED = 74;
+ int FIELD_INSTANCEOF = 75;
+ int FIELD_TYPEDEF = 76;
+ int FIELD_CLASS = 77;
+ int FIELD_PACKAGE = 78;
+ int FIELD_ARRAY_CLASS = 79;
+ int FIELD_ANNOTATION = 80;
+ int FIELD_IDENTIFIER = 81;
+ int FIELD_WILD_LETTER = 82;
+ int FIELD_DOT = 83;
+ int FIELD_ARRAY = 84;
+ int FIELD_SEPARATOR = 85;
+ int FIELD_NOT = 86;
+ int FIELD_CLOSE = 87;
int DEFAULT = 0;
int PARAMS = 1;
@@ -138,6 +140,7 @@
"<INSTANCEOF>",
"<TYPEDEF>",
"<CLASS>",
+ "<PACKAGE>",
"\",\"",
"<ARRAY_CLASS>",
"<ANNOTATION>",
@@ -165,6 +168,7 @@
"<FIELD_INSTANCEOF>",
"<FIELD_TYPEDEF>",
"<FIELD_CLASS>",
+ "<FIELD_PACKAGE>",
"<FIELD_ARRAY_CLASS>",
"<FIELD_ANNOTATION>",
"<FIELD_IDENTIFIER>",
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java 2007-01-23 22:49:58 UTC (rev 59961)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/PointcutExpressionParserTokenManager.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -139,9 +139,9 @@
case 33:
return jjStopAtPos(0, 20);
case 40:
- return jjStopAtPos(0, 86);
+ return jjStopAtPos(0, 88);
case 41:
- return jjStopAtPos(0, 87);
+ return jjStopAtPos(0, 89);
case 97:
return jjMoveStringLiteralDfa1_0(0x40L);
case 99:
@@ -701,116 +701,116 @@
catch(java.io.IOException e) { return curPos; }
}
}
-private final int jjStopStringLiteralDfa_2(int pos, long active0)
+private final int jjStopStringLiteralDfa_2(int pos, long active0, long active1)
{
switch (pos)
{
case 0:
if ((active0 & 0x7fe000000000L) != 0L)
{
- jjmatchedKind = 55;
- return 98;
+ jjmatchedKind = 56;
+ return 102;
}
return -1;
case 1:
if ((active0 & 0x7fe000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 1;
- return 98;
+ return 102;
}
return -1;
case 2:
if ((active0 & 0x200000000000L) != 0L)
- return 98;
+ return 102;
if ((active0 & 0x5fe000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 2;
- return 98;
+ return 102;
}
return -1;
case 3:
if ((active0 & 0x5fe000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 3;
- return 98;
+ return 102;
}
return -1;
case 4:
if ((active0 & 0x4000000000L) != 0L)
- return 98;
+ return 102;
if ((active0 & 0x5fa000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 4;
- return 98;
+ return 102;
}
return -1;
case 5:
- if ((active0 & 0x4e0000000000L) != 0L)
- return 98;
if ((active0 & 0x11a000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 5;
- return 98;
+ return 102;
}
+ if ((active0 & 0x4e0000000000L) != 0L)
+ return 102;
return -1;
case 6:
if ((active0 & 0x8000000000L) != 0L)
- return 98;
+ return 102;
if ((active0 & 0x112000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 6;
- return 98;
+ return 102;
}
return -1;
case 7:
if ((active0 & 0x2000000000L) != 0L)
- return 98;
+ return 102;
if ((active0 & 0x110000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 7;
- return 98;
+ return 102;
}
return -1;
case 8:
+ if ((active0 & 0x10000000000L) != 0L)
+ return 102;
if ((active0 & 0x100000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 8;
- return 98;
+ return 102;
}
- if ((active0 & 0x10000000000L) != 0L)
- return 98;
return -1;
case 9:
if ((active0 & 0x100000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 9;
- return 98;
+ return 102;
}
return -1;
case 10:
if ((active0 & 0x100000000000L) != 0L)
{
- jjmatchedKind = 55;
+ jjmatchedKind = 56;
jjmatchedPos = 10;
- return 98;
+ return 102;
}
return -1;
default :
return -1;
}
}
-private final int jjStartNfa_2(int pos, long active0)
+private final int jjStartNfa_2(int pos, long active0, long active1)
{
- return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), pos + 1);
+ return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0, active1), pos + 1);
}
private final int jjStartNfaWithStates_2(int pos, int kind, int state)
{
@@ -825,15 +825,15 @@
switch(curChar)
{
case 33:
- return jjStopAtPos(0, 60);
+ return jjStopAtPos(0, 61);
case 40:
- return jjStopAtPos(0, 61);
+ return jjStopAtPos(0, 62);
case 41:
- return jjStopAtPos(0, 62);
+ return jjStopAtPos(0, 63);
case 44:
- return jjStopAtPos(0, 50);
+ return jjStopAtPos(0, 51);
case 45:
- return jjMoveStringLiteralDfa1_2(0x800000000000000L);
+ return jjMoveStringLiteralDfa1_2(0x1000000000000000L);
case 97:
return jjMoveStringLiteralDfa1_2(0x2000000000L);
case 102:
@@ -854,14 +854,14 @@
{
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(0, active0);
+ jjStopStringLiteralDfa_2(0, active0, 0L);
return 1;
}
switch(curChar)
{
case 62:
- if ((active0 & 0x800000000000000L) != 0L)
- return jjStopAtPos(1, 59);
+ if ((active0 & 0x1000000000000000L) != 0L)
+ return jjStopAtPos(1, 60);
break;
case 97:
return jjMoveStringLiteralDfa2_2(active0, 0x80000000000L);
@@ -884,15 +884,15 @@
default :
break;
}
- return jjStartNfa_2(0, active0);
+ return jjStartNfa_2(0, active0, 0L);
}
private final int jjMoveStringLiteralDfa2_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(0, old0);
+ return jjStartNfa_2(0, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(1, active0);
+ jjStopStringLiteralDfa_2(1, active0, 0L);
return 2;
}
switch(curChar)
@@ -915,20 +915,20 @@
return jjMoveStringLiteralDfa3_2(active0, 0x80000000000L);
case 119:
if ((active0 & 0x200000000000L) != 0L)
- return jjStartNfaWithStates_2(2, 45, 98);
+ return jjStartNfaWithStates_2(2, 45, 102);
break;
default :
break;
}
- return jjStartNfa_2(1, active0);
+ return jjStartNfa_2(1, active0, 0L);
}
private final int jjMoveStringLiteralDfa3_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(1, old0);
+ return jjStartNfa_2(1, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(2, active0);
+ jjStopStringLiteralDfa_2(2, active0, 0L);
return 3;
}
switch(curChar)
@@ -950,15 +950,15 @@
default :
break;
}
- return jjStartNfa_2(2, active0);
+ return jjStartNfa_2(2, active0, 0L);
}
private final int jjMoveStringLiteralDfa4_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(2, old0);
+ return jjStartNfa_2(2, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(3, active0);
+ jjStopStringLiteralDfa_2(3, active0, 0L);
return 4;
}
switch(curChar)
@@ -973,7 +973,7 @@
return jjMoveStringLiteralDfa5_2(active0, 0x60000000000L);
case 108:
if ((active0 & 0x4000000000L) != 0L)
- return jjStartNfaWithStates_2(4, 38, 98);
+ return jjStartNfaWithStates_2(4, 38, 102);
break;
case 114:
return jjMoveStringLiteralDfa5_2(active0, 0x2000000000L);
@@ -984,15 +984,15 @@
default :
break;
}
- return jjStartNfa_2(3, active0);
+ return jjStartNfa_2(3, active0, 0L);
}
private final int jjMoveStringLiteralDfa5_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(3, old0);
+ return jjStartNfa_2(3, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(4, active0);
+ jjStopStringLiteralDfa_2(4, active0, 0L);
return 5;
}
switch(curChar)
@@ -1001,34 +1001,34 @@
return jjMoveStringLiteralDfa6_2(active0, 0x2000000000L);
case 99:
if ((active0 & 0x20000000000L) != 0L)
- return jjStartNfaWithStates_2(5, 41, 98);
+ return jjStartNfaWithStates_2(5, 41, 102);
else if ((active0 & 0x40000000000L) != 0L)
- return jjStartNfaWithStates_2(5, 42, 98);
+ return jjStartNfaWithStates_2(5, 42, 102);
return jjMoveStringLiteralDfa6_2(active0, 0x10000000000L);
case 101:
if ((active0 & 0x80000000000L) != 0L)
- return jjStartNfaWithStates_2(5, 43, 98);
+ return jjStartNfaWithStates_2(5, 43, 102);
break;
case 114:
return jjMoveStringLiteralDfa6_2(active0, 0x100000000000L);
case 115:
if ((active0 & 0x400000000000L) != 0L)
- return jjStartNfaWithStates_2(5, 46, 98);
+ return jjStartNfaWithStates_2(5, 46, 102);
break;
case 116:
return jjMoveStringLiteralDfa6_2(active0, 0x8000000000L);
default :
break;
}
- return jjStartNfa_2(4, active0);
+ return jjStartNfa_2(4, active0, 0L);
}
private final int jjMoveStringLiteralDfa6_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(4, old0);
+ return jjStartNfa_2(4, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(5, active0);
+ jjStopStringLiteralDfa_2(5, active0, 0L);
return 6;
}
switch(curChar)
@@ -1037,7 +1037,7 @@
return jjMoveStringLiteralDfa7_2(active0, 0x2000000000L);
case 101:
if ((active0 & 0x8000000000L) != 0L)
- return jjStartNfaWithStates_2(6, 39, 98);
+ return jjStartNfaWithStates_2(6, 39, 102);
break;
case 111:
return jjMoveStringLiteralDfa7_2(active0, 0x100000000000L);
@@ -1046,15 +1046,15 @@
default :
break;
}
- return jjStartNfa_2(5, active0);
+ return jjStartNfa_2(5, active0, 0L);
}
private final int jjMoveStringLiteralDfa7_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(5, old0);
+ return jjStartNfa_2(5, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(6, active0);
+ jjStopStringLiteralDfa_2(6, active0, 0L);
return 7;
}
switch(curChar)
@@ -1065,42 +1065,42 @@
return jjMoveStringLiteralDfa8_2(active0, 0x100000000000L);
case 116:
if ((active0 & 0x2000000000L) != 0L)
- return jjStartNfaWithStates_2(7, 37, 98);
+ return jjStartNfaWithStates_2(7, 37, 102);
break;
default :
break;
}
- return jjStartNfa_2(6, active0);
+ return jjStartNfa_2(6, active0, 0L);
}
private final int jjMoveStringLiteralDfa8_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(6, old0);
+ return jjStartNfa_2(6, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(7, active0);
+ jjStopStringLiteralDfa_2(7, active0, 0L);
return 8;
}
switch(curChar)
{
case 100:
if ((active0 & 0x10000000000L) != 0L)
- return jjStartNfaWithStates_2(8, 40, 98);
+ return jjStartNfaWithStates_2(8, 40, 102);
break;
case 105:
return jjMoveStringLiteralDfa9_2(active0, 0x100000000000L);
default :
break;
}
- return jjStartNfa_2(7, active0);
+ return jjStartNfa_2(7, active0, 0L);
}
private final int jjMoveStringLiteralDfa9_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(7, old0);
+ return jjStartNfa_2(7, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(8, active0);
+ jjStopStringLiteralDfa_2(8, active0, 0L);
return 9;
}
switch(curChar)
@@ -1110,15 +1110,15 @@
default :
break;
}
- return jjStartNfa_2(8, active0);
+ return jjStartNfa_2(8, active0, 0L);
}
private final int jjMoveStringLiteralDfa10_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(8, old0);
+ return jjStartNfa_2(8, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(9, active0);
+ jjStopStringLiteralDfa_2(9, active0, 0L);
return 10;
}
switch(curChar)
@@ -1128,33 +1128,33 @@
default :
break;
}
- return jjStartNfa_2(9, active0);
+ return jjStartNfa_2(9, active0, 0L);
}
private final int jjMoveStringLiteralDfa11_2(long old0, long active0)
{
if (((active0 &= old0)) == 0L)
- return jjStartNfa_2(9, old0);
+ return jjStartNfa_2(9, old0, 0L);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
- jjStopStringLiteralDfa_2(10, active0);
+ jjStopStringLiteralDfa_2(10, active0, 0L);
return 11;
}
switch(curChar)
{
case 100:
if ((active0 & 0x100000000000L) != 0L)
- return jjStartNfaWithStates_2(11, 44, 98);
+ return jjStartNfaWithStates_2(11, 44, 102);
break;
default :
break;
}
- return jjStartNfa_2(10, active0);
+ return jjStartNfa_2(10, active0, 0L);
}
private final int jjMoveNfa_2(int startState, int curPos)
{
int[] nextStates;
int startsAt = 0;
- jjnewStateCnt = 98;
+ jjnewStateCnt = 102;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
@@ -1169,35 +1169,39 @@
{
switch(jjstateSet[--i])
{
- case 98:
+ case 0:
if ((0x3ff041000000000L & l) != 0L)
{
- if (kind > 55)
- kind = 55;
- jjCheckNAdd(97);
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAddStates(3, 9);
}
+ if (curChar == 36)
+ jjAddStates(10, 13);
+ break;
+ case 102:
+ if ((0x3ff041000000000L & l) != 0L)
+ {
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAdd(101);
+ }
else if (curChar == 46)
+ jjCheckNAddTwoStates(96, 97);
+ if ((0x3ff041000000000L & l) != 0L)
+ jjCheckNAddTwoStates(98, 100);
+ else if (curChar == 46)
jjCheckNAdd(91);
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddTwoStates(94, 96);
+ jjCheckNAddTwoStates(94, 95);
if ((0x3ff041000000000L & l) != 0L)
jjCheckNAddTwoStates(89, 90);
break;
- case 0:
- if ((0x3ff041000000000L & l) != 0L)
- {
- if (kind > 55)
- kind = 55;
- jjCheckNAddStates(3, 7);
- }
- if (curChar == 36)
- jjAddStates(8, 11);
- break;
case 1:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 52)
- kind = 52;
+ if (kind > 53)
+ kind = 53;
jjCheckNAddTwoStates(1, 2);
break;
case 2:
@@ -1207,17 +1211,17 @@
case 3:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 52)
- kind = 52;
+ if (kind > 53)
+ kind = 53;
jjCheckNAddTwoStates(2, 3);
break;
case 4:
if (curChar == 36)
- jjAddStates(8, 11);
+ jjAddStates(10, 13);
break;
case 7:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(12, 14);
+ jjCheckNAddStates(14, 16);
break;
case 8:
if (curChar == 46)
@@ -1225,11 +1229,11 @@
break;
case 9:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(15, 17);
+ jjCheckNAddStates(17, 19);
break;
case 11:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(18, 21);
+ jjCheckNAddStates(20, 23);
break;
case 12:
if ((0x3ff041000000000L & l) != 0L)
@@ -1245,11 +1249,11 @@
break;
case 15:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(22, 25);
+ jjCheckNAddStates(24, 27);
break;
case 29:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(26, 28);
+ jjCheckNAddStates(28, 30);
break;
case 30:
if (curChar == 46)
@@ -1257,11 +1261,11 @@
break;
case 31:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(29, 31);
+ jjCheckNAddStates(31, 33);
break;
case 42:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(32, 34);
+ jjCheckNAddStates(34, 36);
break;
case 43:
if (curChar == 46)
@@ -1269,11 +1273,11 @@
break;
case 44:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(35, 37);
+ jjCheckNAddStates(37, 39);
break;
case 46:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(38, 41);
+ jjCheckNAddStates(40, 43);
break;
case 47:
if ((0x3ff041000000000L & l) != 0L)
@@ -1289,11 +1293,11 @@
break;
case 50:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(42, 45);
+ jjCheckNAddStates(44, 47);
break;
case 65:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(46, 48);
+ jjCheckNAddStates(48, 50);
break;
case 66:
if (curChar == 46)
@@ -1301,11 +1305,11 @@
break;
case 67:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(49, 51);
+ jjCheckNAddStates(51, 53);
break;
case 69:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(52, 55);
+ jjCheckNAddStates(54, 57);
break;
case 70:
if ((0x3ff041000000000L & l) != 0L)
@@ -1321,14 +1325,14 @@
break;
case 73:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(56, 59);
+ jjCheckNAddStates(58, 61);
break;
case 88:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 55)
- kind = 55;
- jjCheckNAddStates(3, 7);
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAddStates(3, 9);
break;
case 89:
if ((0x3ff041000000000L & l) != 0L)
@@ -1343,18 +1347,34 @@
break;
if (kind > 49)
kind = 49;
- jjCheckNAddStates(60, 62);
+ jjCheckNAddStates(62, 64);
break;
case 94:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddTwoStates(94, 96);
+ jjCheckNAddTwoStates(94, 95);
break;
+ case 95:
+ if (curChar == 46)
+ jjCheckNAddTwoStates(96, 97);
+ break;
+ case 96:
+ if ((0x3ff041000000000L & l) != 0L)
+ jjCheckNAddTwoStates(96, 95);
+ break;
case 97:
+ if (curChar == 46 && kind > 50)
+ kind = 50;
+ break;
+ case 98:
+ if ((0x3ff041000000000L & l) != 0L)
+ jjCheckNAddTwoStates(98, 100);
+ break;
+ case 101:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 55)
- kind = 55;
- jjCheckNAdd(97);
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAdd(101);
break;
default : break;
}
@@ -1367,47 +1387,49 @@
{
switch(jjstateSet[--i])
{
- case 98:
+ case 0:
if ((0x7fffffe87fffffeL & l) != 0L)
{
- if (kind > 55)
- kind = 55;
- jjCheckNAdd(97);
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAddStates(3, 9);
}
+ else if (curChar == 64)
+ jjCheckNAdd(1);
+ break;
+ case 102:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ {
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAdd(101);
+ }
else if (curChar == 91)
- jjstateSet[jjnewStateCnt++] = 95;
+ jjstateSet[jjnewStateCnt++] = 99;
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(94, 96);
+ jjCheckNAddTwoStates(98, 100);
if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(94, 95);
+ if ((0x7fffffe87fffffeL & l) != 0L)
jjCheckNAddTwoStates(89, 90);
break;
- case 0:
- if ((0x7fffffe87fffffeL & l) != 0L)
- {
- if (kind > 55)
- kind = 55;
- jjCheckNAddStates(3, 7);
- }
- else if (curChar == 64)
- jjCheckNAdd(1);
- break;
case 1:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 52)
- kind = 52;
+ if (kind > 53)
+ kind = 53;
jjCheckNAddTwoStates(1, 2);
break;
case 3:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 52)
- kind = 52;
+ if (kind > 53)
+ kind = 53;
jjCheckNAddTwoStates(2, 3);
break;
case 5:
if (curChar == 123)
- jjAddStates(63, 64);
+ jjAddStates(65, 66);
break;
case 6:
if (curChar == 64)
@@ -1415,11 +1437,11 @@
break;
case 7:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(12, 14);
+ jjCheckNAddStates(14, 16);
break;
case 9:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(15, 17);
+ jjCheckNAddStates(17, 19);
break;
case 10:
if (curChar == 125 && kind > 47)
@@ -1427,7 +1449,7 @@
break;
case 11:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(18, 21);
+ jjCheckNAddStates(20, 23);
break;
case 12:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -1439,7 +1461,7 @@
break;
case 15:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(22, 25);
+ jjCheckNAddStates(24, 27);
break;
case 16:
if (curChar == 93)
@@ -1495,11 +1517,11 @@
break;
case 29:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(26, 28);
+ jjCheckNAddStates(28, 30);
break;
case 31:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(29, 31);
+ jjCheckNAddStates(31, 33);
break;
case 32:
if (curChar == 125 && kind > 48)
@@ -1535,7 +1557,7 @@
break;
case 40:
if (curChar == 123)
- jjAddStates(65, 66);
+ jjAddStates(67, 68);
break;
case 41:
if (curChar == 64)
@@ -1543,19 +1565,19 @@
break;
case 42:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(32, 34);
+ jjCheckNAddStates(34, 36);
break;
case 44:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(35, 37);
+ jjCheckNAddStates(37, 39);
break;
case 45:
- if (curChar == 125 && kind > 53)
- kind = 53;
+ if (curChar == 125 && kind > 54)
+ kind = 54;
break;
case 46:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(38, 41);
+ jjCheckNAddStates(40, 43);
break;
case 47:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -1567,7 +1589,7 @@
break;
case 50:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(42, 45);
+ jjCheckNAddStates(44, 47);
break;
case 51:
if (curChar == 93)
@@ -1619,7 +1641,7 @@
break;
case 63:
if (curChar == 123)
- jjAddStates(67, 68);
+ jjAddStates(69, 70);
break;
case 64:
if (curChar == 64)
@@ -1627,19 +1649,19 @@
break;
case 65:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(46, 48);
+ jjCheckNAddStates(48, 50);
break;
case 67:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(49, 51);
+ jjCheckNAddStates(51, 53);
break;
case 68:
- if (curChar == 125 && kind > 54)
- kind = 54;
+ if (curChar == 125 && kind > 55)
+ kind = 55;
break;
case 69:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(52, 55);
+ jjCheckNAddStates(54, 57);
break;
case 70:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -1651,7 +1673,7 @@
break;
case 73:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(56, 59);
+ jjCheckNAddStates(58, 61);
break;
case 74:
if (curChar == 93)
@@ -1712,9 +1734,9 @@
case 88:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 55)
- kind = 55;
- jjCheckNAddStates(3, 7);
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAddStates(3, 9);
break;
case 89:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -1725,7 +1747,7 @@
break;
if (kind > 49)
kind = 49;
- jjCheckNAddStates(60, 62);
+ jjCheckNAddStates(62, 64);
break;
case 92:
if (curChar != 93)
@@ -1740,25 +1762,33 @@
break;
case 94:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(94, 96);
+ jjCheckNAddTwoStates(94, 95);
break;
- case 95:
+ case 96:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(96, 95);
+ break;
+ case 98:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(98, 100);
+ break;
+ case 99:
if (curChar != 93)
break;
- if (kind > 51)
- kind = 51;
- jjCheckNAdd(96);
+ if (kind > 52)
+ kind = 52;
+ jjCheckNAdd(100);
break;
- case 96:
+ case 100:
if (curChar == 91)
- jjstateSet[jjnewStateCnt++] = 95;
+ jjstateSet[jjnewStateCnt++] = 99;
break;
- case 97:
+ case 101:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 55)
- kind = 55;
- jjCheckNAdd(97);
+ if (kind > 56)
+ kind = 56;
+ jjCheckNAdd(101);
break;
default : break;
}
@@ -1783,7 +1813,7 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 98 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 102 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
@@ -1865,14 +1895,17 @@
{
if (kind > 29)
kind = 29;
- jjCheckNAddStates(69, 73);
+ jjCheckNAddStates(71, 75);
}
if (curChar == 36)
- jjAddStates(74, 75);
+ jjAddStates(76, 77);
break;
case 1:
- if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddTwoStates(1, 2);
+ if ((0x3ff041000000000L & l) == 0L)
+ break;
+ if (kind > 26)
+ kind = 26;
+ jjCheckNAddTwoStates(1, 2);
break;
case 2:
if (curChar == 46)
@@ -1890,7 +1923,7 @@
break;
if (kind > 29)
kind = 29;
- jjCheckNAddStates(69, 73);
+ jjCheckNAddStates(71, 75);
break;
case 5:
if ((0x3ff041000000000L & l) != 0L)
@@ -1920,11 +1953,11 @@
break;
case 14:
if (curChar == 36)
- jjAddStates(74, 75);
+ jjAddStates(76, 77);
break;
case 17:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddTwoStates(17, 18);
+ jjCheckNAddStates(78, 80);
break;
case 18:
if (curChar == 46)
@@ -1932,11 +1965,11 @@
break;
case 19:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(76, 78);
+ jjCheckNAddStates(81, 83);
break;
case 21:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(79, 82);
+ jjCheckNAddStates(84, 87);
break;
case 22:
if ((0x3ff041000000000L & l) != 0L)
@@ -1952,11 +1985,11 @@
break;
case 25:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(83, 86);
+ jjCheckNAddStates(88, 91);
break;
case 39:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(87, 89);
+ jjCheckNAddStates(92, 94);
break;
case 40:
if (curChar == 46)
@@ -1964,7 +1997,7 @@
break;
case 41:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(90, 92);
+ jjCheckNAddStates(95, 97);
break;
default : break;
}
@@ -1982,14 +2015,17 @@
{
if (kind > 29)
kind = 29;
- jjCheckNAddStates(69, 73);
+ jjCheckNAddStates(71, 75);
}
else if (curChar == 64)
jjCheckNAdd(1);
break;
case 1:
- if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(1, 2);
+ if ((0x7fffffe87fffffeL & l) == 0L)
+ break;
+ if (kind > 26)
+ kind = 26;
+ jjCheckNAddTwoStates(1, 2);
break;
case 3:
if ((0x7fffffe87fffffeL & l) == 0L)
@@ -2003,7 +2039,7 @@
break;
if (kind > 29)
kind = 29;
- jjCheckNAddStates(69, 73);
+ jjCheckNAddStates(71, 75);
break;
case 5:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -2051,7 +2087,7 @@
break;
case 15:
if (curChar == 123)
- jjAddStates(93, 94);
+ jjAddStates(98, 99);
break;
case 16:
if (curChar == 64)
@@ -2059,11 +2095,11 @@
break;
case 17:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(17, 18);
+ jjCheckNAddStates(78, 80);
break;
case 19:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(76, 78);
+ jjCheckNAddStates(81, 83);
break;
case 20:
if (curChar == 125 && kind > 27)
@@ -2071,7 +2107,7 @@
break;
case 21:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(79, 82);
+ jjCheckNAddStates(84, 87);
break;
case 22:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -2083,7 +2119,7 @@
break;
case 25:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(83, 86);
+ jjCheckNAddStates(88, 91);
break;
case 26:
if (curChar == 93)
@@ -2139,11 +2175,11 @@
break;
case 39:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(87, 89);
+ jjCheckNAddStates(92, 94);
break;
case 41:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(90, 92);
+ jjCheckNAddStates(95, 97);
break;
case 42:
if (curChar == 125 && kind > 28)
@@ -2211,100 +2247,100 @@
switch (pos)
{
case 0:
- if ((active1 & 0x3feL) != 0L)
+ if ((active1 & 0x7fcL) != 0L)
{
- jjmatchedKind = 79;
- return 50;
+ jjmatchedKind = 81;
+ return 54;
}
return -1;
case 1:
- if ((active1 & 0x3feL) != 0L)
+ if ((active1 & 0x7fcL) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 1;
- return 50;
+ return 54;
}
return -1;
case 2:
- if ((active1 & 0x3feL) != 0L)
+ if ((active1 & 0x7fcL) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 2;
- return 50;
+ return 54;
}
return -1;
case 3:
- if ((active1 & 0x3feL) != 0L)
+ if ((active1 & 0x7fcL) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 3;
- return 50;
+ return 54;
}
return -1;
case 4:
- if ((active1 & 0x3faL) != 0L)
+ if ((active1 & 0x7f4L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 4;
- return 50;
+ return 54;
}
- if ((active1 & 0x4L) != 0L)
- return 50;
+ if ((active1 & 0x8L) != 0L)
+ return 54;
return -1;
case 5:
- if ((active1 & 0x160L) != 0L)
- return 50;
- if ((active1 & 0x29aL) != 0L)
+ if ((active1 & 0x534L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 5;
- return 50;
+ return 54;
}
+ if ((active1 & 0x2c0L) != 0L)
+ return 54;
return -1;
case 6:
- if ((active1 & 0x292L) != 0L)
+ if ((active1 & 0x10L) != 0L)
+ return 54;
+ if ((active1 & 0x524L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 6;
- return 50;
+ return 54;
}
- if ((active1 & 0x8L) != 0L)
- return 50;
return -1;
case 7:
- if ((active1 & 0x2L) != 0L)
- return 50;
- if ((active1 & 0x290L) != 0L)
+ if ((active1 & 0x520L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 7;
- return 50;
+ return 54;
}
+ if ((active1 & 0x4L) != 0L)
+ return 54;
return -1;
case 8:
- if ((active1 & 0x200L) != 0L)
+ if ((active1 & 0x400L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 8;
- return 50;
+ return 54;
}
- if ((active1 & 0x90L) != 0L)
- return 50;
+ if ((active1 & 0x120L) != 0L)
+ return 54;
return -1;
case 9:
- if ((active1 & 0x200L) != 0L)
+ if ((active1 & 0x400L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 9;
- return 50;
+ return 54;
}
return -1;
case 10:
- if ((active1 & 0x200L) != 0L)
+ if ((active1 & 0x400L) != 0L)
{
- jjmatchedKind = 79;
+ jjmatchedKind = 81;
jjmatchedPos = 10;
- return 50;
+ return 54;
}
return -1;
default :
@@ -2328,23 +2364,23 @@
switch(curChar)
{
case 33:
- return jjStopAtPos(0, 84);
+ return jjStopAtPos(0, 86);
case 41:
- return jjStopAtPos(0, 85);
+ return jjStopAtPos(0, 87);
case 45:
- return jjMoveStringLiteralDfa1_3(0x80000L);
+ return jjMoveStringLiteralDfa1_3(0x200000L);
case 97:
- return jjMoveStringLiteralDfa1_3(0x2L);
+ return jjMoveStringLiteralDfa1_3(0x4L);
case 102:
- return jjMoveStringLiteralDfa1_3(0x4L);
+ return jjMoveStringLiteralDfa1_3(0x8L);
case 110:
- return jjMoveStringLiteralDfa1_3(0x100L);
+ return jjMoveStringLiteralDfa1_3(0x200L);
case 112:
- return jjMoveStringLiteralDfa1_3(0x38L);
+ return jjMoveStringLiteralDfa1_3(0x70L);
case 115:
- return jjMoveStringLiteralDfa1_3(0x240L);
+ return jjMoveStringLiteralDfa1_3(0x480L);
case 116:
- return jjMoveStringLiteralDfa1_3(0x80L);
+ return jjMoveStringLiteralDfa1_3(0x100L);
default :
return jjMoveNfa_3(0, 0);
}
@@ -2359,23 +2395,23 @@
switch(curChar)
{
case 62:
- if ((active1 & 0x80000L) != 0L)
- return jjStopAtPos(1, 83);
+ if ((active1 & 0x200000L) != 0L)
+ return jjStopAtPos(1, 85);
break;
case 97:
- return jjMoveStringLiteralDfa2_3(active1, 0x100L);
+ return jjMoveStringLiteralDfa2_3(active1, 0x200L);
case 98:
- return jjMoveStringLiteralDfa2_3(active1, 0x2L);
+ return jjMoveStringLiteralDfa2_3(active1, 0x4L);
case 105:
- return jjMoveStringLiteralDfa2_3(active1, 0x4L);
+ return jjMoveStringLiteralDfa2_3(active1, 0x8L);
case 114:
- return jjMoveStringLiteralDfa2_3(active1, 0x98L);
+ return jjMoveStringLiteralDfa2_3(active1, 0x130L);
case 116:
+ return jjMoveStringLiteralDfa2_3(active1, 0x80L);
+ case 117:
return jjMoveStringLiteralDfa2_3(active1, 0x40L);
- case 117:
- return jjMoveStringLiteralDfa2_3(active1, 0x20L);
case 121:
- return jjMoveStringLiteralDfa2_3(active1, 0x200L);
+ return jjMoveStringLiteralDfa2_3(active1, 0x400L);
default :
break;
}
@@ -2384,7 +2420,7 @@
private final int jjMoveStringLiteralDfa2_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(0, 0L, old1);
+ return jjStartNfa_3(0, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(1, 0L, active1);
@@ -2393,19 +2429,19 @@
switch(curChar)
{
case 97:
- return jjMoveStringLiteralDfa3_3(active1, 0xc0L);
+ return jjMoveStringLiteralDfa3_3(active1, 0x180L);
case 98:
- return jjMoveStringLiteralDfa3_3(active1, 0x20L);
+ return jjMoveStringLiteralDfa3_3(active1, 0x40L);
case 105:
- return jjMoveStringLiteralDfa3_3(active1, 0x8L);
+ return jjMoveStringLiteralDfa3_3(active1, 0x10L);
case 110:
- return jjMoveStringLiteralDfa3_3(active1, 0x204L);
+ return jjMoveStringLiteralDfa3_3(active1, 0x408L);
case 111:
- return jjMoveStringLiteralDfa3_3(active1, 0x10L);
+ return jjMoveStringLiteralDfa3_3(active1, 0x20L);
case 115:
- return jjMoveStringLiteralDfa3_3(active1, 0x2L);
+ return jjMoveStringLiteralDfa3_3(active1, 0x4L);
case 116:
- return jjMoveStringLiteralDfa3_3(active1, 0x100L);
+ return jjMoveStringLiteralDfa3_3(active1, 0x200L);
default :
break;
}
@@ -2414,7 +2450,7 @@
private final int jjMoveStringLiteralDfa3_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(1, 0L, old1);
+ return jjStartNfa_3(1, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(2, 0L, active1);
@@ -2423,19 +2459,19 @@
switch(curChar)
{
case 97:
- return jjMoveStringLiteralDfa4_3(active1, 0x4L);
+ return jjMoveStringLiteralDfa4_3(active1, 0x8L);
case 99:
+ return jjMoveStringLiteralDfa4_3(active1, 0x400L);
+ case 105:
return jjMoveStringLiteralDfa4_3(active1, 0x200L);
- case 105:
- return jjMoveStringLiteralDfa4_3(active1, 0x100L);
case 108:
- return jjMoveStringLiteralDfa4_3(active1, 0x20L);
+ return jjMoveStringLiteralDfa4_3(active1, 0x40L);
case 110:
- return jjMoveStringLiteralDfa4_3(active1, 0x80L);
+ return jjMoveStringLiteralDfa4_3(active1, 0x100L);
case 116:
- return jjMoveStringLiteralDfa4_3(active1, 0x52L);
+ return jjMoveStringLiteralDfa4_3(active1, 0xa4L);
case 118:
- return jjMoveStringLiteralDfa4_3(active1, 0x8L);
+ return jjMoveStringLiteralDfa4_3(active1, 0x10L);
default :
break;
}
@@ -2444,7 +2480,7 @@
private final int jjMoveStringLiteralDfa4_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(2, 0L, old1);
+ return jjStartNfa_3(2, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(3, 0L, active1);
@@ -2453,23 +2489,23 @@
switch(curChar)
{
case 97:
- return jjMoveStringLiteralDfa5_3(active1, 0x8L);
+ return jjMoveStringLiteralDfa5_3(active1, 0x10L);
case 101:
- return jjMoveStringLiteralDfa5_3(active1, 0x10L);
+ return jjMoveStringLiteralDfa5_3(active1, 0x20L);
case 104:
- return jjMoveStringLiteralDfa5_3(active1, 0x200L);
+ return jjMoveStringLiteralDfa5_3(active1, 0x400L);
case 105:
- return jjMoveStringLiteralDfa5_3(active1, 0x60L);
+ return jjMoveStringLiteralDfa5_3(active1, 0xc0L);
case 108:
- if ((active1 & 0x4L) != 0L)
- return jjStartNfaWithStates_3(4, 66, 50);
+ if ((active1 & 0x8L) != 0L)
+ return jjStartNfaWithStates_3(4, 67, 54);
break;
case 114:
- return jjMoveStringLiteralDfa5_3(active1, 0x2L);
+ return jjMoveStringLiteralDfa5_3(active1, 0x4L);
case 115:
- return jjMoveStringLiteralDfa5_3(active1, 0x80L);
+ return jjMoveStringLiteralDfa5_3(active1, 0x100L);
case 118:
- return jjMoveStringLiteralDfa5_3(active1, 0x100L);
+ return jjMoveStringLiteralDfa5_3(active1, 0x200L);
default :
break;
}
@@ -2478,7 +2514,7 @@
private final int jjMoveStringLiteralDfa5_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(3, 0L, old1);
+ return jjStartNfa_3(3, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(4, 0L, active1);
@@ -2487,23 +2523,23 @@
switch(curChar)
{
case 97:
- return jjMoveStringLiteralDfa6_3(active1, 0x2L);
+ return jjMoveStringLiteralDfa6_3(active1, 0x4L);
case 99:
- if ((active1 & 0x20L) != 0L)
- return jjStartNfaWithStates_3(5, 69, 50);
- else if ((active1 & 0x40L) != 0L)
- return jjStartNfaWithStates_3(5, 70, 50);
- return jjMoveStringLiteralDfa6_3(active1, 0x10L);
+ if ((active1 & 0x40L) != 0L)
+ return jjStartNfaWithStates_3(5, 70, 54);
+ else if ((active1 & 0x80L) != 0L)
+ return jjStartNfaWithStates_3(5, 71, 54);
+ return jjMoveStringLiteralDfa6_3(active1, 0x20L);
case 101:
- if ((active1 & 0x100L) != 0L)
- return jjStartNfaWithStates_3(5, 72, 50);
+ if ((active1 & 0x200L) != 0L)
+ return jjStartNfaWithStates_3(5, 73, 54);
break;
case 105:
- return jjMoveStringLiteralDfa6_3(active1, 0x80L);
+ return jjMoveStringLiteralDfa6_3(active1, 0x100L);
case 114:
- return jjMoveStringLiteralDfa6_3(active1, 0x200L);
+ return jjMoveStringLiteralDfa6_3(active1, 0x400L);
case 116:
- return jjMoveStringLiteralDfa6_3(active1, 0x8L);
+ return jjMoveStringLiteralDfa6_3(active1, 0x10L);
default :
break;
}
@@ -2512,7 +2548,7 @@
private final int jjMoveStringLiteralDfa6_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(4, 0L, old1);
+ return jjStartNfa_3(4, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(5, 0L, active1);
@@ -2521,15 +2557,15 @@
switch(curChar)
{
case 99:
- return jjMoveStringLiteralDfa7_3(active1, 0x2L);
+ return jjMoveStringLiteralDfa7_3(active1, 0x4L);
case 101:
- if ((active1 & 0x8L) != 0L)
- return jjStartNfaWithStates_3(6, 67, 50);
- return jjMoveStringLiteralDfa7_3(active1, 0x80L);
+ if ((active1 & 0x10L) != 0L)
+ return jjStartNfaWithStates_3(6, 68, 54);
+ return jjMoveStringLiteralDfa7_3(active1, 0x100L);
case 111:
- return jjMoveStringLiteralDfa7_3(active1, 0x200L);
+ return jjMoveStringLiteralDfa7_3(active1, 0x400L);
case 116:
- return jjMoveStringLiteralDfa7_3(active1, 0x10L);
+ return jjMoveStringLiteralDfa7_3(active1, 0x20L);
default :
break;
}
@@ -2538,7 +2574,7 @@
private final int jjMoveStringLiteralDfa7_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(5, 0L, old1);
+ return jjStartNfa_3(5, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(6, 0L, active1);
@@ -2547,12 +2583,12 @@
switch(curChar)
{
case 101:
- return jjMoveStringLiteralDfa8_3(active1, 0x10L);
+ return jjMoveStringLiteralDfa8_3(active1, 0x20L);
case 110:
- return jjMoveStringLiteralDfa8_3(active1, 0x280L);
+ return jjMoveStringLiteralDfa8_3(active1, 0x500L);
case 116:
- if ((active1 & 0x2L) != 0L)
- return jjStartNfaWithStates_3(7, 65, 50);
+ if ((active1 & 0x4L) != 0L)
+ return jjStartNfaWithStates_3(7, 66, 54);
break;
default :
break;
@@ -2562,7 +2598,7 @@
private final int jjMoveStringLiteralDfa8_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(6, 0L, old1);
+ return jjStartNfa_3(6, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(7, 0L, active1);
@@ -2571,14 +2607,14 @@
switch(curChar)
{
case 100:
- if ((active1 & 0x10L) != 0L)
- return jjStartNfaWithStates_3(8, 68, 50);
+ if ((active1 & 0x20L) != 0L)
+ return jjStartNfaWithStates_3(8, 69, 54);
break;
case 105:
- return jjMoveStringLiteralDfa9_3(active1, 0x200L);
+ return jjMoveStringLiteralDfa9_3(active1, 0x400L);
case 116:
- if ((active1 & 0x80L) != 0L)
- return jjStartNfaWithStates_3(8, 71, 50);
+ if ((active1 & 0x100L) != 0L)
+ return jjStartNfaWithStates_3(8, 72, 54);
break;
default :
break;
@@ -2588,7 +2624,7 @@
private final int jjMoveStringLiteralDfa9_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(7, 0L, old1);
+ return jjStartNfa_3(7, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(8, 0L, active1);
@@ -2597,7 +2633,7 @@
switch(curChar)
{
case 122:
- return jjMoveStringLiteralDfa10_3(active1, 0x200L);
+ return jjMoveStringLiteralDfa10_3(active1, 0x400L);
default :
break;
}
@@ -2606,7 +2642,7 @@
private final int jjMoveStringLiteralDfa10_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(8, 0L, old1);
+ return jjStartNfa_3(8, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(9, 0L, active1);
@@ -2615,7 +2651,7 @@
switch(curChar)
{
case 101:
- return jjMoveStringLiteralDfa11_3(active1, 0x200L);
+ return jjMoveStringLiteralDfa11_3(active1, 0x400L);
default :
break;
}
@@ -2624,7 +2660,7 @@
private final int jjMoveStringLiteralDfa11_3(long old1, long active1)
{
if (((active1 &= old1)) == 0L)
- return jjStartNfa_3(9, 0L, old1);
+ return jjStartNfa_3(9, 0L, old1);
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) {
jjStopStringLiteralDfa_3(10, 0L, active1);
@@ -2633,8 +2669,8 @@
switch(curChar)
{
case 100:
- if ((active1 & 0x200L) != 0L)
- return jjStartNfaWithStates_3(11, 73, 50);
+ if ((active1 & 0x400L) != 0L)
+ return jjStartNfaWithStates_3(11, 74, 54);
break;
default :
break;
@@ -2645,7 +2681,7 @@
{
int[] nextStates;
int startsAt = 0;
- jjnewStateCnt = 50;
+ jjnewStateCnt = 54;
int i = 1;
jjstateSet[0] = startState;
int j, kind = 0x7fffffff;
@@ -2660,35 +2696,39 @@
{
switch(jjstateSet[--i])
{
- case 0:
+ case 54:
if ((0x3ff041000000000L & l) != 0L)
{
- if (kind > 79)
- kind = 79;
- jjCheckNAddStates(95, 99);
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAdd(53);
}
- if (curChar == 36)
- jjAddStates(100, 101);
- break;
- case 50:
+ else if (curChar == 46)
+ jjCheckNAddTwoStates(48, 49);
if ((0x3ff041000000000L & l) != 0L)
- {
- if (kind > 79)
- kind = 79;
- jjCheckNAdd(49);
- }
+ jjCheckNAddTwoStates(50, 52);
else if (curChar == 46)
jjCheckNAdd(43);
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddTwoStates(46, 48);
+ jjCheckNAddTwoStates(46, 47);
if ((0x3ff041000000000L & l) != 0L)
jjCheckNAddTwoStates(41, 42);
break;
+ case 0:
+ if ((0x3ff041000000000L & l) != 0L)
+ {
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddStates(100, 106);
+ }
+ if (curChar == 36)
+ jjAddStates(107, 108);
+ break;
case 1:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 78)
- kind = 78;
+ if (kind > 80)
+ kind = 80;
jjCheckNAddTwoStates(1, 2);
break;
case 2:
@@ -2698,17 +2738,17 @@
case 3:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 78)
- kind = 78;
+ if (kind > 80)
+ kind = 80;
jjCheckNAddTwoStates(2, 3);
break;
case 4:
if (curChar == 36)
- jjAddStates(100, 101);
+ jjAddStates(107, 108);
break;
case 7:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(12, 14);
+ jjCheckNAddStates(14, 16);
break;
case 8:
if (curChar == 46)
@@ -2716,11 +2756,11 @@
break;
case 9:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(15, 17);
+ jjCheckNAddStates(17, 19);
break;
case 11:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(18, 21);
+ jjCheckNAddStates(20, 23);
break;
case 12:
if ((0x3ff041000000000L & l) != 0L)
@@ -2736,11 +2776,11 @@
break;
case 15:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddStates(22, 25);
+ jjCheckNAddStates(24, 27);
break;
case 29:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(26, 28);
+ jjCheckNAddStates(28, 30);
break;
case 30:
if (curChar == 46)
@@ -2748,14 +2788,14 @@
break;
case 31:
if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(29, 31);
+ jjCheckNAddStates(31, 33);
break;
case 40:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 79)
- kind = 79;
- jjCheckNAddStates(95, 99);
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddStates(100, 106);
break;
case 41:
if ((0x3ff041000000000L & l) != 0L)
@@ -2768,20 +2808,36 @@
case 43:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 76)
- kind = 76;
- jjCheckNAddStates(32, 34);
+ if (kind > 77)
+ kind = 77;
+ jjCheckNAddStates(34, 36);
break;
case 46:
if ((0x3ff041000000000L & l) != 0L)
- jjCheckNAddTwoStates(46, 48);
+ jjCheckNAddTwoStates(46, 47);
break;
+ case 47:
+ if (curChar == 46)
+ jjCheckNAddTwoStates(48, 49);
+ break;
+ case 48:
+ if ((0x3ff041000000000L & l) != 0L)
+ jjCheckNAddTwoStates(48, 47);
+ break;
case 49:
+ if (curChar == 46 && kind > 78)
+ kind = 78;
+ break;
+ case 50:
+ if ((0x3ff041000000000L & l) != 0L)
+ jjCheckNAddTwoStates(50, 52);
+ break;
+ case 53:
if ((0x3ff041000000000L & l) == 0L)
break;
- if (kind > 79)
- kind = 79;
- jjCheckNAdd(49);
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAdd(53);
break;
default : break;
}
@@ -2794,47 +2850,49 @@
{
switch(jjstateSet[--i])
{
- case 0:
+ case 54:
if ((0x7fffffe87fffffeL & l) != 0L)
{
- if (kind > 79)
- kind = 79;
- jjCheckNAddStates(95, 99);
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAdd(53);
}
- else if (curChar == 64)
- jjCheckNAdd(1);
- break;
- case 50:
- if ((0x7fffffe87fffffeL & l) != 0L)
- {
- if (kind > 79)
- kind = 79;
- jjCheckNAdd(49);
- }
else if (curChar == 91)
- jjstateSet[jjnewStateCnt++] = 47;
+ jjstateSet[jjnewStateCnt++] = 51;
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(46, 48);
+ jjCheckNAddTwoStates(50, 52);
if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(46, 47);
+ if ((0x7fffffe87fffffeL & l) != 0L)
jjCheckNAddTwoStates(41, 42);
break;
+ case 0:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ {
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddStates(100, 106);
+ }
+ else if (curChar == 64)
+ jjCheckNAdd(1);
+ break;
case 1:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 78)
- kind = 78;
+ if (kind > 80)
+ kind = 80;
jjCheckNAddTwoStates(1, 2);
break;
case 3:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 78)
- kind = 78;
+ if (kind > 80)
+ kind = 80;
jjCheckNAddTwoStates(2, 3);
break;
case 5:
if (curChar == 123)
- jjAddStates(63, 64);
+ jjAddStates(65, 66);
break;
case 6:
if (curChar == 64)
@@ -2842,19 +2900,19 @@
break;
case 7:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(12, 14);
+ jjCheckNAddStates(14, 16);
break;
case 9:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(15, 17);
+ jjCheckNAddStates(17, 19);
break;
case 10:
- if (curChar == 125 && kind > 74)
- kind = 74;
+ if (curChar == 125 && kind > 75)
+ kind = 75;
break;
case 11:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(18, 21);
+ jjCheckNAddStates(20, 23);
break;
case 12:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -2866,7 +2924,7 @@
break;
case 15:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(22, 25);
+ jjCheckNAddStates(24, 27);
break;
case 16:
if (curChar == 93)
@@ -2922,15 +2980,15 @@
break;
case 29:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(26, 28);
+ jjCheckNAddStates(28, 30);
break;
case 31:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddStates(29, 31);
+ jjCheckNAddStates(31, 33);
break;
case 32:
- if (curChar == 125 && kind > 75)
- kind = 75;
+ if (curChar == 125 && kind > 76)
+ kind = 76;
break;
case 33:
if (curChar == 102)
@@ -2963,9 +3021,9 @@
case 40:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 79)
- kind = 79;
- jjCheckNAddStates(95, 99);
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAddStates(100, 106);
break;
case 41:
if ((0x7fffffe87fffffeL & l) != 0L)
@@ -2974,15 +3032,15 @@
case 43:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 76)
- kind = 76;
- jjCheckNAddStates(32, 34);
+ if (kind > 77)
+ kind = 77;
+ jjCheckNAddStates(34, 36);
break;
case 44:
if (curChar != 93)
break;
- if (kind > 76)
- kind = 76;
+ if (kind > 77)
+ kind = 77;
jjCheckNAdd(45);
break;
case 45:
@@ -2991,25 +3049,33 @@
break;
case 46:
if ((0x7fffffe87fffffeL & l) != 0L)
- jjCheckNAddTwoStates(46, 48);
+ jjCheckNAddTwoStates(46, 47);
break;
- case 47:
+ case 48:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(48, 47);
+ break;
+ case 50:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ jjCheckNAddTwoStates(50, 52);
+ break;
+ case 51:
if (curChar != 93)
break;
- if (kind > 77)
- kind = 77;
- jjCheckNAdd(48);
+ if (kind > 79)
+ kind = 79;
+ jjCheckNAdd(52);
break;
- case 48:
+ case 52:
if (curChar == 91)
- jjstateSet[jjnewStateCnt++] = 47;
+ jjstateSet[jjnewStateCnt++] = 51;
break;
- case 49:
+ case 53:
if ((0x7fffffe87fffffeL & l) == 0L)
break;
- if (kind > 79)
- kind = 79;
- jjCheckNAdd(49);
+ if (kind > 81)
+ kind = 81;
+ jjCheckNAdd(53);
break;
default : break;
}
@@ -3034,58 +3100,58 @@
kind = 0x7fffffff;
}
++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 50 - (jjnewStateCnt = startsAt)))
+ if ((i = jjnewStateCnt) == (startsAt = 54 - (jjnewStateCnt = startsAt)))
return curPos;
try { curChar = input_stream.readChar(); }
catch(java.io.IOException e) { return curPos; }
}
}
static final int[] jjnextStates = {
- 6, 7, 9, 89, 90, 94, 96, 97, 27, 39, 62, 87, 7, 8, 10, 8,
- 9, 10, 12, 13, 14, 10, 14, 15, 17, 10, 29, 30, 32, 30, 31, 32,
- 42, 43, 45, 43, 44, 45, 47, 48, 49, 45, 49, 50, 52, 45, 65, 66,
- 68, 66, 67, 68, 70, 71, 72, 68, 72, 73, 75, 68, 90, 91, 93, 6,
- 11, 41, 46, 64, 69, 5, 6, 10, 12, 13, 37, 49, 18, 19, 20, 22,
- 23, 24, 20, 24, 25, 27, 20, 39, 40, 42, 40, 41, 42, 16, 21, 41,
- 42, 46, 48, 49, 27, 39,
+ 6, 7, 9, 89, 90, 94, 98, 100, 101, 95, 27, 39, 62, 87, 7, 8,
+ 10, 8, 9, 10, 12, 13, 14, 10, 14, 15, 17, 10, 29, 30, 32, 30,
+ 31, 32, 42, 43, 45, 43, 44, 45, 47, 48, 49, 45, 49, 50, 52, 45,
+ 65, 66, 68, 66, 67, 68, 70, 71, 72, 68, 72, 73, 75, 68, 90, 91,
+ 93, 6, 11, 41, 46, 64, 69, 5, 6, 10, 12, 13, 37, 49, 17, 18,
+ 20, 18, 19, 20, 22, 23, 24, 20, 24, 25, 27, 20, 39, 40, 42, 40,
+ 41, 42, 16, 21, 41, 42, 46, 50, 52, 53, 47, 27, 39,
};
public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, "\143\141\154\154\50", "\141\154\154\50",
-"\145\170\145\143\165\164\151\157\156\50", "\143\157\156\163\164\162\165\143\164\151\157\156\50", "\150\141\163\50",
-"\150\141\163\146\151\145\154\144\50", "\147\145\164\50", "\163\145\164\50", "\146\151\145\154\144\50",
-"\167\151\164\150\151\156\50", "\167\151\164\150\151\156\143\157\144\145\50", null, null, null, null, "\41",
-null, null, "\56\56", null, null, null, null, null, null, "\54", null, null, null,
-"\51", null, null, "\141\142\163\164\162\141\143\164", "\146\151\156\141\154",
-"\160\162\151\166\141\164\145", "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143",
-"\163\164\141\164\151\143", "\156\141\164\151\166\145",
-"\163\171\156\143\150\162\157\156\151\172\145\144", "\156\145\167", "\164\150\162\157\167\163", null, null, null, "\54", null,
-null, null, null, null, null, null, null, "\55\76", "\41", "\50", "\51", null, null,
-"\141\142\163\164\162\141\143\164", "\146\151\156\141\154", "\160\162\151\166\141\164\145",
-"\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\163\164\141\164\151\143",
-"\164\162\141\156\163\151\145\156\164", "\156\141\164\151\166\145",
-"\163\171\156\143\150\162\157\156\151\172\145\144", null, null, null, null, null, null, null, null, null, "\55\76", "\41", "\51",
-"\50", "\51", };
+"", null, null, null, null, "\143\141\154\154\50", "\141\154\154\50",
+"\145\170\145\143\165\164\151\157\156\50", "\143\157\156\163\164\162\165\143\164\151\157\156\50", "\150\141\163\50",
+"\150\141\163\146\151\145\154\144\50", "\147\145\164\50", "\163\145\164\50", "\146\151\145\154\144\50",
+"\167\151\164\150\151\156\50", "\167\151\164\150\151\156\143\157\144\145\50", null, null, null, null, "\41",
+null, null, "\56\56", null, null, null, null, null, null, "\54", null, null, null,
+"\51", null, null, "\141\142\163\164\162\141\143\164", "\146\151\156\141\154",
+"\160\162\151\166\141\164\145", "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143",
+"\163\164\141\164\151\143", "\156\141\164\151\166\145",
+"\163\171\156\143\150\162\157\156\151\172\145\144", "\156\145\167", "\164\150\162\157\167\163", null, null, null, null, "\54",
+null, null, null, null, null, null, null, null, "\55\76", "\41", "\50", "\51", null,
+null, "\141\142\163\164\162\141\143\164", "\146\151\156\141\154",
+"\160\162\151\166\141\164\145", "\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143",
+"\163\164\141\164\151\143", "\164\162\141\156\163\151\145\156\164", "\156\141\164\151\166\145",
+"\163\171\156\143\150\162\157\156\151\172\145\144", null, null, null, null, null, null, null, null, null, null, "\55\76", "\41",
+"\51", "\50", "\51", };
public static final String[] lexStateNames = {
- "DEFAULT",
- "PARAMS",
- "BEHAVIOR",
- "FIELD_DECLARATION",
+ "DEFAULT",
+ "PARAMS",
+ "BEHAVIOR",
+ "FIELD_DECLARATION",
};
public static final int[] jjnewLexState = {
- -1, -1, -1, -1, -1, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
+ -1, -1, -1, -1, -1, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
};
static final long[] jjtoToken = {
- 0x78ffffe47f93fff9L, 0xf8fffeL,
+ 0xf1ffffe47f93fff9L, 0x3e3fffcL,
};
static final long[] jjtoSkip = {
- 0x8000001800600006L, 0x1L,
+ 0x1800600006L, 0x3L,
};
protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[98];
-private final int[] jjstateSet = new int[196];
+private final int[] jjrounds = new int[102];
+private final int[] jjstateSet = new int[204];
protected char curChar;
public PointcutExpressionParserTokenManager(SimpleCharStream stream)
{
@@ -3109,7 +3175,7 @@
{
int i;
jjround = 0x80000001;
- for (i = 98; i-- > 0;)
+ for (i = 102; i-- > 0;)
jjrounds[i] = 0x80000000;
}
public void ReInit(SimpleCharStream stream, int lexState)
@@ -3145,7 +3211,7 @@
int jjmatchedPos;
int jjmatchedKind;
-public Token getNextToken()
+public Token getNextToken()
{
int kind;
Token specialToken = null;
@@ -3154,13 +3220,13 @@
EOFLoop :
for (;;)
- {
- try
- {
+ {
+ try
+ {
curChar = input_stream.BeginToken();
- }
+ }
catch(java.io.IOException e)
- {
+ {
jjmatchedKind = 0;
matchedToken = jjFillToken();
return matchedToken;
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt 2007-01-23 22:49:58 UTC (rev 59961)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/ast/pointcut.jjt 2007-01-23 23:51:25 UTC (rev 59962)
@@ -76,7 +76,7 @@
|
< PARAM_ARRAY_CLASS: <PARAM_IDENTIFIER> (<PARAM_ARRAY>)+>
|
- < PARAM_ANNOTATION: "@" <PARAM_IDENTIFIER> (<PARAM_DOT> <PARAM_IDENTIFIER>)+ >
+ < PARAM_ANNOTATION: "@" <PARAM_IDENTIFIER> (<PARAM_DOT> <PARAM_IDENTIFIER>)* >
|
< PARAM_INSTANCEOF: "$instanceof{" (<PARAM_IDENTIFIER> | <PARAM_CLASS> | <PARAM_ANNOTATION>) "}">
|
@@ -120,6 +120,8 @@
|
< CLASS: <IDENTIFIER> (<DOT> <IDENTIFIER>)+ (<ARRAY>)*>
|
+ < PACKAGE: <IDENTIFIER> (<DOT> <IDENTIFIER>)* <DOT><DOT>>
+|
< EXCEPTION_SEPERATOR: "," >
|
< ARRAY_CLASS: <IDENTIFIER> (<ARRAY>)+>
@@ -166,6 +168,8 @@
< FIELD_TYPEDEF: "$typedef{" <POINTCUT> "}">
|
< FIELD_CLASS: <FIELD_IDENTIFIER> (<FIELD_DOT> <FIELD_IDENTIFIER>)+ (<FIELD_ARRAY>)*>
+|
+ < FIELD_PACKAGE: <FIELD_IDENTIFIER> (<FIELD_DOT> <FIELD_IDENTIFIER>)* <FIELD_DOT><FIELD_DOT>>
|
< FIELD_ARRAY_CLASS: <FIELD_IDENTIFIER> (<FIELD_ARRAY>)+>
|
@@ -305,7 +309,7 @@
{
<ALL>
- (pointcut=<FIELD_CLASS>|pointcut=<FIELD_IDENTIFIER>|pointcut=<FIELD_ANNOTATION>|pointcut=<FIELD_INSTANCEOF>|pointcut=<FIELD_TYPEDEF>)
+ (pointcut=<FIELD_CLASS>|pointcut=<FIELD_PACKAGE>|pointcut=<FIELD_IDENTIFIER>|pointcut=<FIELD_ANNOTATION>|pointcut=<FIELD_INSTANCEOF>|pointcut=<FIELD_TYPEDEF>)
{
jjtThis.setClassExpression(pointcut.image);
}
@@ -324,7 +328,7 @@
}
{
<WITHIN>
- (clazz=<FIELD_CLASS> | clazz=<FIELD_IDENTIFIER> | clazz=<FIELD_ANNOTATION> | clazz=<FIELD_INSTANCEOF>| clazz=<FIELD_TYPEDEF>)
+ (clazz=<FIELD_CLASS> | clazz=<FIELD_PACKAGE> | clazz=<FIELD_IDENTIFIER> | clazz=<FIELD_ANNOTATION> | clazz=<FIELD_INSTANCEOF>| clazz=<FIELD_TYPEDEF>)
<FIELD_CLOSE>
{ jjtThis.setClassExpression(clazz.image); }
}
@@ -375,7 +379,7 @@
Token ret, clazz, body;
}
{
- (Attribute())* (ret=<CLASS>|ret=<IDENTIFIER>|ret=<ANNOTATION>|ret=<ARRAY_CLASS>|ret=<INSTANCEOF>|ret=<TYPEDEF>) (clazz=<CLASS>|clazz=<IDENTIFIER>|clazz=<ANNOTATION>|clazz=<INSTANCEOF>|clazz=<TYPEDEF>) <SEPARATOR> (body=<IDENTIFIER>|body=<ANNOTATION>|body=<IMPLEMENTS>|body=<IMPLEMENTING>) Parameters() Throws()
+ (Attribute())* (ret=<CLASS>|ret=<IDENTIFIER>|ret=<ANNOTATION>|ret=<ARRAY_CLASS>|ret=<INSTANCEOF>|ret=<TYPEDEF>) (clazz=<CLASS>|clazz=<PACKAGE>|clazz=<IDENTIFIER>|clazz=<ANNOTATION>|clazz=<INSTANCEOF>|clazz=<TYPEDEF>) <SEPARATOR> (body=<IDENTIFIER>|body=<ANNOTATION>|body=<IMPLEMENTS>|body=<IMPLEMENTING>) Parameters() Throws()
{
jjtThis.setReturnTypeExpression(ret.image);
jjtThis.setClassExpression(clazz.image);
@@ -412,7 +416,7 @@
Token clazz, danew;
}
{
- (ConstructorAttribute())* (clazz=<CLASS> | clazz=<IDENTIFIER> | clazz=<ANNOTATION> | clazz=<INSTANCEOF> | clazz=<TYPEDEF>)
+ (ConstructorAttribute())* (clazz=<CLASS> | clazz=<PACKAGE> | clazz=<IDENTIFIER> | clazz=<ANNOTATION> | clazz=<INSTANCEOF> | clazz=<TYPEDEF>)
{
jjtThis.setClassExpression(clazz.image);
}
@@ -464,7 +468,7 @@
{
jjtThis.setTypeExpression(type.image);
}
- (clazz=<FIELD_CLASS> | clazz=<FIELD_IDENTIFIER> | clazz=<FIELD_ANNOTATION> | clazz=<FIELD_INSTANCEOF> | clazz=<FIELD_TYPEDEF>)
+ (clazz=<FIELD_CLASS> | clazz=<FIELD_PACKAGE> | clazz=<FIELD_IDENTIFIER> | clazz=<FIELD_ANNOTATION> | clazz=<FIELD_INSTANCEOF> | clazz=<FIELD_TYPEDEF>)
{
jjtThis.setClassExpr(clazz.image);
}
Added: projects/aop/trunk/aop/src/resources/test/packagedotdot/jboss-aop.xml
===================================================================
--- projects/aop/trunk/aop/src/resources/test/packagedotdot/jboss-aop.xml (rev 0)
+++ projects/aop/trunk/aop/src/resources/test/packagedotdot/jboss-aop.xml 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,55 @@
+<aop>
+ <interceptor class="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ <interceptor class="org.jboss.test.aop.packagedotdot.ConstructionInterceptor"/>
+
+ <bind pointcut="execution(org.jboss.test.aop.packagedotdot..->new(int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="construction(org.jboss.test.aop.packagedotdot..->new(int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.ConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="execution(* org.jboss.test.aop.packagedotdot..->method(int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="field(* org.jboss.test.aop.packagedotdot..->ifield)">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+
+ <bind pointcut="execution(*.packagedotdot..->new(int, int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="construction(*.packagedotdot..->new(int, int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.ConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="execution(* *.packagedotdot..->method(int, int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="field(* *.packagedotdot..->lfield)">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+
+ <bind pointcut="execution(org.jboss.test.aop.packagedotdot.sub.*..->new(int, int, int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="construction(org.jboss.test.aop.packagedotdot.sub.*..->new(int, int, int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.ConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="execution(* org.jboss.test.aop.packagedotdot.sub.*..->method(int, int, int))">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+ <bind pointcut="field(* org.jboss.test.aop.packagedotdot.sub.*..->sfield)">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+
+ <bind pointcut="all(org.jboss.test.aop.packagedotdot.all..)">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+
+ <bind pointcut="call(org.jboss.test.aop.packagedotdot.callee..->new()) AND within(org.jboss.test.aop.packagedotdot.caller..)">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+
+ <bind pointcut="call(* org.jboss.test.aop.packagedotdot.callee..->method()) AND within(org.jboss.test.aop.packagedotdot.caller..)">
+ <interceptor-ref name="org.jboss.test.aop.packagedotdot.NotConstructionInterceptor"/>
+ </bind>
+</aop>
\ No newline at end of file
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/AllInterceptor.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/AllInterceptor.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/AllInterceptor.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot;
+
+import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Invocation;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AllInterceptor implements Interceptor
+{
+ static boolean intercepted;
+ public String getName()
+ {
+ return this.getClass().getName();
+ }
+
+ public Object invoke(Invocation invocation) throws Throwable
+ {
+ intercepted = true;
+ return invocation.invokeNext();
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/ConstructionInterceptor.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/ConstructionInterceptor.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/ConstructionInterceptor.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot;
+
+import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Invocation;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class ConstructionInterceptor implements Interceptor
+{
+ static boolean intercepted;
+ public String getName()
+ {
+ return this.getClass().getName();
+ }
+
+ public Object invoke(Invocation invocation) throws Throwable
+ {
+ intercepted = true;
+ return invocation.invokeNext();
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/NotConstructionInterceptor.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/NotConstructionInterceptor.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/NotConstructionInterceptor.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,59 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot;
+
+import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Invocation;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class NotConstructionInterceptor implements Interceptor
+{
+ static boolean intercepted;
+ public String getName()
+ {
+ return this.getClass().getName();
+ }
+
+ public Object invoke(Invocation invocation) throws Throwable
+ {
+ try
+ {
+ intercepted = true;
+ return invocation.invokeNext();
+ }
+ catch (RuntimeException e)
+ {
+ Class clazz = invocation.getClass();
+ while (clazz != null)
+ {
+ System.out.println(clazz.getName());
+ clazz = clazz.getSuperclass();
+ }
+ throw e;
+ }
+ }
+
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOA.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOA.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOA.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,85 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOA
+{
+ public int ifield;
+ public long lfield;
+ public String sfield;
+
+ public POJOA(int i)
+ {
+
+ }
+
+ public POJOA(int i, int j)
+ {
+
+ }
+
+ public POJOA(int i, int j, int k)
+ {
+
+ }
+
+ public POJOA(int i, int j, int k, int l)
+ {
+
+ }
+
+ public POJOA(int i, int j, int k, int l, int m)
+ {
+
+ }
+
+
+ public void method(int i)
+ {
+
+ }
+
+ public void method(int i, int j)
+ {
+
+ }
+
+ public void method(int i, int j, int k)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l, int m)
+ {
+
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOB.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOB.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/POJOB.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,84 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJOB
+{
+ public int ifield;
+ public long lfield;
+ public String sfield;
+
+ public POJOB(int i)
+ {
+
+ }
+
+ public POJOB(int i, int j)
+ {
+
+ }
+
+ public POJOB(int i, int j, int k)
+ {
+
+ }
+
+ public POJOB(int i, int j, int k, int l)
+ {
+
+ }
+
+ public POJOB(int i, int j, int k, int l, int m)
+ {
+
+ }
+
+ public void method(int i)
+ {
+
+ }
+
+ public void method(int i, int j)
+ {
+
+ }
+
+ public void method(int i, int j, int k)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l, int m)
+ {
+
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/PackageTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/PackageTestCase.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/PackageTestCase.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,291 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.aop.packagedotdot;
+
+import org.jboss.test.aop.AOPTestWithSetup;
+import org.jboss.test.aop.packagedotdot.all.All;
+import org.jboss.test.aop.packagedotdot.callee.Callee;
+import org.jboss.test.aop.packagedotdot.caller.Caller;
+import org.jboss.test.aop.packagedotdot.sub.POJO;
+import org.jboss.test.aop.packagedotdot.sub.nested.Nested;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Here to test that a package expression works. So far this has only been implemented for the class part
+ * of field, constructor and method expressions.
+ *
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 45977 $
+ */
+public class PackageTestCase extends AOPTestWithSetup
+{
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite("PackageTestCase");
+ suite.addTestSuite(PackageTestCase.class);
+ return suite;
+ }
+
+ public PackageTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testConstructors() throws Exception
+ {
+ //Matched by: org.jboss.test.aop.packagedotdot..
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ POJOA pojoA = new POJOA(1);
+ assertTrue(ConstructionInterceptor.intercepted);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ POJOB pojoB = new POJOB(1);
+ assertTrue(ConstructionInterceptor.intercepted);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ POJO pojo = new POJO(1);
+ assertFalse(ConstructionInterceptor.intercepted);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ Nested nested = new Nested(1);
+ assertFalse(ConstructionInterceptor.intercepted);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ //Matched by: *.packagedotdot..
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ pojoA = new POJOA(1, 1);
+ assertTrue(ConstructionInterceptor.intercepted);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ pojoB = new POJOB(1, 1);
+ assertTrue(ConstructionInterceptor.intercepted);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ pojo = new POJO(1, 1);
+ assertFalse(ConstructionInterceptor.intercepted);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ nested = new Nested(1, 1);
+ assertFalse(ConstructionInterceptor.intercepted);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ //Matched by: org.jboss.test.aop.packagedotdot.sub.*..
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ pojoA = new POJOA(1, 1, 1);
+ assertFalse(ConstructionInterceptor.intercepted);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ pojoB = new POJOB(1, 1, 1);
+ assertFalse(ConstructionInterceptor.intercepted);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ pojo = new POJO(1, 1, 1);
+ assertFalse(ConstructionInterceptor.intercepted);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ ConstructionInterceptor.intercepted = false;
+ NotConstructionInterceptor.intercepted = false;
+ nested = new Nested(1, 1, 1);
+ assertTrue(ConstructionInterceptor.intercepted);
+ assertTrue(NotConstructionInterceptor.intercepted);
+ }
+
+ public void testMethods() throws Exception
+ {
+ POJOA pojoA = new POJOA(1);
+ POJOB pojoB = new POJOB(1);
+ POJO pojo = new POJO(1);
+ Nested nested = new Nested(1);
+
+ //Matched by: org.jboss.test.aop.packagedotdot..
+ NotConstructionInterceptor.intercepted = false;
+ pojoA.method(1);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojoB.method(1);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojo.method(1);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ nested.method(1);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ //Matched by: *.packagedotdot..
+ NotConstructionInterceptor.intercepted = false;
+ pojoA.method(1, 1);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojoB.method(1, 1);
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojo.method(1, 1);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ nested.method(1, 1);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ //Matched by: org.jboss.test.aop.packagedotdot.sub.*..
+ NotConstructionInterceptor.intercepted = false;
+ pojoA.method(1, 1, 1);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojoB.method(1, 1, 1);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojo.method(1, 1, 1);
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ nested.method(1, 1, 1);
+ assertTrue(NotConstructionInterceptor.intercepted);
+ }
+
+ public void testFields()
+ {
+ POJOA pojoA = new POJOA(1);
+ POJOB pojoB = new POJOB(1);
+ POJO pojo = new POJO(1);
+ Nested nested = new Nested(1);
+
+ //Matched by: org.jboss.test.aop.packagedotdot..
+ NotConstructionInterceptor.intercepted = false;
+ pojoA.ifield = 1;
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojoB.ifield = 1;
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojo.ifield = 1;
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ nested.ifield = 1;
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ //Matched by: *.packagedotdot..
+ NotConstructionInterceptor.intercepted = false;
+ pojoA.lfield = 1;
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojoB.lfield = 1;
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojo.lfield = 1;
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ nested.lfield = 1;
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ //Matched by: org.jboss.test.aop.packagedotdot.sub.*..
+ NotConstructionInterceptor.intercepted = false;
+ pojoA.sfield = "z";
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojoB.sfield = "z";
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ pojo.sfield = "z";
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ nested.sfield = "z";
+ assertTrue(NotConstructionInterceptor.intercepted);
+ }
+
+ public void testAll()
+ {
+ NotConstructionInterceptor.intercepted = false;
+ All all = new All();
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ all.field = 10;
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ int z = all.field;
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ all.method();
+ assertTrue(NotConstructionInterceptor.intercepted);
+ }
+
+ public void testCallAndWithin()
+ {
+ NotConstructionInterceptor.intercepted = false;
+ Callee callee = new Callee();
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ callee.method();
+ assertFalse(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ Caller caller = new Caller();
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+ NotConstructionInterceptor.intercepted = false;
+ caller.method();
+ assertTrue(NotConstructionInterceptor.intercepted);
+
+
+ }
+}
+
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/all/All.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/all/All.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/all/All.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot.all;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class All
+{
+ public int field;
+
+ public void method()
+ {
+
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/callee/Callee.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/callee/Callee.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/callee/Callee.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,40 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot.callee;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class Callee
+{
+ public Callee()
+ {
+
+ }
+
+ public void method()
+ {
+
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/caller/Caller.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/caller/Caller.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/caller/Caller.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot.caller;
+
+import org.jboss.test.aop.packagedotdot.callee.Callee;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class Caller
+{
+ Callee callee;
+ public Caller()
+ {
+ Callee callee = new Callee();
+ }
+
+ public void method()
+ {
+ callee.method();
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/POJO.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/POJO.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/POJO.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,84 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot.sub;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class POJO
+{
+ public int ifield;
+ public long lfield;
+ public String sfield;
+
+ public POJO(int i)
+ {
+
+ }
+
+ public POJO(int i, int j)
+ {
+
+ }
+
+ public POJO(int i, int j, int k)
+ {
+
+ }
+
+ public POJO(int i, int j, int k, int l)
+ {
+
+ }
+
+ public POJO(int i, int j, int k, int l, int m)
+ {
+
+ }
+
+ public void method(int i)
+ {
+
+ }
+
+ public void method(int i, int j)
+ {
+
+ }
+
+ public void method(int i, int j, int k)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l, int m)
+ {
+
+ }
+}
Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/nested/Nested.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/nested/Nested.java (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/packagedotdot/sub/nested/Nested.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -0,0 +1,84 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.aop.packagedotdot.sub.nested;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class Nested
+{
+ public int ifield;
+ public long lfield;
+ public String sfield;
+
+ public Nested(int i)
+ {
+
+ }
+
+ public Nested(int i, int j)
+ {
+
+ }
+
+ public Nested(int i, int j, int k)
+ {
+
+ }
+
+ public Nested(int i, int j, int k, int l)
+ {
+
+ }
+
+ public Nested(int i, int j, int k, int l, int m)
+ {
+
+ }
+
+ public void method(int i)
+ {
+
+ }
+
+ public void method(int i, int j)
+ {
+
+ }
+
+ public void method(int i, int j, int k)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l)
+ {
+
+ }
+
+ public void method(int i, int j, int k, int l, int m)
+ {
+
+ }
+}
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java 2007-01-23 22:49:58 UTC (rev 59961)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java 2007-01-23 23:51:25 UTC (rev 59962)
@@ -37,7 +37,7 @@
/**
* Tests an annotated introduction
*
- * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
* @version $Revision: 45977 $
*/
public class PointcutTestCase extends AOPTestWithSetup
@@ -54,24 +54,323 @@
super(name);
}
- public void testPassingPointcuts() throws Exception
+ public void testGoodMethodPointcuts() throws Exception
{
Executor e = new Executor();
+ e.parseGoodPointcut("execution(* *->*())");
e.parseGoodPointcut("execution(public * *->*())");
- e.parseGoodPointcut("execution(* *->*())");
- e.parseGoodPointcut("execution(* $instanceof{a}->$implements{a}())");
- e.parseGoodPointcut("execution(* $instanceof{a.b}->$implements{a.b}())");
- e.parseGoodPointcut("execution(* $instanceof{@a.b}->$implements{@a.b}())");
- e.parseGoodPointcut("execution(* $instanceof{a}->$implementing{a}())");
- e.parseGoodPointcut("execution(* $instanceof{a.b}->$implementing{a.b}())");
- e.parseGoodPointcut("execution(* $instanceof{@a.b}->$implementing{@a.b}())");
+ e.parseGoodPointcut("execution(public static * *->*())");
+ e.parseGoodPointcut("execution(protected static * *->*())");
+ e.parseGoodPointcut("execution(private static * *->*())");
+ e.parseGoodPointcut("execution(!public !static * *->*())");
+ e.parseGoodPointcut("execution(!protected !static * *->*())");
+ e.parseGoodPointcut("execution(!private !static * *->*())");
+
+ e.parseGoodPointcut("execution(@Ann @Ann->@Ann())");
+ e.parseGoodPointcut("execution(@org.acme.Ann @org.acme.Ann->@org.acme.Ann(int))");
+ e.parseGoodPointcut("execution(* @org.acme.Ann->@org.acme.Ann(int,..,long))");
+ e.parseGoodPointcut("execution(* @org.acme.Ann->@org.acme.Ann(..))");
+
+ e.parseGoodPointcut("execution(* *->*(org.acme.Clazz))");
+ e.parseGoodPointcut("execution(* *->*(Clazz))");
+ e.parseGoodPointcut("execution(* *->*(org.acme.Clazz, Clazz))");
+ e.parseGoodPointcut("execution(* *->*(org.acme.Clazz, int, Clazz))");
+ e.parseGoodPointcut("execution(* *->*(org.acme.Clazz, .., Clazz))");
+
+ e.parseGoodPointcut("execution(* *->*(@org.acme.Ann))");
+ e.parseGoodPointcut("execution(* *->*(@Ann))");
+ e.parseGoodPointcut("execution(* *->*(@org.acme.Ann, @Ann))");
+ e.parseGoodPointcut("execution(* *->*(@org.acme.Ann, int, @Ann))");
+ e.parseGoodPointcut("execution(* *->*(@org.acme.Ann, .., @Ann))");
+
+ e.parseGoodPointcut("execution(* *->*(org.acme.*))");
+ e.parseGoodPointcut("execution(* *->*(*))");
+ e.parseGoodPointcut("execution(* *->*(org.acme.*, Clazz))");
+ e.parseGoodPointcut("execution(* *->*(org.acme.Clazz, int, Clazz))");
+ e.parseGoodPointcut("execution(* *->*(org.acme.Clazz, .., Clazz))");
+
+ e.parseGoodPointcut("execution(* *->*(@org.acme.*))");
+ e.parseGoodPointcut("execution(* *->*(@*))");
+ e.parseGoodPointcut("execution(* *->*(@org.acme.*, @*))");
+ e.parseGoodPointcut("execution(* *->*(@org.acme.*, int, @*))");
+ e.parseGoodPointcut("execution(* *->*(@org.acme.*, .., @*))");
+
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.Ann}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@Ann}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.Ann}, $instanceof{@Ann}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.Ann}, int, $instanceof{@Ann}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.Ann}, .., $instanceof{@Ann}))");
+
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.*}, $instanceof{@*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.*}, int, $instanceof{@*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.acme.*}, .., $instanceof{@*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@org.*.Clazz}, .., $instanceof{@*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{@*.acme.Clazz}, .., $instanceof{@*}))");
+
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.Clazz}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{Clazz}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.Clazz}, $instanceof{Clazz}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.Clazz}, int, $instanceof{Clazz}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.Clazz}, .., $instanceof{Clazz}))");
+
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.*}, $instanceof{*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.*}, int, $instanceof{*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.acme.*}, .., $instanceof{*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{org.*.Clazz}, .., $instanceof{*}))");
+ e.parseGoodPointcut("execution(* *->*($instanceof{*.acme.Clazz}, .., $instanceof{*}))");
+
+ e.parseGoodPointcut("execution($instanceof{a} $instanceof{Clazz}->$implements{Clazz}())");
+ e.parseGoodPointcut("execution($instanceof{a.b} $instanceof{org.acme.Clazz}->$implements{org.acme.Clazz}())");
+ e.parseGoodPointcut("execution($instanceof{@a.Ann} $instanceof{Clazz}->$implements{org.acme.Clazz}())");
+ e.parseGoodPointcut("execution($instanceof{@Ann} $instanceof{org.acme.Clazz}->$implements{Clazz}())");
+
+ e.parseGoodPointcut("execution($instanceof{a} $instanceof{Clazz}->$implementing{Clazz}())");
+ e.parseGoodPointcut("execution($instanceof{a.b} $instanceof{org.acme.Clazz}->$implementing{org.acme.Clazz}())");
+ e.parseGoodPointcut("execution($instanceof{@a.Ann} $instanceof{Clazz}->$implementing{org.acme.Clazz}())");
+ e.parseGoodPointcut("execution($instanceof{@Ann} $instanceof{org.acme.Clazz}->$implementing{Clazz}())");
+
+ e.parseGoodPointcut("execution(* org..->*())");
+ e.parseGoodPointcut("execution(* org.acme..->*())");
+ e.parseGoodPointcut("execution(* org.*..->*())");
+ e.parseGoodPointcut("execution(* *.acme..->*())");
+
checkFailures(e.failures);
}
+ public void testGoodConstructorPointcuts() throws Exception
+ {
+ Executor e = new Executor();
+
+ e.parseGoodPointcut("execution(*->new())");
+ e.parseGoodPointcut("execution(public *->new())");
+ e.parseGoodPointcut("execution(public *->new())");
+ e.parseGoodPointcut("execution(protected *->new())");
+ e.parseGoodPointcut("execution(private *->new())");
+
+ //These should work
+// e.parseGoodPointcut("execution(!public *->new())");
+// e.parseGoodPointcut("execution(!protected *->new())");
+// e.parseGoodPointcut("execution(!private *->new())");
+
+ e.parseGoodPointcut("execution(@Ann->new())");
+ e.parseGoodPointcut("execution(@org.acme.Ann->new(int))");
+ e.parseGoodPointcut("execution(@org.acme.Ann->@org.acme.Ann(int,..,long))");
+ e.parseGoodPointcut("execution(@org.acme.Ann->@Ann(..))");
+
+ e.parseGoodPointcut("execution(*->new(org.acme.Clazz))");
+ e.parseGoodPointcut("execution(*->new(Clazz))");
+ e.parseGoodPointcut("execution(*->new(org.acme.Clazz, Clazz))");
+ e.parseGoodPointcut("execution(*->new(org.acme.Clazz, int, Clazz))");
+ e.parseGoodPointcut("execution(*->new(org.acme.Clazz, .., Clazz))");
+
+ e.parseGoodPointcut("execution(*->new(@org.acme.Ann))");
+ e.parseGoodPointcut("execution(*->new(@Ann))");
+ e.parseGoodPointcut("execution(*->new(@org.acme.Ann, @Ann))");
+ e.parseGoodPointcut("execution(*->new(@org.acme.Ann, int, @Ann))");
+ e.parseGoodPointcut("execution(*->new(@org.acme.Ann, .., @Ann))");
+
+ e.parseGoodPointcut("execution(*->new(org.acme.*))");
+ e.parseGoodPointcut("execution(*->new(*))");
+ e.parseGoodPointcut("execution(*->new(org.acme.*, Clazz))");
+ e.parseGoodPointcut("execution(*->new(org.acme.Clazz, int, Clazz))");
+ e.parseGoodPointcut("execution(*->new(org.acme.Clazz, .., Clazz))");
+
+ e.parseGoodPointcut("execution(*->new(@org.acme.*))");
+ e.parseGoodPointcut("execution(*->new(@*))");
+ e.parseGoodPointcut("execution(*->new(@org.acme.*, @*))");
+ e.parseGoodPointcut("execution(*->new(@org.acme.*, int, @*))");
+ e.parseGoodPointcut("execution(*->new(@org.acme.*, .., @*))");
+
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.Ann}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@Ann}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.Ann}, $instanceof{@Ann}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.Ann}, int, $instanceof{@Ann}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.Ann}, .., $instanceof{@Ann}))");
+
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.*}, $instanceof{@*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.*}, int, $instanceof{@*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.acme.*}, .., $instanceof{@*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@org.*.Clazz}, .., $instanceof{@*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{@*.acme.Clazz}, .., $instanceof{@*}))");
+
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.Clazz}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{Clazz}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.Clazz}, $instanceof{Clazz}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.Clazz}, int, $instanceof{Clazz}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.Clazz}, .., $instanceof{Clazz}))");
+
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.*}, $instanceof{*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.*}, int, $instanceof{*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{org.acme.*}, .., $instanceof{*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{org.*.Clazz}, .., $instanceof{*}))");
+ e.parseGoodPointcut("execution(*->new($instanceof{*.acme.Clazz}, .., $instanceof{*}))");
+
+ e.parseGoodPointcut("execution(org..->new())");
+ e.parseGoodPointcut("execution(org.acme..->new())");
+ e.parseGoodPointcut("execution(org.*..->new())");
+ e.parseGoodPointcut("execution(*.acme..->new())");
+
+ checkFailures(e.failures);
+ }
+
+ public void testGoodConstructionPointcuts() throws Exception
+ {
+ Executor e = new Executor();
+
+ e.parseGoodPointcut("construction(*->new())");
+ e.parseGoodPointcut("construction(public *->new())");
+ e.parseGoodPointcut("construction(public *->new())");
+ e.parseGoodPointcut("construction(protected *->new())");
+ e.parseGoodPointcut("construction(private *->new())");
+
+ //These should work
+// e.parseGoodPointcut("construction(!public *->new())");
+// e.parseGoodPointcut("construction(!protected *->new())");
+// e.parseGoodPointcut("construction(!private *->new())");
+
+ e.parseGoodPointcut("construction(@Ann->new())");
+ e.parseGoodPointcut("construction(@org.acme.Ann->new(int))");
+ e.parseGoodPointcut("construction(@org.acme.Ann->@org.acme.Ann(int,..,long))");
+ e.parseGoodPointcut("construction(@org.acme.Ann->@Ann(..))");
+
+ e.parseGoodPointcut("construction(*->new(org.acme.Clazz))");
+ e.parseGoodPointcut("construction(*->new(Clazz))");
+ e.parseGoodPointcut("construction(*->new(org.acme.Clazz, Clazz))");
+ e.parseGoodPointcut("construction(*->new(org.acme.Clazz, int, Clazz))");
+ e.parseGoodPointcut("construction(*->new(org.acme.Clazz, .., Clazz))");
+
+ e.parseGoodPointcut("construction(*->new(@org.acme.Ann))");
+ e.parseGoodPointcut("construction(*->new(@Ann))");
+ e.parseGoodPointcut("construction(*->new(@org.acme.Ann, @Ann))");
+ e.parseGoodPointcut("construction(*->new(@org.acme.Ann, int, @Ann))");
+ e.parseGoodPointcut("construction(*->new(@org.acme.Ann, .., @Ann))");
+
+ e.parseGoodPointcut("construction(*->new(org.acme.*))");
+ e.parseGoodPointcut("construction(*->new(*))");
+ e.parseGoodPointcut("construction(*->new(org.acme.*, Clazz))");
+ e.parseGoodPointcut("construction(*->new(org.acme.Clazz, int, Clazz))");
+ e.parseGoodPointcut("construction(*->new(org.acme.Clazz, .., Clazz))");
+
+ e.parseGoodPointcut("construction(*->new(@org.acme.*))");
+ e.parseGoodPointcut("construction(*->new(@*))");
+ e.parseGoodPointcut("construction(*->new(@org.acme.*, @*))");
+ e.parseGoodPointcut("construction(*->new(@org.acme.*, int, @*))");
+ e.parseGoodPointcut("construction(*->new(@org.acme.*, .., @*))");
+
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.Ann}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@Ann}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.Ann}, $instanceof{@Ann}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.Ann}, int, $instanceof{@Ann}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.Ann}, .., $instanceof{@Ann}))");
+
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.*}, $instanceof{@*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.*}, int, $instanceof{@*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.acme.*}, .., $instanceof{@*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@org.*.Clazz}, .., $instanceof{@*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{@*.acme.Clazz}, .., $instanceof{@*}))");
+
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.Clazz}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{Clazz}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.Clazz}, $instanceof{Clazz}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.Clazz}, int, $instanceof{Clazz}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.Clazz}, .., $instanceof{Clazz}))");
+
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.*}, $instanceof{*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.*}, int, $instanceof{*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{org.acme.*}, .., $instanceof{*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{org.*.Clazz}, .., $instanceof{*}))");
+ e.parseGoodPointcut("construction(*->new($instanceof{*.acme.Clazz}, .., $instanceof{*}))");
+
+ e.parseGoodPointcut("construction(org..->new())");
+ e.parseGoodPointcut("construction(org.acme..->new())");
+ e.parseGoodPointcut("construction(org.*..->new())");
+ e.parseGoodPointcut("construction(*.acme..->new())");
+
+ checkFailures(e.failures);
+ }
+
+ public void testGoodFieldPointcuts() throws Exception
+ {
+ Executor e = new Executor();
+ e.parseGoodPointcut("field(* *->*)");
+ e.parseGoodPointcut("field(public * *->*)");
+ e.parseGoodPointcut("field(public static * *->*)");
+ e.parseGoodPointcut("field(protected static * *->*)");
+ e.parseGoodPointcut("field(private static * *->*)");
+ e.parseGoodPointcut("field(!public !static * *->*)");
+ e.parseGoodPointcut("field(!protected !static * *->*)");
+ e.parseGoodPointcut("field(!private !static * *->*)");
+
+ e.parseGoodPointcut("field(@Ann @Ann->@Ann)");
+ e.parseGoodPointcut("field(@org.acme.Ann @org.acme.Ann->@org.acme.Ann)");
+
+ e.parseGoodPointcut("field($instanceof{a} $instanceof{Clazz}->x)");
+ e.parseGoodPointcut("field($instanceof{a.b} $instanceof{org.acme.Clazz}->y)");
+ e.parseGoodPointcut("field($instanceof{@a.Ann} $instanceof{Clazz}->x)");
+ e.parseGoodPointcut("field($instanceof{@Ann} $instanceof{org.acme.Clazz}->x)");
+
+ e.parseGoodPointcut("field(* org..->*)");
+ e.parseGoodPointcut("field(* org.acme..->*)");
+ e.parseGoodPointcut("field(* org.*..->*)");
+ e.parseGoodPointcut("field(* *.acme..->*)");
+
+ checkFailures(e.failures);
+ }
+
+ public void testGoodCompsitePointcuts() throws Exception
+ {
+ Executor e = new Executor();
+
+ e.parseGoodPointcut("call(* *->*()) AND within(*)");
+
+ e.parseGoodPointcut("call(org.acme.Clazz->new()) AND within(org.acme.Clazz)");
+ e.parseGoodPointcut("call(Clazz->new()) AND within(org.acme.Clazz)");
+ e.parseGoodPointcut("call(Clazz->new()) AND within(org.acme..)");
+ e.parseGoodPointcut("call(org.acme..->new()) AND within(*.acme..)");
+
+ e.parseGoodPointcut("call(int org.acme.Clazz->method()) AND within(org.acme.Clazz)");
+ e.parseGoodPointcut("call(int Clazz->method()) AND within(Clazz)");
+ e.parseGoodPointcut("call(int Clazz->method()) AND within(*.acme..)");
+ e.parseGoodPointcut("call(int org.acme..->method()) AND within(org.acme..)");
+
+ e.parseGoodPointcut("call(org.acme.Clazz->new()) AND withincode(org.acme.Clazz->new(int, java.lang.String[]))");
+ e.parseGoodPointcut("call(Clazz->new()) AND withincode(Clazz->new(.., int))");
+ e.parseGoodPointcut("call(org.acme..->new()) AND withincode(org.acme..->new(int, java.lang.String[]))");
+ e.parseGoodPointcut("call(Clazz->new()) AND withincode(*.acme..->new(.., int))");
+
+
+ e.parseGoodPointcut("call(int org.acme.Clazz->method()) AND withincode(int[] org.acme.Clazz->method(..))");
+ e.parseGoodPointcut("call(int Clazz->method()) AND withincode(* Clazz->method(long))");
+ e.parseGoodPointcut("call(int org.acme..->method()) AND withincode(int[] org.acme..->method(..))");
+ e.parseGoodPointcut("call(int Clazz->method()) AND withincode(* *acme..->method(long))");
+
+ checkFailures(e.failures);
+ }
+
public void testBadPointcuts() throws Exception
{
Executor e = new Executor();
- e.parseBadPointcut("execution(*->*()");
+
+ //Should maybe be implemented?
+ e.parseBadPointcut("execution(org.acme.. *->*())");
+ e.parseBadPointcut("execution(* *->*(org.acme..))");
+ e.parseBadPointcut("execution(* *->*(org.acme..))");
+
+ //Should maybe be implemented?
+ e.parseBadPointcut("execution(*->new(org.acme..))");
+
checkFailures(e.failures);
}
@@ -125,6 +424,8 @@
if (!expectFailure)
{
failures.add("+ Should have passed: " + pointcut);
+ System.out.println(pointcut);
+ e.printStackTrace(System.out);
}
}
}
More information about the jboss-cvs-commits
mailing list