Class CodeSnippetSkeleton

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.eval.CodeSnippetSkeleton
All Implemented Interfaces:
IBinaryInfo, IBinaryType, IDependent, IElementInfo, IGenericType, EvaluationConstants

public class CodeSnippetSkeleton extends Object implements IBinaryType, EvaluationConstants
The skeleton of the class 'org.eclipse.jdt.internal.eval.target.CodeSnippet' used at compile time. Note that the method run() is declared to throw Throwable so that the user can write a code snipet that throws checked exceptio without having to catch those.
  • Constructor Details

    • CodeSnippetSkeleton

      public CodeSnippetSkeleton()
      CodeSnippetSkeleton constructor comment.
  • Method Details

    • getAnnotations

      public IBinaryAnnotation[] getAnnotations()
      Description copied from interface: IBinaryType
      Answer the runtime visible and invisible annotations for this type or null if none.
      Specified by:
      getAnnotations in interface IBinaryType
    • getTypeAnnotations

      public IBinaryTypeAnnotation[] getTypeAnnotations()
      Description copied from interface: IBinaryType
      Answer the runtime visible and invisible type annotations for this type or null if none.
      Specified by:
      getTypeAnnotations in interface IBinaryType
    • getEnclosingMethod

      public char[] getEnclosingMethod()
      Description copied from interface: IBinaryType
      Answer the enclosing method (including method selector and method descriptor), or null if none. For example, "foo()Ljava/lang/Object;V"
      Specified by:
      getEnclosingMethod in interface IBinaryType
    • getEnclosingTypeName

      public char[] getEnclosingTypeName()
      Description copied from interface: IBinaryType
      Answer the resolved name of the enclosing type in the class file format as specified in section 4.2 of the Java 2 VM spec or null if the receiver is a top level type. For example, java.lang.String is java/lang/String.
      Specified by:
      getEnclosingTypeName in interface IBinaryType
    • getFields

      public IBinaryField[] getFields()
      Description copied from interface: IBinaryType
      Answer the receiver's fields or null if the array is empty.
      Specified by:
      getFields in interface IBinaryType
    • getFileName

      public char[] getFileName()
      Description copied from interface: IDependent
      Answer the file name which defines the type. The path part (optional) must be separated from the actual file proper name by a separator suitable for the type (java.io.File.separator for example), e.g. "c:\\source\\com\\p\\X.java" or "/com/p/Y.java". The path to the zip or jar file (optional) must be separated from the actual path part by JAR_FILE_ENTRY_SEPARATOR, e.g. "c:\\lib\\some.jar|/com/p/X.class" or "/lib/some.zip|/com/q/Y.class". The proper file name includes the suffix extension (e.g. ".java") e.g. "c:/org/eclipse/jdt/internal/compileri/env/IDependent.java" Return null if no file defines the type.
      Specified by:
      getFileName in interface IDependent
      See Also:
      • invalid reference
        org.eclipse.jdt.internal.compiler.env.IDependent#getFileName()
    • getGenericSignature

      public char[] getGenericSignature()
      Description copied from interface: IBinaryType
      Answer the receiver's ClassSignature, which describes the type parameters, super class, and super interfaces as specified in section "4.7.9.1 Signatures" of the Java SE 8 VM spec. Returns null if none.
      Specified by:
      getGenericSignature in interface IBinaryType
      Returns:
      the receiver's signature, null if none
    • getInterfaceNames

      public char[][] getInterfaceNames()
      Description copied from interface: IBinaryType
      Answer the resolved names of the receiver's interfaces in the class file format as specified in section 4.2 of the Java 2 VM spec or null if the array is empty. For example, java.lang.String is java/lang/String.
      Specified by:
      getInterfaceNames in interface IBinaryType
    • getJavadocContents

      public String getJavadocContents()
    • getJavadocContents

      public String getJavadocContents(org.eclipse.core.runtime.IProgressMonitor monitor, String defaultEncoding) throws JavaModelException
      Throws:
      JavaModelException
    • getMemberTypes

      public IBinaryNestedType[] getMemberTypes()
      Description copied from interface: IBinaryType
      Answer the receiver's nested types or null if the array is empty. This nested type info is extracted from the inner class attributes. Ask the name environment to find a member type using its compound name.
      Specified by:
      getMemberTypes in interface IBinaryType
    • getMethods

      public IBinaryMethod[] getMethods()
      Description copied from interface: IBinaryType
      Answer the receiver's methods or null if the array is empty.
      Specified by:
      getMethods in interface IBinaryType
    • getModifiers

      public int getModifiers()
      Description copied from interface: IGenericType
      Answer an int whose bits are set according the access constants defined by the VM spec. NOTE 1: We have added AccDeprecated and AccSynthetic. NOTE 2: If the receiver represents a member type, the modifiers are extracted from its inner class attributes.
      Specified by:
      getModifiers in interface IGenericType
    • getMissingTypeNames

      public char[][][] getMissingTypeNames()
      Description copied from interface: IBinaryType
      Answer the list of missing type names which were referenced from the problem classfile. This list is encoded via an extra attribute.
      Specified by:
      getMissingTypeNames in interface IBinaryType
    • getName

      public char[] getName()
      Description copied from interface: IBinaryType
      Answer the resolved name of the type in the class file format as specified in section 4.2 of the Java 2 VM spec. For example, java.lang.String is java/lang/String.
      Specified by:
      getName in interface IBinaryType
    • getSourceName

      public char[] getSourceName()
      Description copied from interface: IBinaryType
      Answer the simple name of the type in the class file. For member A$B, will answer B. For anonymous will answer null.
      Specified by:
      getSourceName in interface IBinaryType
    • getSuperclassName

      public char[] getSuperclassName()
      Description copied from interface: IBinaryType
      Answer the resolved name of the receiver's superclass in the class file format as specified in section 4.2 of the Java 2 VM spec or null if it does not have one. For example, java.lang.String is java/lang/String.
      Specified by:
      getSuperclassName in interface IBinaryType
    • getTagBits

      public long getTagBits()
      Description copied from interface: IBinaryType
      Answer the tagbits set according to the bits for annotations.
      Specified by:
      getTagBits in interface IBinaryType
    • getURLContents

      public String getURLContents(String docUrlValue, String defaultEncoding)
    • isAnonymous

      public boolean isAnonymous()
      Description copied from interface: IBinaryType
      Answer true if the receiver is an anonymous class. false otherwise
      Specified by:
      isAnonymous in interface IBinaryType
    • isBinaryType

      public boolean isBinaryType()
      Description copied from interface: IGenericType
      Answer whether the receiver contains the resolved binary form or the unresolved source form of the type.
      Specified by:
      isBinaryType in interface IGenericType
    • isLocal

      public boolean isLocal()
      Description copied from interface: IBinaryType
      Answer true if the receiver is a local class. false otherwise
      Specified by:
      isLocal in interface IBinaryType
    • isRecord

      public boolean isRecord()
      Description copied from interface: IBinaryType
      Answer true if the receiver is a record. false otherwise
      Specified by:
      isRecord in interface IBinaryType
    • isMember

      public boolean isMember()
      Description copied from interface: IBinaryType
      Answer true if the receiver is a member class. false otherwise
      Specified by:
      isMember in interface IBinaryType
    • sourceFileName

      public char[] sourceFileName()
      Description copied from interface: IBinaryType
      Answer the source file attribute, or null if none. For example, "String.java"
      Specified by:
      sourceFileName in interface IBinaryType
    • enrichWithExternalAnnotationsFor

      public ITypeAnnotationWalker enrichWithExternalAnnotationsFor(ITypeAnnotationWalker walker, Object member, LookupEnvironment environment)
      Description copied from interface: IBinaryType
      Answer a type annotation walker that takes into consideration also external annotations.
      Specified by:
      enrichWithExternalAnnotationsFor in interface IBinaryType
      Parameters:
      walker - previous walker, may be empty, otherwise it will be returned unchanged
      member - if either a IBinaryField or a IBinaryMethod is provided, answer a walker specifically for that member
      environment - for use by the walker
      Returns:
      either a matching walker with data from external annotations or the walker provided via argument 'walker'.
    • getModule

      public char[] getModule()
      Description copied from interface: IBinaryType
      Answer the module to which this type belongs. null if the type is associated to the unnamed module.
      Specified by:
      getModule in interface IBinaryType
      Returns:
      the module name or null
    • getExternalAnnotationStatus

      public BinaryTypeBinding.ExternalAnnotationStatus getExternalAnnotationStatus()
      Description copied from interface: IBinaryType
      Answer whether a provider for external annotations is associated with this binary type.
      Specified by:
      getExternalAnnotationStatus in interface IBinaryType
    • getRecordComponents

      public IRecordComponent[] getRecordComponents()
      Description copied from interface: IBinaryType
      Answer the receiver's record components or null if the array is empty.
      Specified by:
      getRecordComponents in interface IBinaryType