Package org.aspectj.weaver.bcel
Class BcelShadow
- java.lang.Object
-
- org.aspectj.weaver.Shadow
-
- org.aspectj.weaver.bcel.BcelShadow
-
public class BcelShadow extends Shadow
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.aspectj.weaver.Shadow
Shadow.Kind
-
-
Field Summary
Fields Modifier and Type Field Description static booleanappliedLazyTjpOptimization-
Fields inherited from class org.aspectj.weaver.Shadow
ADVICE_EXECUTION, AdviceExecution, AdviceExecutionBit, ALL_SHADOW_KINDS_BITS, CONSTRUCTOR_CALL, CONSTRUCTOR_EXECUTION, ConstructorCall, ConstructorCallBit, ConstructorExecution, ConstructorExecutionBit, enclosingShadow, EXCEPTION_HANDLER, ExceptionHandler, ExceptionHandlerBit, FIELD_GET, FIELD_SET, FieldGet, FieldGetBit, FieldSet, FieldSetBit, Initialization, INITIALIZATION, InitializationBit, MAX_SHADOW_KIND, METHOD_CALL, METHOD_EXECUTION, MethodCall, MethodCallBit, MethodExecution, MethodExecutionBit, mungers, needAroundClosureStacking, NO_SHADOW_KINDS_BITS, PreInitialization, PREINITIALIZATION, PreInitializationBit, SHADOW_KINDS, shadowId, StaticInitialization, STATICINITIALIZATION, StaticInitializationBit, SYNCHRONIZATION_LOCK, SYNCHRONIZATION_UNLOCK, SynchronizationLock, SynchronizationLockBit, SynchronizationUnlock, SynchronizationUnlockBit
-
-
Constructor Summary
Constructors Constructor Description BcelShadow(BcelWorld world, Shadow.Kind kind, Member signature, LazyMethodGen enclosingMethod, BcelShadow enclosingShadow)
-
Method Summary
-
Methods inherited from class org.aspectj.weaver.Shadow
addMunger, checkCanThrow, checkMunger, getArgCount, getArgType, getArgTypes, getArgumentTypesForArrayConstructionShadow, getGenericArgTypes, getKind, getMatchingSignature, getMungers, getResolvedSignature, getReturnType, getSignature, getTargetType, getThisType, hasTarget, hasThis, howMany, implement, isShadowForArrayConstructionJoinpoint, isShadowForMonitor, setMatchingSignature, toResolvedString, toSet, toString
-
-
-
-
Constructor Detail
-
BcelShadow
public BcelShadow(BcelWorld world, Shadow.Kind kind, Member signature, LazyMethodGen enclosingMethod, BcelShadow enclosingShadow)
-
-
Method Detail
-
copyInto
public BcelShadow copyInto(LazyMethodGen recipient, BcelShadow enclosing)
-
addAdvicePreventingLazyTjp
public void addAdvicePreventingLazyTjp(org.aspectj.weaver.bcel.BcelAdvice advice)
-
prepareForMungers
protected void prepareForMungers()
- Overrides:
prepareForMungersin classShadow
-
getRange
public org.aspectj.weaver.bcel.ShadowRange getRange()
-
setRange
public void setRange(org.aspectj.weaver.bcel.ShadowRange range)
-
getSourceLine
public int getSourceLine()
-
getEnclosingType
public ResolvedType getEnclosingType()
- Specified by:
getEnclosingTypein classShadow
-
getEnclosingClass
public LazyClassGen getEnclosingClass()
-
getWorld
public BcelWorld getWorld()
-
makeConstructorExecution
public static BcelShadow makeConstructorExecution(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle justBeforeStart)
-
makeStaticInitialization
public static BcelShadow makeStaticInitialization(BcelWorld world, LazyMethodGen enclosingMethod)
-
makeExceptionHandler
public static BcelShadow makeExceptionHandler(BcelWorld world, ExceptionRange exceptionRange, LazyMethodGen enclosingMethod, InstructionHandle startOfHandler, BcelShadow enclosingShadow)
-
makeIfaceInitialization
public static BcelShadow makeIfaceInitialization(BcelWorld world, LazyMethodGen constructor, Member interfaceConstructorSignature)
-
initIfaceInitializer
public void initIfaceInitializer(InstructionHandle end)
-
makeUnfinishedInitialization
public static BcelShadow makeUnfinishedInitialization(BcelWorld world, LazyMethodGen constructor)
-
makeUnfinishedPreinitialization
public static BcelShadow makeUnfinishedPreinitialization(BcelWorld world, LazyMethodGen constructor)
-
makeMethodExecution
public static BcelShadow makeMethodExecution(BcelWorld world, LazyMethodGen enclosingMethod, boolean lazyInit)
-
init
public void init()
-
makeMethodExecution
public static BcelShadow makeMethodExecution(BcelWorld world, LazyMethodGen enclosingMethod)
-
makeShadowForMethod
public static BcelShadow makeShadowForMethod(BcelWorld world, LazyMethodGen enclosingMethod, Shadow.Kind kind, Member sig)
-
makeAdviceExecution
public static BcelShadow makeAdviceExecution(BcelWorld world, LazyMethodGen enclosingMethod)
-
makeConstructorCall
public static BcelShadow makeConstructorCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle callHandle, BcelShadow enclosingShadow)
-
makeArrayConstructorCall
public static BcelShadow makeArrayConstructorCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle arrayInstruction, BcelShadow enclosingShadow)
-
makeMonitorEnter
public static BcelShadow makeMonitorEnter(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle monitorInstruction, BcelShadow enclosingShadow)
-
makeMonitorExit
public static BcelShadow makeMonitorExit(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle monitorInstruction, BcelShadow enclosingShadow)
-
makeMethodCall
public static BcelShadow makeMethodCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle callHandle, BcelShadow enclosingShadow)
-
makeShadowForMethodCall
public static BcelShadow makeShadowForMethodCall(BcelWorld world, LazyMethodGen enclosingMethod, InstructionHandle callHandle, BcelShadow enclosingShadow, Shadow.Kind kind, ResolvedMember sig)
-
makeFieldGet
public static BcelShadow makeFieldGet(BcelWorld world, ResolvedMember field, LazyMethodGen enclosingMethod, InstructionHandle getHandle, BcelShadow enclosingShadow)
-
makeFieldSet
public static BcelShadow makeFieldSet(BcelWorld world, ResolvedMember field, LazyMethodGen enclosingMethod, InstructionHandle setHandle, BcelShadow enclosingShadow)
-
retargetAllBranches
public static void retargetAllBranches(InstructionHandle from, InstructionHandle to)
-
terminatesWithReturn
public boolean terminatesWithReturn()
-
arg0HoldsThis
public boolean arg0HoldsThis()
-
getThisVar
public Var getThisVar()
- Specified by:
getThisVarin classShadow
-
getThisAnnotationVar
public Var getThisAnnotationVar(UnresolvedType forAnnotationType)
- Specified by:
getThisAnnotationVarin classShadow
-
getTargetVar
public Var getTargetVar()
- Specified by:
getTargetVarin classShadow
-
getTargetAnnotationVar
public Var getTargetAnnotationVar(UnresolvedType forAnnotationType)
- Specified by:
getTargetAnnotationVarin classShadow
-
getArgAnnotationVar
public Var getArgAnnotationVar(int i, UnresolvedType forAnnotationType)
- Specified by:
getArgAnnotationVarin classShadow
-
getKindedAnnotationVar
public Var getKindedAnnotationVar(UnresolvedType forAnnotationType)
- Specified by:
getKindedAnnotationVarin classShadow
-
getWithinAnnotationVar
public Var getWithinAnnotationVar(UnresolvedType forAnnotationType)
- Specified by:
getWithinAnnotationVarin classShadow
-
getWithinCodeAnnotationVar
public Var getWithinCodeAnnotationVar(UnresolvedType forAnnotationType)
- Specified by:
getWithinCodeAnnotationVarin classShadow
-
getThisJoinPointStaticPartVar
public final Var getThisJoinPointStaticPartVar()
- Specified by:
getThisJoinPointStaticPartVarin classShadow
-
getThisEnclosingJoinPointStaticPartVar
public final Var getThisEnclosingJoinPointStaticPartVar()
- Specified by:
getThisEnclosingJoinPointStaticPartVarin classShadow
-
requireThisJoinPoint
public void requireThisJoinPoint(boolean hasGuardTest, boolean isAround)
-
getThisJoinPointVar
public Var getThisJoinPointVar()
- Specified by:
getThisJoinPointVarin classShadow
-
getThisJoinPointStaticPartBcelVar
public BcelVar getThisJoinPointStaticPartBcelVar()
-
getThisAspectInstanceVar
public BcelVar getThisAspectInstanceVar(ResolvedType aspectType)
- Specified by:
getThisAspectInstanceVarin classShadow
-
getThisJoinPointStaticPartBcelVar
public BcelVar getThisJoinPointStaticPartBcelVar(boolean isEnclosingJp)
-
getThisEnclosingJoinPointStaticPartBcelVar
public BcelVar getThisEnclosingJoinPointStaticPartBcelVar()
-
getEnclosingCodeSignature
public Member getEnclosingCodeSignature()
- Specified by:
getEnclosingCodeSignaturein classShadow
-
getRealEnclosingCodeSignature
public Member getRealEnclosingCodeSignature()
-
initializeTargetVar
public void initializeTargetVar()
-
ensureTargetTypeIsCorrect
public UnresolvedType ensureTargetTypeIsCorrect(UnresolvedType tx)
-
ensureInitializedArgVar
public void ensureInitializedArgVar(int argNumber)
-
initializeArgVars
public void initializeArgVars()
-
initializeForAroundClosure
public void initializeForAroundClosure()
-
initializeThisAnnotationVars
public void initializeThisAnnotationVars()
-
initializeTargetAnnotationVars
public void initializeTargetAnnotationVars()
-
getRelevantMember
protected ResolvedMember getRelevantMember(ResolvedMember foundMember, Member relevantMember, ResolvedType relevantType)
-
getAnnotations
protected ResolvedType[] getAnnotations(ResolvedMember foundMember, Member relevantMember, ResolvedType relevantType)
-
initializeKindedAnnotationVars
public void initializeKindedAnnotationVars()
-
initializeWithinAnnotationVars
public void initializeWithinAnnotationVars()
-
initializeWithinCodeAnnotationVars
public void initializeWithinCodeAnnotationVars()
-
weaveAfter
public void weaveAfter(org.aspectj.weaver.bcel.BcelAdvice munger)
-
weaveAfterReturning
public void weaveAfterReturning(org.aspectj.weaver.bcel.BcelAdvice munger)
-
weaveAfterThrowing
public void weaveAfterThrowing(org.aspectj.weaver.bcel.BcelAdvice munger, UnresolvedType catchType)
-
weaveSoftener
public void weaveSoftener(org.aspectj.weaver.bcel.BcelAdvice munger, UnresolvedType catchType)
-
weavePerObjectEntry
public void weavePerObjectEntry(org.aspectj.weaver.bcel.BcelAdvice munger, BcelVar onVar)
-
weavePerTypeWithinAspectInitialization
public void weavePerTypeWithinAspectInitialization(org.aspectj.weaver.bcel.BcelAdvice munger, UnresolvedType t)
-
weaveCflowEntry
public void weaveCflowEntry(org.aspectj.weaver.bcel.BcelAdvice munger, Member cflowField)
-
weaveAroundInline
public void weaveAroundInline(org.aspectj.weaver.bcel.BcelAdvice munger, boolean hasDynamicTest)
-
weaveAroundClosure
public void weaveAroundClosure(org.aspectj.weaver.bcel.BcelAdvice munger, boolean hasDynamicTest)
-
genTempVar
public BcelVar genTempVar(UnresolvedType utype)
-
genTempVar
public BcelVar genTempVar(UnresolvedType typeX, String localName)
-
getFactory
public InstructionFactory getFactory()
-
getSourceLocation
public ISourceLocation getSourceLocation()
- Specified by:
getSourceLocationin classShadow
-
getEnclosingShadow
public Shadow getEnclosingShadow()
-
getEnclosingMethod
public LazyMethodGen getEnclosingMethod()
-
isFallsThrough
public boolean isFallsThrough()
-
setActualTargetType
public void setActualTargetType(String className)
-
getActualTargetType
public String getActualTargetType()
-
-