Class BcelObjectType

All Implemented Interfaces:
ReferenceTypeDelegate

public class BcelObjectType extends AbstractReferenceTypeDelegate
  • Field Details

  • Method Details

    • setJavaClass

      public void setJavaClass(JavaClass newclass, boolean artificial)
    • isCacheable

      public boolean isCacheable()
      Description copied from interface: ReferenceTypeDelegate
      TODO Caching of methods besides getDeclaredInterfaces() may also be dependent on this flag - which?
      Specified by:
      isCacheable in interface ReferenceTypeDelegate
      Overrides:
      isCacheable in class AbstractReferenceTypeDelegate
      Returns:
      true if something the result of getDeclaredInterfaces() can be cached by the caller
    • isInterface

      public boolean isInterface()
    • isEnum

      public boolean isEnum()
    • isAnnotation

      public boolean isAnnotation()
    • isAnonymous

      public boolean isAnonymous()
    • isNested

      public boolean isNested()
      Returns:
      true if this class is nested (this includes: member classes, local classes, anonymous classes)
    • getModifiers

      public int getModifiers()
    • getSuperclass

      public ResolvedType getSuperclass()
      Must take into account generic signature
    • getWorld

      public World getWorld()
    • getDeclaredInterfaces

      public ResolvedType[] getDeclaredInterfaces()
      Retrieves the declared interfaces - this allows for the generic signature on a type. If specified then the generic signature is used to work out the types - this gets around the results of erasure when the class was originally compiled.
    • getDeclaredMethods

      public ResolvedMember[] getDeclaredMethods()
    • getDeclaredFields

      public ResolvedMember[] getDeclaredFields()
    • getTypeVariables

      public TypeVariable[] getTypeVariables()
    • getTypeMungers

      public Collection<ConcreteTypeMunger> getTypeMungers()
    • getDeclares

      public Collection<Declare> getDeclares()
    • getPrivilegedAccesses

      public Collection<ResolvedMember> getPrivilegedAccesses()
    • getDeclaredPointcuts

      public ResolvedMember[] getDeclaredPointcuts()
    • isAspect

      public boolean isAspect()
    • isAnnotationStyleAspect

      public boolean isAnnotationStyleAspect()
      Check if the type is an @AJ aspect (no matter if used from an LTW point of view). Such aspects are annotated with @Aspect
      Returns:
      true for @AJ aspect
    • getPerClause

      public PerClause getPerClause()
      Returns:
      for an aspect declaration, return the
    • getJavaClass

      public JavaClass getJavaClass()
    • isArtificial

      public boolean isArtificial()
      Returns:
      true if built from bytes obtained from somewhere. False if built from bytes retrieved from disk.
    • resetState

      public void resetState()
    • finishedWith

      public void finishedWith()
    • getWeaverState

      public WeaverStateInfo getWeaverState()
    • printWackyStuff

      public void printWackyStuff(PrintStream out)
    • getLazyClassGen

      public LazyClassGen getLazyClassGen()
      Return the lazyClassGen associated with this type. For aspect types, this value will be cached, since it is used to inline advice. For non-aspect types, this lazyClassGen is always newly constructed.
    • isSynthetic

      public boolean isSynthetic()
    • getWeaverVersionAttribute

      public AjAttribute.WeaverVersionInfo getWeaverVersionAttribute()
    • getAnnotationTypes

      public ResolvedType[] getAnnotationTypes()
    • getAnnotations

      public AnnotationAJ[] getAnnotations()
    • hasAnnotations

      public boolean hasAnnotations()
    • hasAnnotation

      public boolean hasAnnotation(UnresolvedType ofType)
    • isAnnotationWithRuntimeRetention

      public boolean isAnnotationWithRuntimeRetention()
      Returns:
      true if this annotation type has a retention policy of RUNTIME
    • getRetentionPolicy

      public String getRetentionPolicy()
    • canAnnotationTargetType

      public boolean canAnnotationTargetType()
      Returns:
      true if this annotation type can be on a regular type (ie. it doesn't specify anything or it specifies TYPE)
    • getAnnotationTargetKinds

      public AnnotationTargetKind[] getAnnotationTargetKinds()
      Returns:
      all the possible targets that this annotation can be placed upon
    • getDeclaredGenericSignature

      public String getDeclaredGenericSignature()
    • getAllFormals

      public GenericSignature.FormalTypeParameter[] getAllFormals()
    • getOuterClass

      public ResolvedType getOuterClass()
    • isGeneric

      public boolean isGeneric()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • evictWeavingState

      public void evictWeavingState()
    • weavingCompleted

      public void weavingCompleted()
    • hasBeenWoven

      public boolean hasBeenWoven()
      Specified by:
      hasBeenWoven in interface ReferenceTypeDelegate
      Overrides:
      hasBeenWoven in class AbstractReferenceTypeDelegate
    • copySourceContext

      public boolean copySourceContext()
      Specified by:
      copySourceContext in interface ReferenceTypeDelegate
      Overrides:
      copySourceContext in class AbstractReferenceTypeDelegate
    • setExposedToWeaver

      public void setExposedToWeaver(boolean b)
    • getCompilerVersion

      public int getCompilerVersion()
      Description copied from interface: ReferenceTypeDelegate
      If known, return the compiler/weaver version used to build this delegate. Default is the most recent level as specified in AjAttribute.WeaverVersionInfo.
      Specified by:
      getCompilerVersion in interface ReferenceTypeDelegate
      Overrides:
      getCompilerVersion in class AbstractReferenceTypeDelegate
      Returns:
      the major version
    • ensureConsistent

      public void ensureConsistent()
      Description copied from interface: ReferenceTypeDelegate
      Implementations need to clear state
      Specified by:
      ensureConsistent in interface ReferenceTypeDelegate
      Overrides:
      ensureConsistent in class AbstractReferenceTypeDelegate
    • isWeavable

      public boolean isWeavable()
      Specified by:
      isWeavable in interface ReferenceTypeDelegate
      Overrides:
      isWeavable in class AbstractReferenceTypeDelegate