org.aspectj.weaver.ltw
Class LTWWorld

java.lang.Object
  extended by org.aspectj.weaver.World
      extended by org.aspectj.weaver.bcel.BcelWorld
          extended by org.aspectj.weaver.ltw.LTWWorld
All Implemented Interfaces:
Repository, Dump.INode, IReflectionWorld

public class LTWWorld
extends BcelWorld
implements IReflectionWorld


Nested Class Summary
 
Nested classes/interfaces inherited from class org.aspectj.weaver.World
World.TypeMap
 
Field Summary
protected static java.util.Map bootstrapTypes
           
protected static java.lang.Class concurrentMapClass
           
 
Fields inherited from class org.aspectj.weaver.bcel.BcelWorld
delegate
 
Fields inherited from class org.aspectj.weaver.World
bcelRepositoryCaching, BOOLEAN, BYTE, CHAR, createInjarHierarchy, DOUBLE, FLOAT, forDEBUG_bridgingCode, forDEBUG_structuralChangesCode, infoMessagesEnabled, INT, LONG, optimizedMatching, 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_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
LTWWorld(java.lang.ClassLoader loader, IWeavingContext weavingContext, IMessageHandler handler, ICrossReferenceHandler xrefHandler)
          Build a World from a ClassLoader, for LTW support
 
Method Summary
 void accept(Dump.IVisitor visitor)
          Dump processing when a fatal error occurs
protected  void completeBinaryType(ResolvedType ret)
          Called when a type is resolved - enables its type hierarchy to be finished off before we proceed
protected  ResolvedType completeNonLocalType(ResolvedType ret)
           
 AnnotationFinder getAnnotationFinder()
           
 java.lang.ClassLoader getClassLoader()
           
 boolean isLoadtimeWeaving()
           
 boolean isLocallyDefined(java.lang.String classname)
          Return true if the classloader relating to this world is definetly the one that will define the specified class.
 boolean isRunMinimalMemory()
           
 void loadedClass(java.lang.Class clazz)
          Remove this class from the typeMap.
protected  boolean needsCompletion()
           
 ResolvedType resolve(java.lang.Class aClass)
           
protected  ReferenceTypeDelegate resolveDelegate(ReferenceType ty)
          Find the ReferenceTypeDelegate behind this reference type so that it can fulfill its contract.
protected  ReferenceTypeDelegate resolveIfBootstrapDelegate(ReferenceType ty)
           
 void storeClass(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, makeFieldJoinPointSignature, makeJoinPointSignatureForArrayConstruction, makeJoinPointSignatureForMethodInvocation, makeJoinPointSignatureForMonitorEnter, makeJoinPointSignatureForMonitorExit, makeJoinPointSignatureFromMethod, removeClass, reportCheckerMatch, reportMatch, resolve, setXmlConfigured, setXmlFiles, tidyUp, toString, validateType, weaveInterTypeDeclarations
 
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, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

concurrentMapClass

protected static final java.lang.Class concurrentMapClass

bootstrapTypes

protected static java.util.Map bootstrapTypes
Constructor Detail

LTWWorld

public LTWWorld(java.lang.ClassLoader loader,
                IWeavingContext weavingContext,
                IMessageHandler handler,
                ICrossReferenceHandler xrefHandler)
Build a World from a ClassLoader, for LTW support

Method Detail

getClassLoader

public java.lang.ClassLoader getClassLoader()

resolveDelegate

protected ReferenceTypeDelegate resolveDelegate(ReferenceType ty)
Description copied from class: World
Find the ReferenceTypeDelegate behind this reference type so that it can fulfill its contract.

Overrides:
resolveDelegate in class BcelWorld

resolveIfBootstrapDelegate

protected ReferenceTypeDelegate resolveIfBootstrapDelegate(ReferenceType ty)

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

completeBinaryType

protected void completeBinaryType(ResolvedType ret)
Description copied from class: World
Called when a type is resolved - enables its type hierarchy to be finished off before we proceed

Overrides:
completeBinaryType in class World

needsCompletion

protected boolean needsCompletion()

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

completeNonLocalType

protected ResolvedType completeNonLocalType(ResolvedType ret)

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