public final class SnippetResolvedJavaType extends Object implements jdk.vm.ci.meta.ResolvedJavaType
ResolvedJavaType
for use by libgraal.
Libgraal snippets have their own hierarchy of these types because they represent a distinct type
system that's overlapping with the platform type system. These types are also transient in the
graph and should disappear from the graph once the snippet is inlined and optimized.
HotSpotResolvedJavaType
can't be used here
because the Graal classes may not be available in the host VM and even if they are, loading them
causes unnecessary class loading. The Substrate type system could be used but it is
implementation overkill for the purposes of libgraal.Constructor and Description |
---|
SnippetResolvedJavaType(Class<?> javaClass) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
jdk.vm.ci.meta.ResolvedJavaField |
findInstanceFieldWithOffset(long offset,
jdk.vm.ci.meta.JavaKind expectedKind) |
jdk.vm.ci.meta.Assumptions.AssumptionResult<jdk.vm.ci.meta.ResolvedJavaType> |
findLeafConcreteSubtype() |
jdk.vm.ci.meta.ResolvedJavaType |
findLeastCommonAncestor(jdk.vm.ci.meta.ResolvedJavaType otherType) |
jdk.vm.ci.meta.Assumptions.AssumptionResult<jdk.vm.ci.meta.ResolvedJavaMethod> |
findUniqueConcreteMethod(jdk.vm.ci.meta.ResolvedJavaMethod method) |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) |
Annotation[] |
getAnnotations() |
jdk.vm.ci.meta.ResolvedJavaType |
getArrayClass() |
jdk.vm.ci.meta.ResolvedJavaMethod |
getClassInitializer() |
jdk.vm.ci.meta.ResolvedJavaType |
getComponentType() |
Annotation[] |
getDeclaredAnnotations() |
jdk.vm.ci.meta.ResolvedJavaMethod[] |
getDeclaredConstructors() |
jdk.vm.ci.meta.ResolvedJavaMethod[] |
getDeclaredMethods() |
jdk.vm.ci.meta.ResolvedJavaType |
getEnclosingType() |
jdk.vm.ci.meta.ResolvedJavaType |
getHostClass() |
jdk.vm.ci.meta.ResolvedJavaField[] |
getInstanceFields(boolean includeSuperclasses) |
jdk.vm.ci.meta.ResolvedJavaType[] |
getInterfaces() |
jdk.vm.ci.meta.JavaKind |
getJavaKind() |
int |
getModifiers() |
String |
getName() |
jdk.vm.ci.meta.ResolvedJavaType |
getSingleImplementor() |
String |
getSourceFileName() |
jdk.vm.ci.meta.ResolvedJavaField[] |
getStaticFields() |
jdk.vm.ci.meta.ResolvedJavaType |
getSuperclass() |
jdk.vm.ci.meta.Assumptions.AssumptionResult<Boolean> |
hasFinalizableSubclass() |
boolean |
hasFinalizer() |
int |
hashCode() |
void |
initialize() |
boolean |
isArray() |
boolean |
isAssignableFrom(jdk.vm.ci.meta.ResolvedJavaType other) |
boolean |
isCloneableWithAllocation() |
boolean |
isEnum() |
boolean |
isInitialized() |
boolean |
isInstance(jdk.vm.ci.meta.JavaConstant obj) |
boolean |
isInstanceClass() |
boolean |
isInterface() |
boolean |
isJavaLangObject() |
boolean |
isLinked() |
boolean |
isLocal() |
boolean |
isMember() |
boolean |
isPrimitive() |
jdk.vm.ci.meta.ResolvedJavaType |
lookupType(jdk.vm.ci.meta.UnresolvedJavaType unresolvedJavaType,
boolean resolve) |
jdk.vm.ci.meta.ResolvedJavaType |
resolve(jdk.vm.ci.meta.ResolvedJavaType accessingClass) |
jdk.vm.ci.meta.ResolvedJavaMethod |
resolveMethod(jdk.vm.ci.meta.ResolvedJavaMethod method,
jdk.vm.ci.meta.ResolvedJavaType callerType) |
void |
setArrayOfType(SnippetResolvedJavaType arrayOfType) |
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
declaresDefaultMethods, findMethod, getElementalType, hasDefaultMethods, isLeaf, link, resolveConcreteMethod, resolveField
getUnqualifiedName, toClassName, toJavaName, toJavaName
isAbstract, isConcrete, isFinalFlagSet, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSynchronized, isTransient, isVolatile
getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
public SnippetResolvedJavaType(Class<?> javaClass)
public void setArrayOfType(SnippetResolvedJavaType arrayOfType)
public boolean hasFinalizer()
hasFinalizer
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.Assumptions.AssumptionResult<Boolean> hasFinalizableSubclass()
hasFinalizableSubclass
in interface jdk.vm.ci.meta.ResolvedJavaType
public int getModifiers()
getModifiers
in interface jdk.vm.ci.meta.ModifiersProvider
public boolean isInterface()
isInterface
in interface jdk.vm.ci.meta.ModifiersProvider
isInterface
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isInstanceClass()
isInstanceClass
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isPrimitive()
isPrimitive
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isEnum()
isEnum
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isInitialized()
isInitialized
in interface jdk.vm.ci.meta.ResolvedJavaType
public void initialize()
initialize
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isLinked()
isLinked
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isAssignableFrom(jdk.vm.ci.meta.ResolvedJavaType other)
isAssignableFrom
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType lookupType(jdk.vm.ci.meta.UnresolvedJavaType unresolvedJavaType, boolean resolve)
lookupType
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType getHostClass()
getHostClass
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isInstance(jdk.vm.ci.meta.JavaConstant obj)
isInstance
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType getSuperclass()
getSuperclass
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType[] getInterfaces()
getInterfaces
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType getSingleImplementor()
getSingleImplementor
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType findLeastCommonAncestor(jdk.vm.ci.meta.ResolvedJavaType otherType)
findLeastCommonAncestor
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.Assumptions.AssumptionResult<jdk.vm.ci.meta.ResolvedJavaType> findLeafConcreteSubtype()
findLeafConcreteSubtype
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isJavaLangObject()
isJavaLangObject
in interface jdk.vm.ci.meta.ResolvedJavaType
public String getName()
getName
in interface jdk.vm.ci.meta.JavaType
public jdk.vm.ci.meta.ResolvedJavaType getComponentType()
getComponentType
in interface jdk.vm.ci.meta.JavaType
getComponentType
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType getArrayClass()
getArrayClass
in interface jdk.vm.ci.meta.JavaType
getArrayClass
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.JavaKind getJavaKind()
getJavaKind
in interface jdk.vm.ci.meta.JavaType
public jdk.vm.ci.meta.ResolvedJavaType resolve(jdk.vm.ci.meta.ResolvedJavaType accessingClass)
resolve
in interface jdk.vm.ci.meta.JavaType
public jdk.vm.ci.meta.ResolvedJavaMethod resolveMethod(jdk.vm.ci.meta.ResolvedJavaMethod method, jdk.vm.ci.meta.ResolvedJavaType callerType)
resolveMethod
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.Assumptions.AssumptionResult<jdk.vm.ci.meta.ResolvedJavaMethod> findUniqueConcreteMethod(jdk.vm.ci.meta.ResolvedJavaMethod method)
findUniqueConcreteMethod
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaField[] getInstanceFields(boolean includeSuperclasses)
getInstanceFields
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaField[] getStaticFields()
getStaticFields
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaField findInstanceFieldWithOffset(long offset, jdk.vm.ci.meta.JavaKind expectedKind)
findInstanceFieldWithOffset
in interface jdk.vm.ci.meta.ResolvedJavaType
public String getSourceFileName()
getSourceFileName
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isLocal()
isLocal
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isMember()
isMember
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaType getEnclosingType()
getEnclosingType
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaMethod[] getDeclaredConstructors()
getDeclaredConstructors
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaMethod[] getDeclaredMethods()
getDeclaredMethods
in interface jdk.vm.ci.meta.ResolvedJavaType
public jdk.vm.ci.meta.ResolvedJavaMethod getClassInitializer()
getClassInitializer
in interface jdk.vm.ci.meta.ResolvedJavaType
public boolean isCloneableWithAllocation()
isCloneableWithAllocation
in interface jdk.vm.ci.meta.ResolvedJavaType
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
getAnnotation
in interface AnnotatedElement
public Annotation[] getAnnotations()
getAnnotations
in interface AnnotatedElement
public Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations
in interface AnnotatedElement
public boolean isArray()
isArray
in interface jdk.vm.ci.meta.JavaType