org.aspectj.weaver
Class CrosscuttingMembersSet

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

public class CrosscuttingMembersSet
extends java.lang.Object

This holds on to all CrosscuttingMembers for a world. It handles management of change.


Field Summary
 int serializationVersion
           
 
Constructor Summary
CrosscuttingMembersSet(World world)
           
 
Method Summary
 void addAdviceLikeDeclares(ResolvedType aspectType)
           
 void addFixedCrosscuttingMembers(ResolvedType aspectType)
           
 boolean addOrReplaceAspect(ResolvedType aspectType)
           
 boolean addOrReplaceAspect(ResolvedType aspectType, boolean inWeavingPhase)
           
 boolean containsAspect(UnresolvedType aspectType)
           
 boolean deleteAspect(UnresolvedType aspectType)
           
 ResolvedType findAspectDeclaringParents(DeclareParents p)
           
 java.util.List<DeclareAnnotation> getDeclareAnnotationOnFields()
           
 java.util.List<DeclareAnnotation> getDeclareAnnotationOnMethods()
           
 java.util.List<DeclareAnnotation> getDeclareAnnotationOnTypes()
           
 java.util.List<Declare> getDeclareDominates()
           
 java.util.List<DeclareParents> getDeclareParents()
           
 java.util.List<DeclareSoft> getDeclareSofts()
           
 java.util.List<DeclareTypeErrorOrWarning> getDeclareTypeEows()
          Return an amalgamation of the declare type eow statements
 java.util.List<ConcreteTypeMunger> getLateTypeMungers()
           
 java.util.List<ShadowMunger> getShadowMungers()
           
 java.util.List<ConcreteTypeMunger> getTypeMungers()
           
 java.util.List<ConcreteTypeMunger> getTypeMungersOfKind(ResolvedTypeMunger.Kind kind)
          Retrieve a subset of all known mungers, those of a specific kind.
 boolean hasChangedSinceLastReset()
           
 void recordNecessaryCheck(IVerificationRequired verification)
          Record something that needs verifying when we believe the type system is complete.
 void reset()
           
 void verify()
          Called when type bindings are complete - calls all registered verification objects in turn.
 void write(CompressingDataOutputStream stream)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serializationVersion

public int serializationVersion
Constructor Detail

CrosscuttingMembersSet

public CrosscuttingMembersSet(World world)
Method Detail

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 java.util.List<ShadowMunger> getShadowMungers()

getTypeMungers

public java.util.List<ConcreteTypeMunger> getTypeMungers()

getTypeMungersOfKind

public java.util.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 java.util.List<ConcreteTypeMunger> getLateTypeMungers()

getDeclareSofts

public java.util.List<DeclareSoft> getDeclareSofts()

getDeclareParents

public java.util.List<DeclareParents> getDeclareParents()

getDeclareAnnotationOnTypes

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

getDeclareAnnotationOnFields

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

getDeclareAnnotationOnMethods

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

getDeclareTypeEows

public java.util.List<DeclareTypeErrorOrWarning> getDeclareTypeEows()
Return an amalgamation of the declare type eow statements


getDeclareDominates

public java.util.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 java.io.IOException
Throws:
java.io.IOException