summaryrefslogtreecommitdiffstats
path: root/weaver/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'weaver/src/org')
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PatternParser.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/PatternParser.java b/weaver/src/org/aspectj/weaver/patterns/PatternParser.java
index 3d5866203..e37663d3d 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PatternParser.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PatternParser.java
@@ -546,8 +546,13 @@ public class PatternParser {
onType = null;
}
+ String simpleName = name.maybeGetSimpleName();
+ if (simpleName == null) {
+ throw new ParserException("(",tokenSource.peek(-1));
+ }
+
TypePatternList arguments = parseArgumentsPattern();
- return new ReferencePointcut(onType, name.maybeGetSimpleName(), arguments);
+ return new ReferencePointcut(onType, simpleName, arguments);
}
private Pointcut parseDesignatorPointcut(PointcutDesignatorHandler pcdHandler) {
@@ -1325,7 +1330,11 @@ public class PatternParser {
if (shouldEnd && t!=IToken.EOF) {
throw new ParserException("<string>;",token);
}
-
+ // bug 125027: since we've eaten the ";" we need to set the index
+ // to be one less otherwise the end position isn't set correctly.
+ int currentIndex = tokenSource.getIndex();
+ tokenSource.setIndex(currentIndex-1);
+
return result.toString();
}