Class PatternParser

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

public class PatternParser extends Object
Author:
PARC, Adrian Colyer, Andy Clement
  • Constructor Details

    • PatternParser

      public PatternParser(ITokenSource tokenSource)
      Constructor for PatternParser.
    • PatternParser

      public PatternParser(String data)
    • PatternParser

      public PatternParser(String data, ISourceContext context)
  • Method Details

    • setPointcutDesignatorHandlers

      public void setPointcutDesignatorHandlers(Set<PointcutDesignatorHandler> handlers, World world)
      only used by weaver tools API
    • maybeParsePerClause

      public PerClause maybeParsePerClause()
    • moreToParse

      public boolean moreToParse()
    • 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(boolean shouldConsumeAllInput)
    • parsePointcut

      public Pointcut parsePointcut()
    • parseSinglePointcut

      public Pointcut parseSinglePointcut()
    • parseAnnotationPointcut

      public Pointcut parseAnnotationPointcut()
    • parseDottedIdentifier

      public List<String> parseDottedIdentifier()
    • parseTypePattern

      public TypePattern parseTypePattern()
    • parseTypePattern

      public TypePattern parseTypePattern(boolean insideTypeParameters, boolean parameterAnnotationsPossible)
    • maybeParseAnnotationPattern

      public AnnotationTypePattern maybeParseAnnotationPattern()
    • maybeParseSingleAnnotationPattern

      public AnnotationTypePattern maybeParseSingleAnnotationPattern()
    • parseAnnotationValues

      public Map<String,​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(<category>) 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 List<NamePattern> parseDottedNamePattern()
    • parseAnnotationNameValuePattern

      public 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.
      Returns:
    • maybeParseSimpleTypeVariableList

      public String[] maybeParseSimpleTypeVariableList()
    • maybeParseTypeParameterList

      public TypePatternList maybeParseTypeParameterList()
    • parseTypeVariable

      public TypeVariablePattern parseTypeVariable()
    • parsePossibleStringSequence

      public String parsePossibleStringSequence(boolean shouldEnd)
    • parseStringLiteral

      public String parseStringLiteral()
    • parseIdentifier

      public String parseIdentifier()
    • eatIdentifier

      public void eatIdentifier(String expectedValue)
    • maybeEatIdentifier

      public boolean maybeEatIdentifier(String expectedValue)
    • eat

      public void eat(String expectedValue)
    • maybeEatAdjacent

      public boolean maybeEatAdjacent(String token)
    • maybeEat

      public boolean maybeEat(String token)
    • maybeEatIdentifier

      public String maybeEatIdentifier()
    • peek

      public boolean peek(String token)
    • checkEof

      public void checkEof()