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
Method Summary |
boolean |
attemptToModifySuperCalls(org.aspectj.weaver.bcel.BcelClassWeaver weaver,
LazyClassGen newParentTarget,
ResolvedType newParent)
The main part of implementing declare parents extends. |
boolean |
equals(java.lang.Object other)
|
void |
error(org.aspectj.weaver.bcel.BcelClassWeaver weaver,
java.lang.String text,
ISourceLocation primaryLoc,
ISourceLocation[] extraLocs)
|
java.util.List<java.lang.String> |
getTypeVariableAliases()
Returns a list of type variable aliases used in this munger. |
int |
hashCode()
|
protected FieldGen |
makeFieldGen(LazyClassGen gen,
ResolvedMember member)
|
protected LazyMethodGen |
makeMethodGen(LazyClassGen gen,
ResolvedMember member)
|
boolean |
munge(org.aspectj.weaver.bcel.BcelClassWeaver weaver)
|
ConcreteTypeMunger |
parameterizedFor(ResolvedType target)
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. |
ConcreteTypeMunger |
parameterizeWith(java.util.Map<java.lang.String,UnresolvedType> m,
World w)
|
boolean |
shouldOverwrite()
|
java.lang.String |
toString()
|
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 |
clone, finalize, 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.
makeMethodGen
protected LazyMethodGen makeMethodGen(LazyClassGen gen,
ResolvedMember member)
makeFieldGen
protected FieldGen makeFieldGen(LazyClassGen gen,
ResolvedMember member)
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