diff options
author | aclement <aclement> | 2006-01-25 11:28:51 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-01-25 11:28:51 +0000 |
commit | 99eb7f8654eef884dfb204f8fdc0ea00fe849cec (patch) | |
tree | dc89bd9b9dbbfb17b241fc8f5345232a71edf4ae /weaver/src/org | |
parent | 244a1c78371fab02a6b2a9937fcc27e6cf1bc61d (diff) | |
download | aspectj-99eb7f8654eef884dfb204f8fdc0ea00fe849cec.tar.gz aspectj-99eb7f8654eef884dfb204f8fdc0ea00fe849cec.zip |
fix for 122452 - pattern parser for a duff pointcut definition. Also fix for 125027 (deow length set wrong during parsing). latter fix from Helen.
Diffstat (limited to 'weaver/src/org')
-rw-r--r-- | weaver/src/org/aspectj/weaver/patterns/PatternParser.java | 13 |
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(); } |