org.aspectj.weaver.ltw
Class LTWWorld
java.lang.Object
org.aspectj.weaver.World
org.aspectj.weaver.bcel.BcelWorld
org.aspectj.weaver.ltw.LTWWorld
- All Implemented Interfaces:
- Repository, Dump.INode, IReflectionWorld
public class LTWWorld
- extends BcelWorld
- implements IReflectionWorld
- Author:
- adrian, Ron Bodkin
For use in LT weaving
Backed by both a BcelWorld and a ReflectionWorld
Needs a callback when a woven class is defined This is the trigger for us to ditch the class from Bcel and cache it in
the reflective world instead.
Create by passing in a classloader, message handler
Fields inherited from class org.aspectj.weaver.World |
createInjarHierarchy, forDEBUG_bridgingCode, forDEBUG_structuralChangesCode, infoMessagesEnabled, optimizedMatching, xsetBCEL_REPOSITORY_CACHING, xsetBCEL_REPOSITORY_CACHING_DEFAULT, xsetCAPTURE_ALL_CONTEXT, xsetCOMPLETE_BINARY_TYPES, xsetCOMPLETE_BINARY_TYPES_DEFAULT, xsetDEBUG_BRIDGING, xsetDEBUG_STRUCTURAL_CHANGES_CODE, xsetFAST_PACK_METHODS, xsetGENERATE_STACKMAPS, xsetITD_VERSION, xsetITD_VERSION_2NDGEN, xsetITD_VERSION_DEFAULT, xsetITD_VERSION_ORIGINAL, xsetMINIMAL_MODEL, xsetOPTIMIZED_MATCHING, xsetOVERWEAVING, xsetPIPELINE_COMPILATION, xsetPIPELINE_COMPILATION_DEFAULT, xsetRUN_MINIMAL_MEMORY, xsetTARGETING_RUNTIME_1610, xsetTIMERS_PER_FASTMATCH_CALL, xsetTIMERS_PER_JOINPOINT, xsetTYPE_DEMOTION, xsetTYPE_DEMOTION_DEBUG, xsetTYPE_REFS, xsetWEAVE_JAVA_PACKAGES, xsetWEAVE_JAVAX_PACKAGES |
Methods inherited from class org.aspectj.weaver.bcel.BcelWorld |
addAspectRequires, addPath, addScopedAspect, addSourceObjectType, addSourceObjectType, addSourceObjectType, addTypeDelegateResolver, buildBcelDelegate, classWriteEvent, clear, determineRelKind, ensureRepositorySetup, findClass, fromBcel, getAspectScope, getBcelObjectType, getClassLoaderRepositoryFor, getModelAsAsmManager, getTypeMap, getWeavingSupport, getXmlConfiguration, hasUnsatisfiedDependency, isAspectIncluded, isXmlConfigured, loadClass, loadClass, makeBcelType, makeFieldJoinPointSignature, makeJoinPointSignatureForArrayConstruction, makeJoinPointSignatureForMethodInvocation, makeJoinPointSignatureForMonitorEnter, makeJoinPointSignatureForMonitorExit, makeJoinPointSignatureFromMethod, removeClass, reportCheckerMatch, reportMatch, resolve, setXmlConfigured, setXmlFiles, tidyUp, toString, validateType |
Methods inherited from class org.aspectj.weaver.World |
areAllLintIgnored, areInfoMessagesEnabled, areSynchronizationPointcutsInUse, compareByPrecedence, compareByPrecedenceAndHierarchy, couldIncrementalCompileFollow, createAdviceMunger, demote, ensureAdvancedConfigurationProcessed, flush, forgetTypeVariablesCurrentlyBeingProcessed, getCoreType, getCrosscuttingMembersSet, getCrossReferenceHandler, getDeclareAnnotationOnFields, getDeclareAnnotationOnMethods, getDeclareAnnotationOnTypes, getDeclareParents, getDeclareSoft, getDeclareTypeEows, getExclusionMap, getExpendable, getExtraConfiguration, getFixed, getItdVersion, getLint, getMessageHandler, getModel, getPrecedenceIfAny, getRegisteredPointcutHandlers, getTargetAspectjRuntimeLevel, getTypeVariableLookupScope, getTypeVariablesCurrentlyBeingProcessed, isAddSerialVerUID, isHasMemberSupportEnabled, isIgnoringUnusedDeclaredThrownException, isInJava5Mode, isInPinpointMode, isJoinpointArrayConstructionEnabled, isJoinpointSynchronizationEnabled, isMinimalModel, isOverWeaving, isRunMinimalMemorySet, isTargettingAspectJRuntime12, isTargettingRuntime1_6_10, isTimingEnabled, isXlazyTjp, isXnoInline, lookupBySignature, lookupOrCreateName, performExtraConfiguration, record, recordFastMatch, recordTypeVariablesCurrentlyBeingProcessed, registerPointcutHandler, reportTimers, reset, resolve, resolve, resolve, resolve, resolve, resolve, resolve, resolve, resolveGenericTypeFor, resolveToReferenceType, setAddSerialVerUID, setAllLintIgnored, setBehaveInJava5Way, setCrossReferenceHandler, setErrorAndWarningThreshold, setIncrementalCompileCouldFollow, setLint, setMessageHandler, setModel, setOptionalJoinpoints, setPinpointMode, setSynchronizationPointcutsInUse, setTargetAspectjRuntimeLevel, setTiming, setTypeVariableLookupScope, setXHasMemberSupportEnabled, setXlazyTjp, setXnoInline, shouldFastPackMethods, shouldGenerateStackMaps, shouldPipelineCompilation, showMessage |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
LTWWorld
public LTWWorld(java.lang.ClassLoader loader,
IWeavingContext weavingContext,
IMessageHandler handler,
ICrossReferenceHandler xrefHandler)
- Build a World from a ClassLoader, for LTW support
isDemotionActive
public boolean isDemotionActive()
- Overrides:
isDemotionActive
in class World
getClassLoader
public java.lang.ClassLoader getClassLoader()
loadedClass
public void loadedClass(java.lang.Class clazz)
- Remove this class from the typeMap. Call back to be made from a publishing class loader The class loader should, ideally,
make this call on each not yet working
- Parameters:
clazz
-
getAnnotationFinder
public AnnotationFinder getAnnotationFinder()
- Specified by:
getAnnotationFinder
in interface IReflectionWorld
resolve
public ResolvedType resolve(java.lang.Class aClass)
- Specified by:
resolve
in interface IReflectionWorld
isRunMinimalMemory
public boolean isRunMinimalMemory()
- Overrides:
isRunMinimalMemory
in class World
isLocallyDefined
public boolean isLocallyDefined(java.lang.String classname)
- Description copied from class:
World
- Return true if the classloader relating to this world is definetly the one that will define the specified class. Return false
otherwise or we don't know for certain.
- Overrides:
isLocallyDefined
in class World
storeClass
public void storeClass(JavaClass clazz)
- Description copied from interface:
Repository
- Store the provided class under "clazz.getClassName()"
- Specified by:
storeClass
in interface Repository
- Overrides:
storeClass
in class BcelWorld
accept
public void accept(Dump.IVisitor visitor)
- Description copied from class:
World
- Dump processing when a fatal error occurs
- Specified by:
accept
in interface Dump.INode
- Overrides:
accept
in class World
isLoadtimeWeaving
public boolean isLoadtimeWeaving()
- Overrides:
isLoadtimeWeaving
in class BcelWorld