org.aspectj.weaver.patterns
Class PatternParser

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternParser

public class PatternParser
extends java.lang.Object


Constructor Summary
PatternParser(ITokenSource tokenSource)
          Constructor for PatternParser.
PatternParser(java.lang.String data)
           
PatternParser(java.lang.String data, ISourceContext context)
           
 
Method Summary
 void checkEof()
           
 void eat(java.lang.String expectedValue)
           
 void eatIdentifier(java.lang.String expectedValue)
           
 boolean maybeEat(java.lang.String token)
           
 boolean maybeEatAdjacent(java.lang.String token)
           
 java.lang.String maybeEatIdentifier()
           
 boolean maybeEatIdentifier(java.lang.String expectedValue)
           
 AnnotationTypePattern maybeParseAnnotationPattern()
           
 PerClause maybeParsePerClause()
           
 java.lang.String[] maybeParseSimpleTypeVariableList()
           
 AnnotationTypePattern maybeParseSingleAnnotationPattern()
           
 TypePatternList maybeParseTypeParameterList()
           
 TypeVariablePatternList maybeParseTypeVariableList()
          Parse type variable declarations for a generic method or at the start of a signature pointcut to identify type variable names in a generic type.
protected  ExactAnnotationTypePattern parseAnnotationNameOrVarTypePattern()
           
 java.lang.String parseAnnotationNameValuePattern()
           
 Pointcut parseAnnotationPointcut()
           
 java.util.Map<java.lang.String,java.lang.String> parseAnnotationValues()
           
 AnnotationPatternList parseArgumentsAnnotationPattern()
           
 TypePatternList parseArgumentsPattern(boolean parameterAnnotationsPossible)
           
 ISignaturePattern parseCompoundFieldSignaturePattern()
           
 ISignaturePattern parseCompoundMethodOrConstructorSignaturePattern(boolean isMethod)
           
 Declare parseDeclare()
           
 Declare parseDeclareAnnotation()
           
 DeclareAnnotation parseDeclareAtField()
           
 DeclareAnnotation parseDeclareAtMethod(boolean isMethod)
           
 DeclareAnnotation parseDeclareAtType()
           
 DeclarePrecedence parseDominates()
           
 java.util.List<java.lang.String> parseDottedIdentifier()
           
 java.util.List<NamePattern> parseDottedNamePattern()
           
 SignaturePattern parseFieldSignaturePattern()
           
 TypePattern parseGenericsWildcardTypePattern()
           
 TypePattern parseHasFieldTypePattern()
           
 TypePattern parseHasMethodTypePattern()
           
 java.lang.String parseIdentifier()
           
 TypePattern parseIsTypePattern()
          Attempt to parse a typeIs() construct.
 ISignaturePattern parseMaybeParenthesizedFieldSignaturePattern()
           
 ISignaturePattern parseMaybeParenthesizedMethodOrConstructorSignaturePattern(boolean isMethod)
           
 SignaturePattern parseMethodOrConstructorSignaturePattern()
           
 ModifiersPattern parseModifiersPattern()
           
 NamePattern parseNamePattern()
           
 ThrowsPattern parseOptionalThrowsPattern()
           
 Pointcut parsePointcut()
           
 java.lang.String parsePossibleStringSequence(boolean shouldEnd)
           
 Pointcut parseSinglePointcut()
           
 TypePattern parseSingleTypePattern()
           
 TypePattern parseSingleTypePattern(boolean insideTypeParameters)
           
 java.lang.String parseStringLiteral()
           
 TypePattern parseTypePattern()
           
 TypePattern parseTypePattern(boolean insideTypeParameters, boolean parameterAnnotationsPossible)
           
 TypeVariablePattern parseTypeVariable()
           
 boolean peek(java.lang.String token)
           
 void setPointcutDesignatorHandlers(java.util.Set<PointcutDesignatorHandler> handlers, World world)
          only used by weaver tools API
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PatternParser

public PatternParser(ITokenSource tokenSource)
Constructor for PatternParser.


PatternParser

public PatternParser(java.lang.String data)

PatternParser

public PatternParser(java.lang.String data,
                     ISourceContext context)
Method Detail

setPointcutDesignatorHandlers

public void setPointcutDesignatorHandlers(java.util.Set<PointcutDesignatorHandler> handlers,
                                          World world)
only used by weaver tools API


maybeParsePerClause

public PerClause maybeParsePerClause()

parseDeclare

public Declare parseDeclare()

parseDeclareAnnotation

public Declare parseDeclareAnnotation()

parseDeclareAtType

public DeclareAnnotation parseDeclareAtType()

parseDeclareAtMethod

public DeclareAnnotation parseDeclareAtMethod(boolean isMethod)

parseDeclareAtField

public DeclareAnnotation parseDeclareAtField()

parseCompoundFieldSignaturePattern

public ISignaturePattern parseCompoundFieldSignaturePattern()

parseCompoundMethodOrConstructorSignaturePattern

public ISignaturePattern parseCompoundMethodOrConstructorSignaturePattern(boolean isMethod)

parseDominates

public DeclarePrecedence parseDominates()

parsePointcut

public Pointcut parsePointcut()

parseSinglePointcut

public Pointcut parseSinglePointcut()

parseAnnotationPointcut

public Pointcut parseAnnotationPointcut()

parseDottedIdentifier

public java.util.List<java.lang.String> parseDottedIdentifier()

parseTypePattern

public TypePattern parseTypePattern()

parseTypePattern

public TypePattern parseTypePattern(boolean insideTypeParameters,
                                    boolean parameterAnnotationsPossible)

maybeParseAnnotationPattern

public AnnotationTypePattern maybeParseAnnotationPattern()

maybeParseSingleAnnotationPattern

public AnnotationTypePattern maybeParseSingleAnnotationPattern()

parseAnnotationValues

public java.util.Map<java.lang.String,java.lang.String> parseAnnotationValues()

parseSingleTypePattern

public TypePattern parseSingleTypePattern()

parseSingleTypePattern

public TypePattern parseSingleTypePattern(boolean insideTypeParameters)

parseHasMethodTypePattern

public TypePattern parseHasMethodTypePattern()

parseIsTypePattern

public TypePattern parseIsTypePattern()
Attempt to parse a typeIs() construct. If it cannot be parsed we just return null and that should cause the caller to reset their position and attempt to consume it in another way. This means we won't have problems here: execution(* typeIs(..)) because someone has decided to call a method the same as our construct.

Returns:
a TypeIsTypePattern or null if could not be parsed

parseHasFieldTypePattern

public TypePattern parseHasFieldTypePattern()

parseGenericsWildcardTypePattern

public TypePattern parseGenericsWildcardTypePattern()

parseAnnotationNameOrVarTypePattern

protected ExactAnnotationTypePattern parseAnnotationNameOrVarTypePattern()

parseDottedNamePattern

public java.util.List<NamePattern> parseDottedNamePattern()

parseAnnotationNameValuePattern

public java.lang.String parseAnnotationNameValuePattern()

parseNamePattern

public NamePattern parseNamePattern()

parseModifiersPattern

public ModifiersPattern parseModifiersPattern()

parseArgumentsPattern

public TypePatternList parseArgumentsPattern(boolean parameterAnnotationsPossible)

parseArgumentsAnnotationPattern

public AnnotationPatternList parseArgumentsAnnotationPattern()

parseOptionalThrowsPattern

public ThrowsPattern parseOptionalThrowsPattern()

parseMethodOrConstructorSignaturePattern

public SignaturePattern parseMethodOrConstructorSignaturePattern()

parseMaybeParenthesizedFieldSignaturePattern

public ISignaturePattern parseMaybeParenthesizedFieldSignaturePattern()

parseMaybeParenthesizedMethodOrConstructorSignaturePattern

public ISignaturePattern parseMaybeParenthesizedMethodOrConstructorSignaturePattern(boolean isMethod)

parseFieldSignaturePattern

public SignaturePattern parseFieldSignaturePattern()

maybeParseTypeVariableList

public TypeVariablePatternList maybeParseTypeVariableList()
Parse type variable declarations for a generic method or at the start of a signature pointcut to identify type variable names in a generic type.

Parameters:
includeParameterizedTypes -
Returns:

maybeParseSimpleTypeVariableList

public java.lang.String[] maybeParseSimpleTypeVariableList()

maybeParseTypeParameterList

public TypePatternList maybeParseTypeParameterList()

parseTypeVariable

public TypeVariablePattern parseTypeVariable()

parsePossibleStringSequence

public java.lang.String parsePossibleStringSequence(boolean shouldEnd)

parseStringLiteral

public java.lang.String parseStringLiteral()

parseIdentifier

public java.lang.String parseIdentifier()

eatIdentifier

public void eatIdentifier(java.lang.String expectedValue)

maybeEatIdentifier

public boolean maybeEatIdentifier(java.lang.String expectedValue)

eat

public void eat(java.lang.String expectedValue)

maybeEatAdjacent

public boolean maybeEatAdjacent(java.lang.String token)

maybeEat

public boolean maybeEat(java.lang.String token)

maybeEatIdentifier

public java.lang.String maybeEatIdentifier()

peek

public boolean peek(java.lang.String token)

checkEof

public void checkEof()