Class CrosscuttingMembersSet

java.lang.Object
org.aspectj.weaver.CrosscuttingMembersSet

public class CrosscuttingMembersSet extends Object
This holds on to all CrosscuttingMembers for a world. It handles management of change.
Author:
Jim Hugunin, Andy Clement
  • Field Details

    • serializationVersion

      public int serializationVersion
  • Constructor Details

    • CrosscuttingMembersSet

      public CrosscuttingMembersSet(World world)
  • Method Details

    • addOrReplaceAspect

      public boolean addOrReplaceAspect(ResolvedType aspectType)
    • addOrReplaceAspect

      public boolean addOrReplaceAspect(ResolvedType aspectType, boolean inWeavingPhase)
      Returns:
      whether or not that was a change to the global signature XXX for efficiency we will need a richer representation than this
    • addAdviceLikeDeclares

      public void addAdviceLikeDeclares(ResolvedType aspectType)
    • deleteAspect

      public boolean deleteAspect(UnresolvedType aspectType)
    • containsAspect

      public boolean containsAspect(UnresolvedType aspectType)
    • addFixedCrosscuttingMembers

      public void addFixedCrosscuttingMembers(ResolvedType aspectType)
    • getShadowMungers

      public List<ShadowMunger> getShadowMungers()
    • getTypeMungers

      public List<ConcreteTypeMunger> getTypeMungers()
    • getTypeMungersOfKind

      public List<ConcreteTypeMunger> getTypeMungersOfKind(ResolvedTypeMunger.Kind kind)
      Retrieve a subset of all known mungers, those of a specific kind.
      Parameters:
      kind - the kind of munger requested
      Returns:
      a list of those mungers (list is empty if none found)
    • getLateTypeMungers

      public List<ConcreteTypeMunger> getLateTypeMungers()
    • getDeclareSofts

      public List<DeclareSoft> getDeclareSofts()
    • getDeclareParents

      public List<DeclareParents> getDeclareParents()
    • getDeclareAnnotationOnTypes

      public List<DeclareAnnotation> getDeclareAnnotationOnTypes()
      Returns:
      an amalgamation of the declare @type statements.
    • getDeclareAnnotationOnFields

      public List<DeclareAnnotation> getDeclareAnnotationOnFields()
      Returns:
      an amalgamation of the declare @field statements.
    • getDeclareAnnotationOnMethods

      public List<DeclareAnnotation> getDeclareAnnotationOnMethods()
      Returns:
      an amalgamation of the declare @method/@constructor statements.
    • getDeclareTypeEows

      public List<DeclareTypeErrorOrWarning> getDeclareTypeEows()
      Return an amalgamation of the declare type eow statements
    • getDeclareDominates

      public List<Declare> getDeclareDominates()
    • findAspectDeclaringParents

      public ResolvedType findAspectDeclaringParents(DeclareParents p)
    • reset

      public void reset()
    • hasChangedSinceLastReset

      public boolean hasChangedSinceLastReset()
    • recordNecessaryCheck

      public void recordNecessaryCheck(IVerificationRequired verification)
      Record something that needs verifying when we believe the type system is complete. Used for things that can't be verified as we go along - for example some recursive type variable references (pr133307)
    • verify

      public void verify()
      Called when type bindings are complete - calls all registered verification objects in turn.
    • write

      public void write(CompressingDataOutputStream stream) throws IOException
      Throws:
      IOException