Package org.aspectj.weaver.patterns
Class DeclareParents
java.lang.Object
org.aspectj.weaver.patterns.PatternNode
org.aspectj.weaver.patterns.Declare
org.aspectj.weaver.patterns.DeclareParents
- All Implemented Interfaces:
IHasPosition
,IHasSourceLocation
- Direct Known Subclasses:
DeclareParentsMixin
- Author:
- Thomas Kiviaho, Andy Clement, PARC
-
Field Summary
Modifier and TypeFieldDescriptionprotected TypePattern
protected boolean
protected TypePatternList
Fields inherited from class org.aspectj.weaver.patterns.Declare
ANNOTATION, DOMINATES, ERROR_OR_WARNING, PARENTS, PARENTSMIXIN, SOFT, TYPE_ERROR_OR_WARNING
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
-
Constructor Summary
ModifierConstructorDescriptionDeclareParents
(TypePattern child, List<TypePattern> parents, boolean isExtends) protected
DeclareParents
(TypePattern child, TypePatternList parents, boolean isExtends) -
Method Summary
Modifier and TypeMethodDescriptionaccept
(PatternNodeVisitor visitor, Object data) boolean
findMatchingNewParents
(ResolvedType onType, boolean reportErrors) getChild()
Declares have methods in the .class file against which info can be stored (for example, the annotation in the case of declare annotation).int
hashCode()
boolean
Indicates if this declare should be treated like advice.boolean
boolean
isMixin()
boolean
match
(ResolvedType typeX) parameterizeWith
(Map<String, UnresolvedType> typeVariableBindingMap, World w) Returns a version of this declare element in which all references to type variables are replaced with their bindings given in the map.boolean
boolean
static Declare
read
(VersionedDataInputStream s, ISourceContext context) void
Returns this declare mutatedtoString()
traverse
(PatternNodeVisitor visitor, Object data) void
Methods inherited from class org.aspectj.weaver.patterns.Declare
getDeclaringType, setDeclaringType
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, writeLocation
-
Field Details
-
child
-
parents
-
isExtends
protected boolean isExtends
-
-
Constructor Details
-
DeclareParents
-
DeclareParents
-
-
Method Details
-
match
-
accept
- Specified by:
accept
in classPatternNode
-
traverse
- Overrides:
traverse
in classPatternNode
-
parameterizeWith
Description copied from class:Declare
Returns a version of this declare element in which all references to type variables are replaced with their bindings given in the map.- Specified by:
parameterizeWith
in classDeclare
-
toString
-
equals
-
hashCode
-
write
- Specified by:
write
in classPatternNode
- Throws:
IOException
-
read
- Throws:
IOException
-
parentsIncludeInterface
-
parentsIncludeClass
-
resolve
-
getParents
-
getChild
-
isExtends
public boolean isExtends() -
isAdviceLike
public boolean isAdviceLike()Description copied from class:Declare
Indicates if this declare should be treated like advice. If true, the declare will have no effect in an abstract aspect. It will be inherited by any concrete aspects and will have an effect for each concrete aspect it is ultimately inherited by.- Specified by:
isAdviceLike
in classDeclare
-
findMatchingNewParents
-
getNameSuffix
Description copied from class:Declare
Declares have methods in the .class file against which info can be stored (for example, the annotation in the case of declare annotation). The name is of the form ajc$declare_XXX_NNN where XXX can optionally be set in this 'getNameSuffix()' method - depending on whether, at weave time, we want to easily differentiate between the declare methods.- Specified by:
getNameSuffix
in classDeclare
-
isMixin
public boolean isMixin()
-