org.aspectj.weaver.bcel
Class BcelCflowCounterFieldAdder

java.lang.Object
  extended by org.aspectj.weaver.ConcreteTypeMunger
      extended by org.aspectj.weaver.bcel.BcelTypeMunger
          extended by org.aspectj.weaver.bcel.BcelCflowCounterFieldAdder
All Implemented Interfaces:
PartialOrder.PartialComparable

public class BcelCflowCounterFieldAdder
extends BcelTypeMunger

This type munger will modify a given class (see the munge() method) to include a field representing a CflowCounter object.


Field Summary
 
Fields inherited from class org.aspectj.weaver.ConcreteTypeMunger
aspectType, munger
 
Constructor Summary
BcelCflowCounterFieldAdder(ResolvedMember cflowCounterField)
           
 
Method Summary
 boolean existsToSupportShadowMunging()
          Some type mungers are created purely to help with the implementation of shadow mungers.
 ResolvedMember getMatchingSyntheticMember(Member member)
           
 ResolvedMember getSignature()
           
 boolean matches(ResolvedType onType)
           
 boolean munge(org.aspectj.weaver.bcel.BcelClassWeaver weaver)
           
 java.lang.String toString()
           
 
Methods inherited from class org.aspectj.weaver.bcel.BcelTypeMunger
attemptToModifySuperCalls, equals, error, getTypeVariableAliases, hashCode, makeFieldGen, makeMethodGen, parameterizedFor, parameterizeWith, shouldOverwrite
 
Methods inherited from class org.aspectj.weaver.ConcreteTypeMunger
compareTo, equivalentTo, fallbackCompareTo, getAspectType, getMunger, getSourceLocation, getWorld, isLateMunger, isTargetTypeParameterized
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BcelCflowCounterFieldAdder

public BcelCflowCounterFieldAdder(ResolvedMember cflowCounterField)
Method Detail

munge

public boolean munge(org.aspectj.weaver.bcel.BcelClassWeaver weaver)
Overrides:
munge in class BcelTypeMunger

getMatchingSyntheticMember

public ResolvedMember getMatchingSyntheticMember(Member member)
Overrides:
getMatchingSyntheticMember in class ConcreteTypeMunger

getSignature

public ResolvedMember getSignature()
Overrides:
getSignature in class ConcreteTypeMunger

matches

public boolean matches(ResolvedType onType)
Overrides:
matches in class ConcreteTypeMunger

existsToSupportShadowMunging

public boolean existsToSupportShadowMunging()
Description copied from class: ConcreteTypeMunger
Some type mungers are created purely to help with the implementation of shadow mungers. For example to support the cflow() pointcut we create a new cflow field in the aspect, and that is added via a BcelCflowCounterFieldAdder. During compilation we need to compare sets of type mungers, and if some only come into existence after the 'shadowy' type things have been processed, we need to ignore them during the comparison. Returning true from this method indicates the type munger exists to support 'shadowy' stuff - and so can be ignored in some comparison.

Overrides:
existsToSupportShadowMunging in class ConcreteTypeMunger

toString

public java.lang.String toString()
Overrides:
toString in class BcelTypeMunger