public class BcelWorld extends World implements Repository
World.TypeMap| Modifier and Type | Field and Description |
|---|---|
protected Repository |
delegate |
bcelRepositoryCaching, BOOLEAN, BYTE, CHAR, createInjarHierarchy, DOUBLE, FLOAT, forDEBUG_bridgingCode, forDEBUG_structuralChangesCode, generateNewLvts, 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_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 and Description |
|---|
BcelWorld() |
BcelWorld(java.lang.ClassLoader loader,
IMessageHandler handler,
ICrossReferenceHandler xrefHandler)
Build a World from a ClassLoader, for LTW support
|
BcelWorld(ClassPathManager cpm,
IMessageHandler handler,
ICrossReferenceHandler xrefHandler) |
BcelWorld(java.util.List classPath,
IMessageHandler handler,
ICrossReferenceHandler xrefHandler) |
BcelWorld(java.lang.String cp) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAspectRequires(java.lang.String aspectClassName,
java.lang.String requiredType) |
void |
addPath(java.lang.String name) |
void |
addScopedAspect(java.lang.String name,
java.lang.String scope)
Add a scoped aspects where the scoping was defined in an aop.xml file and this world is being used in a LTW configuration
|
BcelObjectType |
addSourceObjectType(JavaClass jc,
boolean artificial) |
BcelObjectType |
addSourceObjectType(java.lang.String classname,
byte[] bytes,
boolean artificial) |
BcelObjectType |
addSourceObjectType(java.lang.String classname,
JavaClass jc,
boolean artificial) |
void |
addTypeDelegateResolver(TypeDelegateResolver typeDelegateResolver) |
BcelObjectType |
buildBcelDelegate(ReferenceType type,
JavaClass jc,
boolean artificial,
boolean exposedToWeaver) |
void |
classWriteEvent(char[][] compoundName) |
void |
clear()
Clear all entries from cache.
|
void |
demote(ResolvedType type)
Force demote a type.
|
IRelationship.Kind |
determineRelKind(ShadowMunger munger) |
void |
ensureRepositorySetup() |
JavaClass |
findClass(java.lang.String className)
Find the class with the name provided, if the class isn't there, return NULL.
|
static UnresolvedType |
fromBcel(Type t) |
TypePattern |
getAspectScope(ResolvedType declaringType) |
static BcelObjectType |
getBcelObjectType(ResolvedType concreteAspect)
Retrieve a bcel delegate for an aspect - this will return NULL if the delegate is an EclipseSourceType and not a
BcelObjectType - this happens quite often when incrementally compiling.
|
Repository |
getClassLoaderRepositoryFor(ClassLoaderReference loader) |
AsmManager |
getModelAsAsmManager() |
World.TypeMap |
getTypeMap() |
IWeavingSupport |
getWeavingSupport() |
org.aspectj.weaver.bcel.BcelWorld.WeavingXmlConfig |
getXmlConfiguration() |
boolean |
hasUnsatisfiedDependency(ResolvedType aspectType)
Determine if the named aspect requires a particular type around in order to be useful.
|
boolean |
isAspectIncluded(ResolvedType aspectType) |
boolean |
isLoadtimeWeaving() |
boolean |
isXmlConfigured() |
JavaClass |
loadClass(java.lang.Class clazz)
Find the JavaClass instance for the given run-time class object
|
JavaClass |
loadClass(java.lang.String className)
Find the class with the name provided, if the class isn't there, make an attempt to load it.
|
static Type |
makeBcelType(java.lang.String type) |
static Type |
makeBcelType(UnresolvedType type) |
static Type[] |
makeBcelTypes(java.lang.String[] types) |
static Member |
makeFieldJoinPointSignature(LazyClassGen cg,
FieldInstruction fi) |
Member |
makeJoinPointSignatureForArrayConstruction(LazyClassGen cg,
InstructionHandle handle) |
Member |
makeJoinPointSignatureForMethodInvocation(LazyClassGen cg,
InvokeInstruction ii) |
Member |
makeJoinPointSignatureForMonitorEnter(LazyClassGen cg,
InstructionHandle h) |
Member |
makeJoinPointSignatureForMonitorExit(LazyClassGen cg,
InstructionHandle h) |
Member |
makeJoinPointSignatureFromMethod(LazyMethodGen mg,
MemberKind kind) |
void |
removeClass(JavaClass clazz)
Remove class from repository
|
void |
reportCheckerMatch(Checker checker,
Shadow shadow) |
void |
reportMatch(ShadowMunger munger,
Shadow shadow) |
ResolvedType |
resolve(Type t) |
protected ReferenceTypeDelegate |
resolveDelegate(ReferenceType ty)
Find the ReferenceTypeDelegate behind this reference type so that it can fulfill its contract.
|
void |
setXmlConfigured(boolean b) |
void |
setXmlFiles(java.util.List<java.io.File> xmlFiles)
These are aop.xml files that can be used to alter the aspects that actually apply from those passed in - and also their scope
of application to other files in the system.
|
void |
storeClass(JavaClass clazz)
Store the provided class under "clazz.getClassName()"
|
void |
tidyUp() |
java.lang.String |
toString() |
void |
validateType(UnresolvedType type)
The aim of this method is to make sure a particular type is 'ok'.
|
protected void |
weaveInterTypeDeclarations(ResolvedType onType) |
accept, areAllLintIgnored, areInfoMessagesEnabled, areSynchronizationPointcutsInUse, compareByPrecedence, compareByPrecedenceAndHierarchy, completeBinaryType, 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, isLocallyDefined, isMinimalModel, isOverWeaving, isRunMinimalMemory, 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, useFinalprotected Repository delegate
public BcelWorld()
public BcelWorld(java.lang.String cp)
public BcelWorld(java.util.List classPath,
IMessageHandler handler,
ICrossReferenceHandler xrefHandler)
public BcelWorld(ClassPathManager cpm, IMessageHandler handler, ICrossReferenceHandler xrefHandler)
public BcelWorld(java.lang.ClassLoader loader,
IMessageHandler handler,
ICrossReferenceHandler xrefHandler)
loader - handler - xrefHandler - public IRelationship.Kind determineRelKind(ShadowMunger munger)
public void reportMatch(ShadowMunger munger, Shadow shadow)
reportMatch in class Worldpublic void ensureRepositorySetup()
public Repository getClassLoaderRepositoryFor(ClassLoaderReference loader)
public void addPath(java.lang.String name)
public static Type makeBcelType(UnresolvedType type)
public static Type[] makeBcelTypes(java.lang.String[] types)
public static Type makeBcelType(java.lang.String type)
public static UnresolvedType fromBcel(Type t)
public ResolvedType resolve(Type t)
protected ReferenceTypeDelegate resolveDelegate(ReferenceType ty)
WorldresolveDelegate in class Worldpublic BcelObjectType buildBcelDelegate(ReferenceType type, JavaClass jc, boolean artificial, boolean exposedToWeaver)
public BcelObjectType addSourceObjectType(JavaClass jc, boolean artificial)
public BcelObjectType addSourceObjectType(java.lang.String classname, JavaClass jc, boolean artificial)
public BcelObjectType addSourceObjectType(java.lang.String classname, byte[] bytes, boolean artificial)
public static Member makeFieldJoinPointSignature(LazyClassGen cg, FieldInstruction fi)
public Member makeJoinPointSignatureFromMethod(LazyMethodGen mg, MemberKind kind)
public Member makeJoinPointSignatureForMonitorEnter(LazyClassGen cg, InstructionHandle h)
public Member makeJoinPointSignatureForMonitorExit(LazyClassGen cg, InstructionHandle h)
public Member makeJoinPointSignatureForArrayConstruction(LazyClassGen cg, InstructionHandle handle)
public Member makeJoinPointSignatureForMethodInvocation(LazyClassGen cg, InvokeInstruction ii)
public java.lang.String toString()
toString in class java.lang.Objectpublic static BcelObjectType getBcelObjectType(ResolvedType concreteAspect)
public void tidyUp()
public JavaClass findClass(java.lang.String className)
RepositoryfindClass in interface Repositorypublic JavaClass loadClass(java.lang.String className) throws java.lang.ClassNotFoundException
RepositoryloadClass in interface Repositoryjava.lang.ClassNotFoundExceptionpublic void storeClass(JavaClass clazz)
RepositorystoreClass in interface Repositorypublic void removeClass(JavaClass clazz)
RepositoryremoveClass in interface Repositorypublic JavaClass loadClass(java.lang.Class clazz) throws java.lang.ClassNotFoundException
RepositoryloadClass in interface Repositoryjava.lang.ClassNotFoundExceptionpublic void clear()
Repositoryclear in interface Repositorypublic void validateType(UnresolvedType type)
validateType in class Worldprotected void weaveInterTypeDeclarations(ResolvedType onType)
public IWeavingSupport getWeavingSupport()
getWeavingSupport in class Worldpublic void reportCheckerMatch(Checker checker, Shadow shadow)
reportCheckerMatch in class Worldpublic AsmManager getModelAsAsmManager()
public void setXmlFiles(java.util.List<java.io.File> xmlFiles)
xmlFiles - list of File objects representing any aop.xml files passed in to configure the build processpublic void addScopedAspect(java.lang.String name,
java.lang.String scope)
public void setXmlConfigured(boolean b)
public boolean isXmlConfigured()
isXmlConfigured in class Worldpublic org.aspectj.weaver.bcel.BcelWorld.WeavingXmlConfig getXmlConfiguration()
public boolean isAspectIncluded(ResolvedType aspectType)
isAspectIncluded in class Worldpublic TypePattern getAspectScope(ResolvedType declaringType)
getAspectScope in class Worldpublic boolean hasUnsatisfiedDependency(ResolvedType aspectType)
WorldhasUnsatisfiedDependency in class Worldpublic void addAspectRequires(java.lang.String aspectClassName,
java.lang.String requiredType)
public World.TypeMap getTypeMap()
getTypeMap in class Worldpublic boolean isLoadtimeWeaving()
isLoadtimeWeaving in class Worldpublic void addTypeDelegateResolver(TypeDelegateResolver typeDelegateResolver)
public void classWriteEvent(char[][] compoundName)
classWriteEvent in class Worldpublic void demote(ResolvedType type)