Package 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
- 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
-
Nested Class Summary
Nested classes/interfaces inherited from class org.aspectj.weaver.World
World.TypeMap -
Field Summary
FieldsFields inherited from class org.aspectj.weaver.World
bcelRepositoryCaching, BOOLEAN, BYTE, CHAR, createInjarHierarchy, DOUBLE, FLOAT, forDEBUG_bridgingCode, forDEBUG_structuralChangesCode, generateNewLvts, infoMessagesEnabled, INT, LONG, optimizedMatching, RUNTIME_LEVEL_DEFAULT, SHORT, timersPerJoinpoint, timersPerType, typeMap, VOID, xsetAVOID_FINAL, 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_NEW_LVTS, 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, xsetTRANSIENT_TJP_FIELDS, xsetTYPE_DEMOTION, xsetTYPE_DEMOTION_DEBUG, xsetTYPE_REFS, xsetWEAVE_JAVA_PACKAGES, xsetWEAVE_JAVAX_PACKAGES -
Constructor Summary
ConstructorsConstructorDescriptionLTWWorld(ClassLoader loader, IWeavingContext weavingContext, IMessageHandler handler, ICrossReferenceHandler xrefHandler) Build a World from a ClassLoader, for LTW support -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(Dump.IVisitor visitor) Dump processing when a fatal error occursprotected voidCalled when a type is resolved - enables its type hierarchy to be finished off before we proceedprotected ResolvedTypebooleanbooleanisLocallyDefined(String classname) Return true if the classloader relating to this world is definetly the one that will define the specified class.booleanvoidloadedClass(Class clazz) Remove this class from the typeMap.protected booleanprotected ReferenceTypeDelegateOverrideprotected ReferenceTypeDelegatevoidstoreClass(JavaClass clazz) Store the provided class under "clazz.getClassName()"Methods inherited from class org.aspectj.weaver.bcel.BcelWorld
addAspectRequires, addPath, addScopedAspect, addSourceObjectType, addSourceObjectType, addSourceObjectType, addTypeDelegateResolver, buildBcelDelegate, classWriteEvent, clear, demote, determineRelKind, ensureRepositorySetup, findClass, fromBcel, getAspectScope, getBcelObjectType, getClassLoaderRepositoryFor, getModelAsAsmManager, getTypeMap, getWeavingSupport, getXmlConfiguration, hasUnsatisfiedDependency, isAspectIncluded, isXmlConfigured, loadClass, loadClass, makeBcelType, makeBcelType, makeBcelTypes, makeFieldJoinPointSignature, makeJoinPointSignatureForArrayConstruction, makeJoinPointSignatureForMethodInvocation, makeJoinPointSignatureForMonitorEnter, makeJoinPointSignatureForMonitorExit, makeJoinPointSignatureFromMethod, removeClass, reportCheckerMatch, reportMatch, resolve, setXmlConfigured, setXmlFiles, tidyUp, toString, validateType, weaveInterTypeDeclarationsMethods 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, isDemotionActive, isExpendable, isHasMemberSupportEnabled, isIgnoringUnusedDeclaredThrownException, isInJava5Mode, isInPinpointMode, isJoinpointArrayConstructionEnabled, isJoinpointSynchronizationEnabled, isMinimalModel, isOverWeaving, isRunMinimalMemorySet, isTargettingAspectJRuntime12, isTargettingRuntime1_6_10, isTimingEnabled, isTransientTjpFields, 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, useFinal
-
Field Details
-
concurrentMapClass
-
bootstrapTypes
-
-
Constructor Details
-
LTWWorld
public LTWWorld(ClassLoader loader, IWeavingContext weavingContext, IMessageHandler handler, ICrossReferenceHandler xrefHandler) Build a World from a ClassLoader, for LTW support
-
-
Method Details
-
getClassLoader
-
resolveDelegate
Override- Overrides:
resolveDelegatein classBcelWorld
-
resolveIfBootstrapDelegate
-
loadedClass
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
- Specified by:
getAnnotationFinderin interfaceIReflectionWorld
-
resolve
- Specified by:
resolvein interfaceIReflectionWorld
-
isRunMinimalMemory
public boolean isRunMinimalMemory()- Overrides:
isRunMinimalMemoryin classWorld
-
completeBinaryType
Description copied from class:WorldCalled when a type is resolved - enables its type hierarchy to be finished off before we proceed- Overrides:
completeBinaryTypein classWorld
-
needsCompletion
protected boolean needsCompletion() -
isLocallyDefined
Description copied from class:WorldReturn 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:
isLocallyDefinedin classWorld
-
completeNonLocalType
-
storeClass
Description copied from interface:RepositoryStore the provided class under "clazz.getClassName()"- Specified by:
storeClassin interfaceRepository- Overrides:
storeClassin classBcelWorld
-
accept
Description copied from class:WorldDump processing when a fatal error occurs- Specified by:
acceptin interfaceDump.INode- Overrides:
acceptin classWorld
-
isLoadtimeWeaving
public boolean isLoadtimeWeaving()- Overrides:
isLoadtimeWeavingin classBcelWorld
-