public class AnalysisField extends Object implements jdk.vm.ci.meta.ResolvedJavaField, OriginalFieldProvider
| Modifier and Type | Class and Description |
|---|---|
static interface |
AnalysisField.AnalysisFieldObserver |
| Modifier and Type | Field and Description |
|---|---|
protected TypeState |
instanceFieldTypeState |
jdk.vm.ci.meta.ResolvedJavaField |
wrapped |
| Constructor and Description |
|---|
AnalysisField(AnalysisUniverse universe,
jdk.vm.ci.meta.ResolvedJavaField wrappedField) |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, waitisAbstract, isConcrete, isFinalFlagSet, isInterface, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStrict, isSynchronized, isTransient, isVolatilegetAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresentgetJavaFieldpublic final jdk.vm.ci.meta.ResolvedJavaField wrapped
protected TypeState instanceFieldTypeState
public AnalysisField(AnalysisUniverse universe, jdk.vm.ci.meta.ResolvedJavaField wrappedField)
public void copyAccessInfos(AnalysisField other)
public void intersectAccessInfos(AnalysisField other)
public void clearAccessInfos()
public int getId()
public jdk.vm.ci.meta.JavaKind getStorageKind()
public TypeState getTypeState()
public TypeState getInstanceFieldTypeState()
public FieldTypeFlow getInitialInstanceFieldFlow()
public FieldTypeFlow getStaticFieldFlow()
public FieldSinkTypeFlow getInstanceFieldFlow()
public void cleanupAfterAnalysis()
public boolean registerAsAccessed()
public boolean registerAsRead(MethodTypeFlow method)
public boolean registerAsWritten(MethodTypeFlow method)
method - The method where the field is written or null if the method is not known, e.g.
for an unsafe accessed field.public void registerAsUnsafeAccessed(AnalysisUniverse universe)
public void registerAsUnsafeAccessed(AnalysisUniverse universe, com.oracle.svm.util.UnsafePartitionKind partitionKind)
public boolean isUnsafeAccessed()
public void registerAsJNIAccessed()
public boolean isJNIAccessed()
public void setUnsafeFrozenTypeState(boolean value)
public boolean hasUnsafeFrozenTypeState()
public Set<MethodTypeFlow> getReadBy()
public Set<MethodTypeFlow> getWrittenBy()
public boolean isAccessed()
public boolean isRead()
public boolean isWritten()
public void setCanBeNull(boolean canBeNull)
public boolean canBeNull()
public String getName()
getName in interface jdk.vm.ci.meta.JavaFieldpublic void setPosition(int newPosition)
public int getPosition()
public AnalysisType getType()
getType in interface jdk.vm.ci.meta.JavaFieldpublic int getModifiers()
getModifiers in interface jdk.vm.ci.meta.ModifiersProvidergetModifiers in interface jdk.vm.ci.meta.ResolvedJavaFieldpublic int getOffset()
getOffset in interface jdk.vm.ci.meta.ResolvedJavaFieldpublic AnalysisType getDeclaringClass()
getDeclaringClass in interface jdk.vm.ci.meta.JavaFieldgetDeclaringClass in interface jdk.vm.ci.meta.ResolvedJavaFieldpublic boolean isInternal()
isInternal in interface jdk.vm.ci.meta.ResolvedJavaFieldpublic boolean isSynthetic()
isSynthetic in interface jdk.vm.ci.meta.ResolvedJavaFieldpublic boolean isStatic()
isStatic in interface jdk.vm.ci.meta.ModifiersProviderpublic Annotation[] getAnnotations()
getAnnotations in interface AnnotatedElementpublic Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations in interface AnnotatedElementpublic <T extends Annotation> T getAnnotation(Class<T> annotationClass)
getAnnotation in interface AnnotatedElementpublic void markAsUsedInComparison()
public boolean isUsedInComparison()
public Field getJavaField()
OriginalFieldProvidergetJavaField in interface OriginalFieldProvidernullpublic void addAnalysisFieldObserver(AnalysisField.AnalysisFieldObserver observer)
public void removeAnalysisFieldObserver(AnalysisField.AnalysisFieldObserver observer)