Package org.aspectj.weaver.model
Class AsmRelationshipProvider
java.lang.Object
org.aspectj.weaver.model.AsmRelationshipProvider
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
addAdvisedRelationship
(AsmManager model, Shadow matchedShadow, ShadowMunger munger) static void
addDeclareAnnotationFieldRelationship
(AsmManager model, ISourceLocation declareLocation, String affectedTypeName, ResolvedMember affectedFieldName, boolean isRemove) Add a relationship for a matching declare ATfield.static void
addDeclareAnnotationMethodRelationship
(ISourceLocation sourceLocation, String affectedTypeName, ResolvedMember affectedMethod, AsmManager model) Add a relationship for a matching declare annotation method or declare annotation constructor.static void
addDeclareAnnotationRelationship
(AsmManager model, ISourceLocation declareAnnotationLocation, ISourceLocation annotatedLocation, boolean isRemove) Adds a declare annotation relationship, sometimes entities don't have source locs (methods/fields) so use other variants of this method if that is the case as they will look the entities up in the structure model.static void
addDeclareErrorOrWarningRelationship
(AsmManager model, Shadow affectedShadow, Checker deow) Add a relationship for a declare error or declare warningstatic void
addRelationship
(AsmManager model, ResolvedType onType, ResolvedTypeMunger typeTransformer, ResolvedType originatingAspect) Add a relationship for a type transformation (declare parents, intertype method declaration, declare annotation on type).static IProgramElement
createFileStructureNode
(AsmManager asm, String sourceFilePath) static void
createHierarchyForBinaryAspect
(AsmManager asm, ShadowMunger munger) Creates the hierarchy for binary aspectsstatic String
getHandle
(AsmManager asm, Advice advice) protected static IProgramElement
getNode
(AsmManager model, Shadow shadow)
-
Field Details
-
ADVISES
- See Also:
-
ADVISED_BY
- See Also:
-
DECLARES_ON
- See Also:
-
DECLAREDY_BY
- See Also:
-
SOFTENS
- See Also:
-
SOFTENED_BY
- See Also:
-
MATCHED_BY
- See Also:
-
MATCHES_DECLARE
- See Also:
-
INTER_TYPE_DECLARES
- See Also:
-
INTER_TYPE_DECLARED_BY
- See Also:
-
ANNOTATES
- See Also:
-
ANNOTATED_BY
- See Also:
-
-
Constructor Details
-
AsmRelationshipProvider
public AsmRelationshipProvider()
-
-
Method Details
-
addDeclareErrorOrWarningRelationship
public static void addDeclareErrorOrWarningRelationship(AsmManager model, Shadow affectedShadow, Checker deow) Add a relationship for a declare error or declare warning -
addRelationship
public static void addRelationship(AsmManager model, ResolvedType onType, ResolvedTypeMunger typeTransformer, ResolvedType originatingAspect) Add a relationship for a type transformation (declare parents, intertype method declaration, declare annotation on type). -
createFileStructureNode
-
addDeclareAnnotationRelationship
public static void addDeclareAnnotationRelationship(AsmManager model, ISourceLocation declareAnnotationLocation, ISourceLocation annotatedLocation, boolean isRemove) Adds a declare annotation relationship, sometimes entities don't have source locs (methods/fields) so use other variants of this method if that is the case as they will look the entities up in the structure model. -
createHierarchyForBinaryAspect
Creates the hierarchy for binary aspects -
getHandle
-
addAdvisedRelationship
public static void addAdvisedRelationship(AsmManager model, Shadow matchedShadow, ShadowMunger munger) -
getNode
-
addDeclareAnnotationMethodRelationship
public static void addDeclareAnnotationMethodRelationship(ISourceLocation sourceLocation, String affectedTypeName, ResolvedMember affectedMethod, AsmManager model) Add a relationship for a matching declare annotation method or declare annotation constructor. Locating the method is a messy (for messy read 'fragile') bit of code that could break at any moment but it's working for my simple testcase. -
addDeclareAnnotationFieldRelationship
public static void addDeclareAnnotationFieldRelationship(AsmManager model, ISourceLocation declareLocation, String affectedTypeName, ResolvedMember affectedFieldName, boolean isRemove) Add a relationship for a matching declare ATfield. Locating the field is trickier than it might seem since we have no line number info for it, we have to dig through the structure model under the fields' type in order to locate it.
-