org.aspectj.weaver.bcel
Class BcelTypeMunger
java.lang.Object
org.aspectj.weaver.ConcreteTypeMunger
org.aspectj.weaver.bcel.BcelTypeMunger
- All Implemented Interfaces:
- PartialOrder.PartialComparable
- Direct Known Subclasses:
- BcelAccessForInlineMunger, BcelCflowCounterFieldAdder, BcelCflowStackFieldAdder, BcelPerClauseAspectAdder
public class BcelTypeMunger
- extends ConcreteTypeMunger
Methods inherited from class org.aspectj.weaver.ConcreteTypeMunger |
compareTo, equivalentTo, existsToSupportShadowMunging, fallbackCompareTo, getAspectType, getMatchingSyntheticMember, getMunger, getSignature, getSourceLocation, getWorld, isLateMunger, isTargetTypeParameterized, matches |
Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
BcelTypeMunger
public BcelTypeMunger(ResolvedTypeMunger munger,
ResolvedType aspectType)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
shouldOverwrite
public boolean shouldOverwrite()
- Overrides:
shouldOverwrite
in class ConcreteTypeMunger
munge
public boolean munge(org.aspectj.weaver.bcel.BcelClassWeaver weaver)
error
public void error(org.aspectj.weaver.bcel.BcelClassWeaver weaver,
java.lang.String text,
ISourceLocation primaryLoc,
ISourceLocation[] extraLocs)
attemptToModifySuperCalls
public boolean attemptToModifySuperCalls(org.aspectj.weaver.bcel.BcelClassWeaver weaver,
LazyClassGen newParentTarget,
ResolvedType newParent)
- The main part of implementing declare parents extends. Modify super ctor calls to target the new type.
parameterizedFor
public ConcreteTypeMunger parameterizedFor(ResolvedType target)
- Description copied from class:
ConcreteTypeMunger
- For an ITD made on a generic type that shares type variables with that target type, this method will tailor the ITD for a
particular usage of the generic type - either in its raw or parameterized form.
- Specified by:
parameterizedFor
in class ConcreteTypeMunger
parameterizeWith
public ConcreteTypeMunger parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> m,
World w)
- Specified by:
parameterizeWith
in class ConcreteTypeMunger
getTypeVariableAliases
public java.util.List<java.lang.String> getTypeVariableAliases()
- Returns a list of type variable aliases used in this munger. For example, if the ITD is 'int I.m(List las,List
lbs) {}' then this returns a list containing the strings "A" and "B".
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object