public final class SnippetResolvedJavaType extends Object
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) |
ResolvedJavaField |
findInstanceFieldWithOffset(long offset,
JavaKind expectedKind) |
<any> |
findLeafConcreteSubtype() |
ResolvedJavaType |
findLeastCommonAncestor(ResolvedJavaType otherType) |
<any> |
findUniqueConcreteMethod(ResolvedJavaMethod method) |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) |
Annotation[] |
getAnnotations() |
ResolvedJavaType |
getArrayClass() |
ResolvedJavaMethod |
getClassInitializer() |
ResolvedJavaType |
getComponentType() |
Annotation[] |
getDeclaredAnnotations() |
ResolvedJavaMethod[] |
getDeclaredConstructors() |
ResolvedJavaMethod[] |
getDeclaredMethods() |
ResolvedJavaType |
getEnclosingType() |
ResolvedJavaType |
getHostClass() |
ResolvedJavaField[] |
getInstanceFields(boolean includeSuperclasses) |
ResolvedJavaType[] |
getInterfaces() |
JavaKind |
getJavaKind() |
int |
getModifiers() |
String |
getName() |
ResolvedJavaType |
getSingleImplementor() |
String |
getSourceFileName() |
ResolvedJavaField[] |
getStaticFields() |
ResolvedJavaType |
getSuperclass() |
<any> |
hasFinalizableSubclass() |
boolean |
hasFinalizer() |
int |
hashCode() |
void |
initialize() |
boolean |
isArray() |
boolean |
isAssignableFrom(ResolvedJavaType other) |
boolean |
isCloneableWithAllocation() |
boolean |
isEnum() |
boolean |
isInitialized() |
boolean |
isInstance(JavaConstant obj) |
boolean |
isInstanceClass() |
boolean |
isInterface() |
boolean |
isJavaLangObject() |
boolean |
isLinked() |
boolean |
isLocal() |
boolean |
isMember() |
boolean |
isPrimitive() |
ResolvedJavaType |
lookupType(UnresolvedJavaType unresolvedJavaType,
boolean resolve) |
ResolvedJavaType |
resolve(ResolvedJavaType accessingClass) |
ResolvedJavaMethod |
resolveConcreteMethod(ResolvedJavaMethod method,
ResolvedJavaType callerType) |
ResolvedJavaMethod |
resolveMethod(ResolvedJavaMethod method,
ResolvedJavaType callerType) |
void |
setArrayOfType(SnippetResolvedJavaType arrayOfType) |
String |
toString() |
public SnippetResolvedJavaType(Class<?> javaClass)
public void setArrayOfType(SnippetResolvedJavaType arrayOfType)
public boolean hasFinalizer()
public <any> hasFinalizableSubclass()
public int getModifiers()
public boolean isInterface()
public boolean isInstanceClass()
public boolean isPrimitive()
public boolean isEnum()
public boolean isInitialized()
public void initialize()
public boolean isLinked()
public boolean isAssignableFrom(ResolvedJavaType other)
public ResolvedJavaType lookupType(UnresolvedJavaType unresolvedJavaType,
boolean resolve)
public ResolvedJavaType getHostClass()
public boolean isInstance(JavaConstant obj)
public ResolvedJavaType getSuperclass()
public ResolvedJavaType[] getInterfaces()
public ResolvedJavaType getSingleImplementor()
public ResolvedJavaType findLeastCommonAncestor(ResolvedJavaType otherType)
public <any> findLeafConcreteSubtype()
public boolean isJavaLangObject()
public String getName()
public ResolvedJavaType getComponentType()
public ResolvedJavaType getArrayClass()
public JavaKind getJavaKind()
public ResolvedJavaType resolve(ResolvedJavaType accessingClass)
public ResolvedJavaMethod resolveMethod(ResolvedJavaMethod method,
ResolvedJavaType callerType)
public ResolvedJavaMethod resolveConcreteMethod(ResolvedJavaMethod method,
ResolvedJavaType callerType)
public <any> findUniqueConcreteMethod(ResolvedJavaMethod method)
public ResolvedJavaField[] getInstanceFields(boolean includeSuperclasses)
public ResolvedJavaField[] getStaticFields()
public ResolvedJavaField findInstanceFieldWithOffset(long offset,
JavaKind expectedKind)
public String getSourceFileName()
public boolean isLocal()
public boolean isMember()
public ResolvedJavaType getEnclosingType()
public ResolvedJavaMethod[] getDeclaredConstructors()
public ResolvedJavaMethod[] getDeclaredMethods()
public ResolvedJavaMethod getClassInitializer()
public boolean isCloneableWithAllocation()
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
public Annotation[] getAnnotations()
public Annotation[] getDeclaredAnnotations()
public boolean isArray()