Package org.aspectj.weaver.patterns
Class HasMemberTypePattern
java.lang.Object
org.aspectj.weaver.patterns.PatternNode
org.aspectj.weaver.patterns.TypePattern
org.aspectj.weaver.patterns.HasMemberTypePattern
- All Implemented Interfaces:
IHasPosition
,IHasSourceLocation
- Direct Known Subclasses:
HasMemberTypePatternForPerThisMatching
- Author:
- colyer Matches types that have a certain method / constructor / field Currently only allowed within declare parents and declare @type
-
Nested Class Summary
Nested classes/interfaces inherited from class org.aspectj.weaver.patterns.TypePattern
TypePattern.MatchKind
-
Field Summary
Fields inherited from class org.aspectj.weaver.patterns.TypePattern
AND, annotationPattern, ANY, ANY_KEY, ANY_WITH_ANNO, BINDING, DYNAMIC, ELLIPSIS, ELLIPSIS_KEY, EXACT, HAS_MEMBER, includeSubtypes, isVarArgs, NO, NO_KEY, NOT, OR, STATIC, TYPE_CATEGORY, typeParameters, WILD
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaccept(PatternNodeVisitor visitor, Object data)
boolean
int
hashCode()
protected boolean
hasMethod(ResolvedType type)
protected boolean
matchesExactly(ResolvedType type)
protected boolean
matchesExactly(ResolvedType type, ResolvedType annotatedType)
matchesInstanceof(ResolvedType type)
parameterizeWith(Map typeVariableMap, World w)
return a version of this type pattern in which all type variable references have been replaced by their corresponding entry in the map.static TypePattern
read(VersionedDataInputStream s, ISourceContext context)
resolveBindings(IScope scope, Bindings bindings, boolean allowBinding, boolean requireExactType)
This can modify in place, or return a new TypePattern if the type changes.toString()
void
Methods inherited from class org.aspectj.weaver.patterns.TypePattern
couldEverMatchSameTypesAs, getAnnotationPattern, getExactType, getTypeParameters, hasFailedResolution, isArray, isBangVoid, isEllipsis, isIncludeSubtypes, isStar, isStarAnnotation, isVarArgs, isVoid, matches, matchesStatically, matchesSubtypes, matchesSubtypes, notExactType, postRead, remapAdviceFormals, resolve, resolveExactType, setAnnotationTypePattern, setIsVarArgs, setTypeParameters
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
-
Constructor Details
-
HasMemberTypePattern
-
-
Method Details
-
matchesExactly
- Specified by:
matchesExactly
in classTypePattern
-
getSignaturePattern
-
hasMethod
-
matchesExactly
- Specified by:
matchesExactly
in classTypePattern
-
matchesInstanceof
- Specified by:
matchesInstanceof
in classTypePattern
-
parameterizeWith
Description copied from class:TypePattern
return a version of this type pattern in which all type variable references have been replaced by their corresponding entry in the map.- Specified by:
parameterizeWith
in classTypePattern
-
resolveBindings
public TypePattern resolveBindings(IScope scope, Bindings bindings, boolean allowBinding, boolean requireExactType)Description copied from class:TypePattern
This can modify in place, or return a new TypePattern if the type changes.- Overrides:
resolveBindings
in classTypePattern
-
equals
-
hashCode
public int hashCode() -
toString
-
write
- Specified by:
write
in classPatternNode
- Throws:
IOException
-
read
public static TypePattern read(VersionedDataInputStream s, ISourceContext context) throws IOException- Throws:
IOException
-
accept
- Specified by:
accept
in classPatternNode
-