org.aspectj.weaver.bcel
Class BcelCflowStackFieldAdder

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

public class BcelCflowStackFieldAdder
extends BcelTypeMunger


Field Summary
 
Fields inherited from class org.aspectj.weaver.ConcreteTypeMunger
aspectType, munger
 
Constructor Summary
BcelCflowStackFieldAdder(ResolvedMember cflowStackField)
           
 
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)
           
 
Methods inherited from class org.aspectj.weaver.bcel.BcelTypeMunger
attemptToModifySuperCalls, equals, error, getTypeVariableAliases, hashCode, makeFieldGen, makeMethodGen, parameterizedFor, parameterizeWith, shouldOverwrite, toString
 
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

BcelCflowStackFieldAdder

public BcelCflowStackFieldAdder(ResolvedMember cflowStackField)
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