org.aspectj.weaver
Class World

java.lang.Object
  extended by org.aspectj.weaver.World
All Implemented Interfaces:
Dump.INode
Direct Known Subclasses:
BcelWorld, ReflectionWorld

public abstract class World
extends java.lang.Object
implements Dump.INode

A World is a collection of known types and crosscutting members.


Nested Class Summary
static class World.TypeMap
           
 
Field Summary
protected  boolean bcelRepositoryCaching
           
 org.aspectj.weaver.ResolvedType.Primitive BOOLEAN
           
 org.aspectj.weaver.ResolvedType.Primitive BYTE
           
 org.aspectj.weaver.ResolvedType.Primitive CHAR
           
static boolean createInjarHierarchy
          Should we create the hierarchy for binary classes and aspects
 org.aspectj.weaver.ResolvedType.Primitive DOUBLE
           
 org.aspectj.weaver.ResolvedType.Primitive FLOAT
           
 boolean forDEBUG_bridgingCode
           
 boolean forDEBUG_structuralChangesCode
           
 int infoMessagesEnabled
           
 org.aspectj.weaver.ResolvedType.Primitive INT
           
 org.aspectj.weaver.ResolvedType.Primitive LONG
           
 boolean optimizedMatching
           
 org.aspectj.weaver.ResolvedType.Primitive SHORT
           
protected  long timersPerJoinpoint
           
protected  long timersPerType
           
protected  World.TypeMap typeMap
          The heart of the world, a map from type signatures to resolved types
 org.aspectj.weaver.ResolvedType.Primitive VOID
           
static java.lang.String xsetAVOID_FINAL
           
static java.lang.String xsetBCEL_REPOSITORY_CACHING
           
static java.lang.String xsetBCEL_REPOSITORY_CACHING_DEFAULT
           
static java.lang.String xsetCAPTURE_ALL_CONTEXT
           
static java.lang.String xsetCOMPLETE_BINARY_TYPES
           
static java.lang.String xsetCOMPLETE_BINARY_TYPES_DEFAULT
           
static java.lang.String xsetDEBUG_BRIDGING
           
static java.lang.String xsetDEBUG_STRUCTURAL_CHANGES_CODE
           
static java.lang.String xsetFAST_PACK_METHODS
           
static java.lang.String xsetGENERATE_STACKMAPS
           
static java.lang.String xsetITD_VERSION
           
static java.lang.String xsetITD_VERSION_2NDGEN
           
static java.lang.String xsetITD_VERSION_DEFAULT
           
static java.lang.String xsetITD_VERSION_ORIGINAL
           
static java.lang.String xsetMINIMAL_MODEL
           
static java.lang.String xsetOPTIMIZED_MATCHING
           
static java.lang.String xsetOVERWEAVING
           
static java.lang.String xsetPIPELINE_COMPILATION
           
static java.lang.String xsetPIPELINE_COMPILATION_DEFAULT
           
static java.lang.String xsetRUN_MINIMAL_MEMORY
           
static java.lang.String xsetTARGETING_RUNTIME_1610
           
static java.lang.String xsetTIMERS_PER_FASTMATCH_CALL
           
static java.lang.String xsetTIMERS_PER_JOINPOINT
           
static java.lang.String xsetTRANSIENT_TJP_FIELDS
           
static java.lang.String xsetTYPE_DEMOTION
           
static java.lang.String xsetTYPE_DEMOTION_DEBUG
           
static java.lang.String xsetTYPE_REFS
           
static java.lang.String xsetWEAVE_JAVA_PACKAGES
           
static java.lang.String xsetWEAVE_JAVAX_PACKAGES
           
 
Constructor Summary
protected World()
          Insert the primitives
 
Method Summary
 void accept(Dump.IVisitor visitor)
          Dump processing when a fatal error occurs
 boolean areAllLintIgnored()
           
 boolean areInfoMessagesEnabled()
           
 boolean areSynchronizationPointcutsInUse()
           
 void classWriteEvent(char[][] compoundName)
           
 int compareByPrecedence(ResolvedType aspect1, ResolvedType aspect2)
          Same signature as org.aspectj.util.PartialOrder.PartialComparable.compareTo
 int compareByPrecedenceAndHierarchy(ResolvedType aspect1, ResolvedType aspect2)
          compares by precedence with the additional rule that a super-aspect is sorted before its sub-aspects
protected  void completeBinaryType(ResolvedType ret)
          Called when a type is resolved - enables its type hierarchy to be finished off before we proceed
 boolean couldIncrementalCompileFollow()
           
 Advice createAdviceMunger(AdviceKind kind, Pointcut p, Member signature, int extraParameterFlags, IHasSourceLocation loc, ResolvedType declaringAspect)
          Create an advice shadow munger for the given advice kind
 void demote()
          Ask the type map to demote any types it can - we don't want them anchored forever.
 void ensureAdvancedConfigurationProcessed()
           
 void flush()
          be careful calling this - pr152257
 void forgetTypeVariablesCurrentlyBeingProcessed(java.lang.Class<?> baseClass)
           
 TypePattern getAspectScope(ResolvedType declaringType)
           
 ResolvedType getCoreType(UnresolvedType tx)
          Special resolution for "core" types like OBJECT.
 CrosscuttingMembersSet getCrosscuttingMembersSet()
           
 ICrossReferenceHandler getCrossReferenceHandler()
          Get the cross-reference handler for the world, may be null.
 java.util.List<DeclareAnnotation> getDeclareAnnotationOnFields()
           
 java.util.List<DeclareAnnotation> getDeclareAnnotationOnMethods()
           
 java.util.List<DeclareAnnotation> getDeclareAnnotationOnTypes()
           
 java.util.List<DeclareParents> getDeclareParents()
           
 java.util.List<DeclareSoft> getDeclareSoft()
           
 java.util.List<DeclareTypeErrorOrWarning> getDeclareTypeEows()
           
 java.util.Map<ResolvedType,java.util.Set<ResolvedType>> getExclusionMap()
           
 java.util.Map<java.lang.String,java.lang.ref.Reference<ResolvedType>> getExpendable()
           
 java.util.Properties getExtraConfiguration()
          may return null
 java.util.Map<java.lang.String,ResolvedType> getFixed()
           
 int getItdVersion()
          Returns the version of ITD that this world wants to create.
 Lint getLint()
           
 IMessageHandler getMessageHandler()
          Nobody should hold onto a copy of this message handler, or setMessageHandler won't work right.
 IStructureModel getModel()
           
 java.lang.Integer getPrecedenceIfAny(ResolvedType aspect1, ResolvedType aspect2)
           
 java.util.Set<PointcutDesignatorHandler> getRegisteredPointcutHandlers()
           
 java.lang.String getTargetAspectjRuntimeLevel()
           
 World.TypeMap getTypeMap()
           
 TypeVariableDeclaringElement getTypeVariableLookupScope()
           
 TypeVariable[] getTypeVariablesCurrentlyBeingProcessed(java.lang.Class<?> baseClass)
           
abstract  IWeavingSupport getWeavingSupport()
           
 boolean hasUnsatisfiedDependency(ResolvedType aspectType)
          Determine if the named aspect requires a particular type around in order to be useful.
 boolean isAddSerialVerUID()
           
 boolean isAspectIncluded(ResolvedType aspectType)
           
 boolean isDemotionActive()
           
protected  boolean isExpendable(ResolvedType type)
          Reference types we don't intend to weave may be ejected from the cache if we need the space.
 boolean isHasMemberSupportEnabled()
           
 boolean isIgnoringUnusedDeclaredThrownException()
           
 boolean isInJava5Mode()
           
 boolean isInPinpointMode()
           
 boolean isJoinpointArrayConstructionEnabled()
           
 boolean isJoinpointSynchronizationEnabled()
           
abstract  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 isMinimalModel()
           
 boolean isOverWeaving()
           
 boolean isRunMinimalMemory()
           
 boolean isRunMinimalMemorySet()
           
 boolean isTargettingAspectJRuntime12()
           
 boolean isTargettingRuntime1_6_10()
           
 boolean isTimingEnabled()
           
 boolean isTransientTjpFields()
           
 boolean isXlazyTjp()
           
 boolean isXmlConfigured()
           
 boolean isXnoInline()
           
 ReferenceType lookupBySignature(java.lang.String signature)
          Lookup a reference type in the world by its signature.
 ReferenceType lookupOrCreateName(UnresolvedType ty)
          Lookup a type by signature, if not found then build one and put it in the map.
 void performExtraConfiguration(java.lang.String config)
           
 void record(Pointcut pointcut, long timetaken)
          Record the time spent matching a pointcut - this will accumulate over the lifetime of this world/weaver and be reported every 25000 join points.
 void recordFastMatch(Pointcut pointcut, long timetaken)
          Record the time spent fastmatching a pointcut - this will accumulate over the lifetime of this world/weaver and be reported every 250 types.
 void recordTypeVariablesCurrentlyBeingProcessed(java.lang.Class<?> baseClass, TypeVariable[] typeVariables)
           
 void registerPointcutHandler(PointcutDesignatorHandler designatorHandler)
          Register a new pointcut designator handler with the world - this can be used by any pointcut parsers attached to the world.
 void reportCheckerMatch(Checker checker, Shadow shadow)
           
 void reportMatch(ShadowMunger munger, Shadow shadow)
           
 void reportTimers()
           
static void reset()
           
 ResolvedMember resolve(Member member)
          Member resolution is achieved by resolving the declaring type and then looking up the member in the resolved declaring type.
 ResolvedType resolve(ResolvedType ty)
          Some TypeFactory operations create resolved types directly, but these won't be in the typeMap - this resolution process puts them there.
 ResolvedType resolve(java.lang.String name)
          Convenience method for finding a type by name and resolving it in one step.
 ResolvedType resolve(java.lang.String name, boolean allowMissing)
           
 ResolvedType resolve(UnresolvedType ty)
          Resolve a type that we require to be present in the world
 ResolvedType[] resolve(UnresolvedType[] types)
          Convenience method for resolving an array of unresolved types in one hit.
 ResolvedType resolve(UnresolvedType ty, boolean allowMissing)
          Resolve a type.
 ResolvedType resolve(UnresolvedType ty, ISourceLocation isl)
          Attempt to resolve a type - the source location gives you some context in which resolution is taking place.
protected abstract  ReferenceTypeDelegate resolveDelegate(ReferenceType ty)
          Find the ReferenceTypeDelegate behind this reference type so that it can fulfill its contract.
 ResolvedType resolveGenericTypeFor(UnresolvedType anUnresolvedType, boolean allowMissing)
          Attempt to resolve a type that should be a generic type.
 ReferenceType resolveToReferenceType(java.lang.String name)
           
 void setAddSerialVerUID(boolean b)
           
 void setAllLintIgnored()
           
 void setBehaveInJava5Way(boolean b)
           
 void setCrossReferenceHandler(ICrossReferenceHandler xrefHandler)
           
 void setErrorAndWarningThreshold(boolean errorThreshold, boolean warningThreshold)
          Set the error and warning threashold which can be taken from CompilerOptions (see bug 129282)
 void setIncrementalCompileCouldFollow(boolean b)
           
 void setLint(Lint lint)
           
 void setMessageHandler(IMessageHandler messageHandler)
           
 void setModel(IStructureModel model)
           
 void setOptionalJoinpoints(java.lang.String jps)
           
 void setPinpointMode(boolean b)
           
 void setSynchronizationPointcutsInUse()
           
 void setTargetAspectjRuntimeLevel(java.lang.String s)
           
 void setTiming(boolean timersOn, boolean reportPeriodically)
          Set the timing option (whether to collect timing info), this will also need INFO messages turned on for the message handler being used.
 void setTypeVariableLookupScope(TypeVariableDeclaringElement scope)
           
 void setXHasMemberSupportEnabled(boolean b)
           
 void setXlazyTjp(boolean b)
           
 void setXnoInline(boolean xnoInline)
           
 boolean shouldFastPackMethods()
           
 boolean shouldGenerateStackMaps()
           
 boolean shouldPipelineCompilation()
           
 void showMessage(IMessage.Kind kind, java.lang.String message, ISourceLocation loc1, ISourceLocation loc2)
          convenenience method for creating and issuing messages via the message handler - if you supply two locations you will get two messages.
 boolean useFinal()
           
 void validateType(UnresolvedType type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

typeMap

protected World.TypeMap typeMap
The heart of the world, a map from type signatures to resolved types


createInjarHierarchy

public static boolean createInjarHierarchy
Should we create the hierarchy for binary classes and aspects


bcelRepositoryCaching

protected boolean bcelRepositoryCaching

forDEBUG_structuralChangesCode

public boolean forDEBUG_structuralChangesCode

forDEBUG_bridgingCode

public boolean forDEBUG_bridgingCode

optimizedMatching

public boolean optimizedMatching

timersPerJoinpoint

protected long timersPerJoinpoint

timersPerType

protected long timersPerType

infoMessagesEnabled

public int infoMessagesEnabled

BYTE

public final org.aspectj.weaver.ResolvedType.Primitive BYTE

CHAR

public final org.aspectj.weaver.ResolvedType.Primitive CHAR

DOUBLE

public final org.aspectj.weaver.ResolvedType.Primitive DOUBLE

FLOAT

public final org.aspectj.weaver.ResolvedType.Primitive FLOAT

INT

public final org.aspectj.weaver.ResolvedType.Primitive INT

LONG

public final org.aspectj.weaver.ResolvedType.Primitive LONG

SHORT

public final org.aspectj.weaver.ResolvedType.Primitive SHORT

BOOLEAN

public final org.aspectj.weaver.ResolvedType.Primitive BOOLEAN

VOID

public final org.aspectj.weaver.ResolvedType.Primitive VOID

xsetAVOID_FINAL

public static final java.lang.String xsetAVOID_FINAL
See Also:
Constant Field Values

xsetWEAVE_JAVA_PACKAGES

public static final java.lang.String xsetWEAVE_JAVA_PACKAGES
See Also:
Constant Field Values

xsetWEAVE_JAVAX_PACKAGES

public static final java.lang.String xsetWEAVE_JAVAX_PACKAGES
See Also:
Constant Field Values

xsetCAPTURE_ALL_CONTEXT

public static final java.lang.String xsetCAPTURE_ALL_CONTEXT
See Also:
Constant Field Values

xsetRUN_MINIMAL_MEMORY

public static final java.lang.String xsetRUN_MINIMAL_MEMORY
See Also:
Constant Field Values

xsetDEBUG_STRUCTURAL_CHANGES_CODE

public static final java.lang.String xsetDEBUG_STRUCTURAL_CHANGES_CODE
See Also:
Constant Field Values

xsetDEBUG_BRIDGING

public static final java.lang.String xsetDEBUG_BRIDGING
See Also:
Constant Field Values

xsetTRANSIENT_TJP_FIELDS

public static final java.lang.String xsetTRANSIENT_TJP_FIELDS
See Also:
Constant Field Values

xsetBCEL_REPOSITORY_CACHING

public static final java.lang.String xsetBCEL_REPOSITORY_CACHING
See Also:
Constant Field Values

xsetPIPELINE_COMPILATION

public static final java.lang.String xsetPIPELINE_COMPILATION
See Also:
Constant Field Values

xsetGENERATE_STACKMAPS

public static final java.lang.String xsetGENERATE_STACKMAPS
See Also:
Constant Field Values

xsetPIPELINE_COMPILATION_DEFAULT

public static final java.lang.String xsetPIPELINE_COMPILATION_DEFAULT
See Also:
Constant Field Values

xsetCOMPLETE_BINARY_TYPES

public static final java.lang.String xsetCOMPLETE_BINARY_TYPES
See Also:
Constant Field Values

xsetCOMPLETE_BINARY_TYPES_DEFAULT

public static final java.lang.String xsetCOMPLETE_BINARY_TYPES_DEFAULT
See Also:
Constant Field Values

xsetTYPE_DEMOTION

public static final java.lang.String xsetTYPE_DEMOTION
See Also:
Constant Field Values

xsetTYPE_DEMOTION_DEBUG

public static final java.lang.String xsetTYPE_DEMOTION_DEBUG
See Also:
Constant Field Values

xsetTYPE_REFS

public static final java.lang.String xsetTYPE_REFS
See Also:
Constant Field Values

xsetBCEL_REPOSITORY_CACHING_DEFAULT

public static final java.lang.String xsetBCEL_REPOSITORY_CACHING_DEFAULT
See Also:
Constant Field Values

xsetFAST_PACK_METHODS

public static final java.lang.String xsetFAST_PACK_METHODS
See Also:
Constant Field Values

xsetOVERWEAVING

public static final java.lang.String xsetOVERWEAVING
See Also:
Constant Field Values

xsetOPTIMIZED_MATCHING

public static final java.lang.String xsetOPTIMIZED_MATCHING
See Also:
Constant Field Values

xsetTIMERS_PER_JOINPOINT

public static final java.lang.String xsetTIMERS_PER_JOINPOINT
See Also:
Constant Field Values

xsetTIMERS_PER_FASTMATCH_CALL

public static final java.lang.String xsetTIMERS_PER_FASTMATCH_CALL
See Also:
Constant Field Values

xsetITD_VERSION

public static final java.lang.String xsetITD_VERSION
See Also:
Constant Field Values

xsetITD_VERSION_ORIGINAL

public static final java.lang.String xsetITD_VERSION_ORIGINAL
See Also:
Constant Field Values

xsetITD_VERSION_2NDGEN

public static final java.lang.String xsetITD_VERSION_2NDGEN
See Also:
Constant Field Values

xsetITD_VERSION_DEFAULT

public static final java.lang.String xsetITD_VERSION_DEFAULT
See Also:
Constant Field Values

xsetMINIMAL_MODEL

public static final java.lang.String xsetMINIMAL_MODEL
See Also:
Constant Field Values

xsetTARGETING_RUNTIME_1610

public static final java.lang.String xsetTARGETING_RUNTIME_1610
See Also:
Constant Field Values
Constructor Detail

World

protected World()
Insert the primitives

Method Detail

accept

public void accept(Dump.IVisitor visitor)
Dump processing when a fatal error occurs

Specified by:
accept in interface Dump.INode

resolve

public ResolvedType resolve(UnresolvedType ty)
Resolve a type that we require to be present in the world


resolve

public ResolvedType resolve(UnresolvedType ty,
                            ISourceLocation isl)
Attempt to resolve a type - the source location gives you some context in which resolution is taking place. In the case of an error where we can't find the type - we can then at least report why (source location) we were trying to resolve it.


resolve

public ResolvedType[] resolve(UnresolvedType[] types)
Convenience method for resolving an array of unresolved types in one hit. Useful for e.g. resolving type parameters in signatures.


resolve

public ResolvedType resolve(UnresolvedType ty,
                            boolean allowMissing)
Resolve a type. This the hub of type resolution. The resolved type is added to the type map by signature.


completeBinaryType

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


isLocallyDefined

public 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. Return false otherwise or we don't know for certain.


resolve

public ResolvedType resolve(ResolvedType ty)
Some TypeFactory operations create resolved types directly, but these won't be in the typeMap - this resolution process puts them there. Resolved types are also told their world which is needed for the special autoboxing resolved types.


resolve

public ResolvedType resolve(java.lang.String name)
Convenience method for finding a type by name and resolving it in one step.


resolveToReferenceType

public ReferenceType resolveToReferenceType(java.lang.String name)

resolve

public ResolvedType resolve(java.lang.String name,
                            boolean allowMissing)

resolveGenericTypeFor

public ResolvedType resolveGenericTypeFor(UnresolvedType anUnresolvedType,
                                          boolean allowMissing)
Attempt to resolve a type that should be a generic type.


resolveDelegate

protected abstract ReferenceTypeDelegate resolveDelegate(ReferenceType ty)
Find the ReferenceTypeDelegate behind this reference type so that it can fulfill its contract.


getCoreType

public ResolvedType getCoreType(UnresolvedType tx)
Special resolution for "core" types like OBJECT. These are resolved just like any other type, but if they are not found it is more serious and we issue an error message immediately.


lookupOrCreateName

public ReferenceType lookupOrCreateName(UnresolvedType ty)
Lookup a type by signature, if not found then build one and put it in the map.


lookupBySignature

public ReferenceType lookupBySignature(java.lang.String signature)
Lookup a reference type in the world by its signature. Returns null if not found.


resolve

public ResolvedMember resolve(Member member)
Member resolution is achieved by resolving the declaring type and then looking up the member in the resolved declaring type.


setAllLintIgnored

public void setAllLintIgnored()

areAllLintIgnored

public boolean areAllLintIgnored()

getWeavingSupport

public abstract IWeavingSupport getWeavingSupport()

createAdviceMunger

public final Advice createAdviceMunger(AdviceKind kind,
                                       Pointcut p,
                                       Member signature,
                                       int extraParameterFlags,
                                       IHasSourceLocation loc,
                                       ResolvedType declaringAspect)
Create an advice shadow munger for the given advice kind


compareByPrecedence

public int compareByPrecedence(ResolvedType aspect1,
                               ResolvedType aspect2)
Same signature as org.aspectj.util.PartialOrder.PartialComparable.compareTo


getPrecedenceIfAny

public java.lang.Integer getPrecedenceIfAny(ResolvedType aspect1,
                                            ResolvedType aspect2)

compareByPrecedenceAndHierarchy

public int compareByPrecedenceAndHierarchy(ResolvedType aspect1,
                                           ResolvedType aspect2)
compares by precedence with the additional rule that a super-aspect is sorted before its sub-aspects


getMessageHandler

public IMessageHandler getMessageHandler()
Nobody should hold onto a copy of this message handler, or setMessageHandler won't work right.


setMessageHandler

public void setMessageHandler(IMessageHandler messageHandler)

showMessage

public void showMessage(IMessage.Kind kind,
                        java.lang.String message,
                        ISourceLocation loc1,
                        ISourceLocation loc2)
convenenience method for creating and issuing messages via the message handler - if you supply two locations you will get two messages.


setCrossReferenceHandler

public void setCrossReferenceHandler(ICrossReferenceHandler xrefHandler)

getCrossReferenceHandler

public ICrossReferenceHandler getCrossReferenceHandler()
Get the cross-reference handler for the world, may be null.


setTypeVariableLookupScope

public void setTypeVariableLookupScope(TypeVariableDeclaringElement scope)

getTypeVariableLookupScope

public TypeVariableDeclaringElement getTypeVariableLookupScope()

getDeclareParents

public java.util.List<DeclareParents> getDeclareParents()

getDeclareAnnotationOnTypes

public java.util.List<DeclareAnnotation> getDeclareAnnotationOnTypes()

getDeclareAnnotationOnFields

public java.util.List<DeclareAnnotation> getDeclareAnnotationOnFields()

getDeclareAnnotationOnMethods

public java.util.List<DeclareAnnotation> getDeclareAnnotationOnMethods()

getDeclareTypeEows

public java.util.List<DeclareTypeErrorOrWarning> getDeclareTypeEows()

getDeclareSoft

public java.util.List<DeclareSoft> getDeclareSoft()

getCrosscuttingMembersSet

public CrosscuttingMembersSet getCrosscuttingMembersSet()

getModel

public IStructureModel getModel()

setModel

public void setModel(IStructureModel model)

getLint

public Lint getLint()

setLint

public void setLint(Lint lint)

isXnoInline

public boolean isXnoInline()

setXnoInline

public void setXnoInline(boolean xnoInline)

isXlazyTjp

public boolean isXlazyTjp()

setXlazyTjp

public void setXlazyTjp(boolean b)

isHasMemberSupportEnabled

public boolean isHasMemberSupportEnabled()

setXHasMemberSupportEnabled

public void setXHasMemberSupportEnabled(boolean b)

isInPinpointMode

public boolean isInPinpointMode()

setPinpointMode

public void setPinpointMode(boolean b)

useFinal

public boolean useFinal()

isMinimalModel

public boolean isMinimalModel()

isTargettingRuntime1_6_10

public boolean isTargettingRuntime1_6_10()

setBehaveInJava5Way

public void setBehaveInJava5Way(boolean b)

setTiming

public void setTiming(boolean timersOn,
                      boolean reportPeriodically)
Set the timing option (whether to collect timing info), this will also need INFO messages turned on for the message handler being used. The reportPeriodically flag should be set to false under AJDT so numbers just come out at the end.


setErrorAndWarningThreshold

public void setErrorAndWarningThreshold(boolean errorThreshold,
                                        boolean warningThreshold)
Set the error and warning threashold which can be taken from CompilerOptions (see bug 129282)

Parameters:
errorThreshold -
warningThreshold -

isIgnoringUnusedDeclaredThrownException

public boolean isIgnoringUnusedDeclaredThrownException()
Returns:
true if ignoring the UnusedDeclaredThrownException and false if this compiler option is set to error or warning

performExtraConfiguration

public void performExtraConfiguration(java.lang.String config)

areInfoMessagesEnabled

public boolean areInfoMessagesEnabled()

getExtraConfiguration

public java.util.Properties getExtraConfiguration()
may return null


isInJava5Mode

public boolean isInJava5Mode()

isTimingEnabled

public boolean isTimingEnabled()

setTargetAspectjRuntimeLevel

public void setTargetAspectjRuntimeLevel(java.lang.String s)

setOptionalJoinpoints

public void setOptionalJoinpoints(java.lang.String jps)

isJoinpointArrayConstructionEnabled

public boolean isJoinpointArrayConstructionEnabled()

isJoinpointSynchronizationEnabled

public boolean isJoinpointSynchronizationEnabled()

getTargetAspectjRuntimeLevel

public java.lang.String getTargetAspectjRuntimeLevel()

isTargettingAspectJRuntime12

public boolean isTargettingAspectJRuntime12()

validateType

public void validateType(UnresolvedType type)

isDemotionActive

public boolean isDemotionActive()

getTypeVariablesCurrentlyBeingProcessed

public TypeVariable[] getTypeVariablesCurrentlyBeingProcessed(java.lang.Class<?> baseClass)

recordTypeVariablesCurrentlyBeingProcessed

public void recordTypeVariablesCurrentlyBeingProcessed(java.lang.Class<?> baseClass,
                                                       TypeVariable[] typeVariables)

forgetTypeVariablesCurrentlyBeingProcessed

public void forgetTypeVariablesCurrentlyBeingProcessed(java.lang.Class<?> baseClass)

setAddSerialVerUID

public void setAddSerialVerUID(boolean b)

isAddSerialVerUID

public boolean isAddSerialVerUID()

flush

public void flush()
be careful calling this - pr152257


ensureAdvancedConfigurationProcessed

public void ensureAdvancedConfigurationProcessed()

isRunMinimalMemory

public boolean isRunMinimalMemory()

isTransientTjpFields

public boolean isTransientTjpFields()

isRunMinimalMemorySet

public boolean isRunMinimalMemorySet()

shouldFastPackMethods

public boolean shouldFastPackMethods()

shouldPipelineCompilation

public boolean shouldPipelineCompilation()

shouldGenerateStackMaps

public boolean shouldGenerateStackMaps()

setIncrementalCompileCouldFollow

public void setIncrementalCompileCouldFollow(boolean b)

couldIncrementalCompileFollow

public boolean couldIncrementalCompileFollow()

setSynchronizationPointcutsInUse

public void setSynchronizationPointcutsInUse()

areSynchronizationPointcutsInUse

public boolean areSynchronizationPointcutsInUse()

registerPointcutHandler

public void registerPointcutHandler(PointcutDesignatorHandler designatorHandler)
Register a new pointcut designator handler with the world - this can be used by any pointcut parsers attached to the world.

Parameters:
designatorHandler - handler for the new pointcut

getRegisteredPointcutHandlers

public java.util.Set<PointcutDesignatorHandler> getRegisteredPointcutHandlers()

reportMatch

public void reportMatch(ShadowMunger munger,
                        Shadow shadow)

isOverWeaving

public boolean isOverWeaving()

reportCheckerMatch

public void reportCheckerMatch(Checker checker,
                               Shadow shadow)

isXmlConfigured

public boolean isXmlConfigured()
Returns:
true if this world has the activation and scope of application of the aspects controlled via aop.xml files

isAspectIncluded

public boolean isAspectIncluded(ResolvedType aspectType)

hasUnsatisfiedDependency

public boolean hasUnsatisfiedDependency(ResolvedType aspectType)
Determine if the named aspect requires a particular type around in order to be useful. The type is named in the aop.xml file against the aspect.

Returns:
true if there is a type missing that this aspect really needed around

getAspectScope

public TypePattern getAspectScope(ResolvedType declaringType)

getFixed

public java.util.Map<java.lang.String,ResolvedType> getFixed()

getExpendable

public java.util.Map<java.lang.String,java.lang.ref.Reference<ResolvedType>> getExpendable()

demote

public void demote()
Ask the type map to demote any types it can - we don't want them anchored forever.


isExpendable

protected boolean isExpendable(ResolvedType type)
Reference types we don't intend to weave may be ejected from the cache if we need the space.


getExclusionMap

public java.util.Map<ResolvedType,java.util.Set<ResolvedType>> getExclusionMap()

record

public void record(Pointcut pointcut,
                   long timetaken)
Record the time spent matching a pointcut - this will accumulate over the lifetime of this world/weaver and be reported every 25000 join points.


recordFastMatch

public void recordFastMatch(Pointcut pointcut,
                            long timetaken)
Record the time spent fastmatching a pointcut - this will accumulate over the lifetime of this world/weaver and be reported every 250 types.


reportTimers

public void reportTimers()

getTypeMap

public World.TypeMap getTypeMap()

reset

public static void reset()

getItdVersion

public int getItdVersion()
Returns the version of ITD that this world wants to create. The default is the new style (2) but in some cases where there might be a clash, the old style can be used. It is set through the option -Xset:itdVersion=1

Returns:
the ITD version this world wants to create - 1=oldstyle 2=new, transparent style

isLoadtimeWeaving

public abstract boolean isLoadtimeWeaving()

classWriteEvent

public void classWriteEvent(char[][] compoundName)