Class HierarchyBinaryType
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType
- All Implemented Interfaces:
IBinaryInfo,IBinaryType,IDependent,IElementInfo,IGenericType
-
Field Summary
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType
NoField, NoInterface, NoMethod, NoNestedTypeFields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IDependent
JAR_FILE_ENTRY_SEPARATOR -
Constructor Summary
ConstructorsConstructorDescriptionHierarchyBinaryType(int modifiers, char[] binaryName, char[] sourceName, char[] enclosingTypeBinaryName, char[][] typeParameterSignatures) HierarchyBinaryType(int modifiers, char[] qualification, char[] sourceName, char[] enclosingTypeName, char[][] typeParameterSignatures, char typeSuffix) -
Method Summary
Modifier and TypeMethodDescriptionenrichWithExternalAnnotationsFor(ITypeAnnotationWalker walker, Object member, LookupEnvironment environment) Answer a type annotation walker that takes into consideration also external annotations.Answer the runtime visible and invisible annotations for this type or null if none.char[]Answer the enclosing method (including method selector and method descriptor), or null if none.char[]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.Answer whether a provider for external annotations is associated with this binary type.Answer the receiver's fields or null if the array is empty.char[]Answer the file name which defines the type.char[]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.char[][]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.Answer the receiver's nested types or null if the array is empty.Answer the receiver's methods or null if the array is empty.char[][][]Answer the list of missing type names which were referenced from the problem classfile.intAnswer an int whose bits are set according the access constants defined by the VM spec.char[]Answer the module to which this type belongs.char[]getName()Answer the resolved name of the type in the class file format as specified in section 4.2 of the Java 2 VM spec.Answer the receiver's record components or null if the array is empty.char[]Answer the simple name of the type in the class file.char[]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.longAnswer the tagbits set according to the bits for annotations.Answer the runtime visible and invisible type annotations for this type or null if none.booleanAnswer true if the receiver is an anonymous class.booleanAnswer whether the receiver contains the resolved binary form or the unresolved source form of the type.booleanisLocal()Answer true if the receiver is a local class.booleanisMember()Answer true if the receiver is a member class.booleanisRecord()Answer true if the receiver is a record.voidrecordInterface(char[] binaryName) voidrecordSuperclass(char[] binaryName) voidrecordSuperType(char[] superTypeName, char[] superQualification, char superClassOrInterface) char[]Answer the source file attribute, or null if none.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType
getPermittedSubtypesNames, getURI
-
Constructor Details
-
HierarchyBinaryType
public HierarchyBinaryType(int modifiers, char[] qualification, char[] sourceName, char[] enclosingTypeName, char[][] typeParameterSignatures, char typeSuffix) -
HierarchyBinaryType
public HierarchyBinaryType(int modifiers, char[] binaryName, char[] sourceName, char[] enclosingTypeBinaryName, char[][] typeParameterSignatures)
-
-
Method Details
-
getAnnotations
Description copied from interface:IBinaryTypeAnswer the runtime visible and invisible annotations for this type or null if none.- Specified by:
getAnnotationsin interfaceIBinaryType- See Also:
-
getTypeAnnotations
Description copied from interface:IBinaryTypeAnswer the runtime visible and invisible type annotations for this type or null if none.- Specified by:
getTypeAnnotationsin interfaceIBinaryType- See Also:
-
getEnclosingMethod
public char[] getEnclosingMethod()Description copied from interface:IBinaryTypeAnswer the enclosing method (including method selector and method descriptor), or null if none. For example, "foo()Ljava/lang/Object;V"- Specified by:
getEnclosingMethodin interfaceIBinaryType
-
getEnclosingTypeName
public char[] getEnclosingTypeName()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:
getEnclosingTypeNamein interfaceIBinaryType
-
getFields
Answer the receiver's fields or null if the array is empty.- Specified by:
getFieldsin interfaceIBinaryType
-
getFileName
public char[] getFileName()Description copied from interface:IDependentAnswer 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:
getFileNamein interfaceIDependent- See Also:
-
getGenericSignature
public char[] getGenericSignature()Description copied from interface:IBinaryTypeAnswer 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:
getGenericSignaturein interfaceIBinaryType- Returns:
- the receiver's signature, null if none
-
getInterfaceNames
public char[][] getInterfaceNames()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:
getInterfaceNamesin interfaceIBinaryType
-
getMemberTypes
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:
getMemberTypesin interfaceIBinaryType
-
getMethods
Answer the receiver's methods or null if the array is empty.- Specified by:
getMethodsin interfaceIBinaryType
-
getMissingTypeNames
public char[][][] getMissingTypeNames()Description copied from interface:IBinaryTypeAnswer the list of missing type names which were referenced from the problem classfile. This list is encoded via an extra attribute.- Specified by:
getMissingTypeNamesin interfaceIBinaryType- See Also:
-
getModifiers
public int getModifiers()Answer an int whose bits are set according the access constants defined by the VM spec.- Specified by:
getModifiersin interfaceIGenericType
-
getName
public char[] getName()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:
getNamein interfaceIBinaryType
-
getSourceName
public char[] getSourceName()Description copied from interface:IBinaryTypeAnswer the simple name of the type in the class file. For member A$B, will answer B. For anonymous will answer null.- Specified by:
getSourceNamein interfaceIBinaryType
-
getSuperclassName
public char[] getSuperclassName()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:
getSuperclassNamein interfaceIBinaryType
-
getTagBits
public long getTagBits()Description copied from interface:IBinaryTypeAnswer the tagbits set according to the bits for annotations.- Specified by:
getTagBitsin interfaceIBinaryType
-
isAnonymous
public boolean isAnonymous()Description copied from interface:IBinaryTypeAnswer true if the receiver is an anonymous class. false otherwise- Specified by:
isAnonymousin interfaceIBinaryType
-
isBinaryType
public boolean isBinaryType()Answer whether the receiver contains the resolved binary form or the unresolved source form of the type.- Specified by:
isBinaryTypein interfaceIGenericType
-
isLocal
public boolean isLocal()Description copied from interface:IBinaryTypeAnswer true if the receiver is a local class. false otherwise- Specified by:
isLocalin interfaceIBinaryType
-
isRecord
public boolean isRecord()Description copied from interface:IBinaryTypeAnswer true if the receiver is a record. false otherwise- Specified by:
isRecordin interfaceIBinaryType
-
isMember
public boolean isMember()Description copied from interface:IBinaryTypeAnswer true if the receiver is a member class. false otherwise- Specified by:
isMemberin interfaceIBinaryType
-
recordSuperType
public void recordSuperType(char[] superTypeName, char[] superQualification, char superClassOrInterface) -
recordSuperclass
public void recordSuperclass(char[] binaryName) -
recordInterface
public void recordInterface(char[] binaryName) -
sourceFileName
public char[] sourceFileName()Description copied from interface:IBinaryTypeAnswer the source file attribute, or null if none. For example, "String.java"- Specified by:
sourceFileNamein interfaceIBinaryType- See Also:
-
toString
-
enrichWithExternalAnnotationsFor
public ITypeAnnotationWalker enrichWithExternalAnnotationsFor(ITypeAnnotationWalker walker, Object member, LookupEnvironment environment) Description copied from interface:IBinaryTypeAnswer a type annotation walker that takes into consideration also external annotations.- Specified by:
enrichWithExternalAnnotationsForin interfaceIBinaryType- Parameters:
walker- previous walker, may be empty, otherwise it will be returned unchangedmember- if either a IBinaryField or a IBinaryMethod is provided, answer a walker specifically for that memberenvironment- 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:IBinaryTypeAnswer the module to which this type belongs.nullif the type is associated to the unnamed module.- Specified by:
getModulein interfaceIBinaryType- Returns:
- the module name or
null
-
getExternalAnnotationStatus
Description copied from interface:IBinaryTypeAnswer whether a provider for external annotations is associated with this binary type.- Specified by:
getExternalAnnotationStatusin interfaceIBinaryType
-
getRecordComponents
Description copied from interface:IBinaryTypeAnswer the receiver's record components or null if the array is empty.- Specified by:
getRecordComponentsin interfaceIBinaryType
-