Package | Description |
---|---|
gov.nasa.jpf.jvm | |
gov.nasa.jpf.jvm.bytecode | |
gov.nasa.jpf.listener | |
gov.nasa.jpf.util | |
gov.nasa.jpf.vm | |
gov.nasa.jpf.vm.serialize |
Modifier and Type | Method and Description |
---|---|
protected void |
JVMClassInfo.setAnnotationValueGetterCode(MethodInfo pmi,
FieldInfo fi)
to be called from super proxy ctor
this needs to be in the VM specific ClassInfo because we need to create code
|
Modifier and Type | Field and Description |
---|---|
protected FieldInfo |
FieldInstruction.fi |
Modifier and Type | Method and Description |
---|---|
FieldInfo |
StaticFieldInstruction.getFieldInfo() |
FieldInfo |
InstanceFieldInstruction.getFieldInfo() |
abstract FieldInfo |
FieldInstruction.getFieldInfo() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
InstanceFieldInstruction.isNewPorFieldBoundary(ThreadInfo ti,
FieldInfo fi,
int objRef) |
Modifier and Type | Field and Description |
---|---|
protected HashMap<FieldInfo,Perturbator.FieldPerturbation> |
Perturbator.perturbedFields |
Modifier and Type | Method and Description |
---|---|
protected void |
Perturbator.addFieldPerturbations(Perturbator.FieldPerturbation p,
ClassInfo ci,
FieldInfo[] fieldInfos) |
Modifier and Type | Method and Description |
---|---|
boolean |
FieldSpec.matches(FieldInfo fi) |
Modifier and Type | Class and Description |
---|---|
class |
BooleanFieldInfo
fieldinfo for slots holding booleans
|
class |
ByteFieldInfo
fieldinfo for slots holding bytes
|
class |
CharFieldInfo
fieldinfo for slots holding chars
|
class |
DoubleFieldInfo
type, name and attribute information for 'double' fields
|
class |
DoubleSlotFieldInfo
a double or long field
|
class |
FloatFieldInfo
type, name, modifier info of float fields
|
class |
IntegerFieldInfo
type, name, mod info about integer fields
|
class |
LongFieldInfo |
class |
ReferenceFieldInfo
field info for object fields
|
class |
ShortFieldInfo
fieldinfo for slots holding booleans
|
class |
SingleSlotFieldInfo
field type that requires a single slot (all but long and double)
|
Modifier and Type | Field and Description |
---|---|
protected FieldInfo[] |
ClassInfo.iFields
our instance fields.
|
protected FieldInfo[] |
ClassInfo.sFields
our static fields.
|
Modifier and Type | Method and Description |
---|---|
static FieldInfo |
FieldInfo.create(String name,
String signature,
int modifiers) |
protected FieldInfo |
StaticElementInfo.getDeclaredFieldInfo(String clsBase,
String fname) |
protected FieldInfo |
DynamicElementInfo.getDeclaredFieldInfo(String clsBase,
String fname) |
protected abstract FieldInfo |
ElementInfo.getDeclaredFieldInfo(String clsBase,
String fname) |
FieldInfo |
ClassInfo.getDeclaredInstanceField(int i) |
FieldInfo |
ClassInfo.getDeclaredInstanceField(String fName)
FieldInfo lookup in the fields that are declared in this class
|
FieldInfo[] |
ClassInfo.getDeclaredInstanceFields() |
FieldInfo |
ClassInfo.getDeclaredStaticField(String fName)
FieldInfo lookup in the static fields that are declared in this class
<2do> pcm - should employ a map at some point, but it's usually not that
important since we can cash the returned FieldInfo in the PUT/GET_STATIC insns
|
FieldInfo[] |
ClassInfo.getDeclaredStaticFields() |
FieldInfo |
StaticElementInfo.getFieldInfo(int fieldIndex) |
FieldInfo |
DynamicElementInfo.getFieldInfo(int fieldIndex) |
abstract FieldInfo |
ElementInfo.getFieldInfo(int fieldIndex) |
FieldInfo |
StaticElementInfo.getFieldInfo(String fname) |
FieldInfo |
DynamicElementInfo.getFieldInfo(String fname) |
protected abstract FieldInfo |
ElementInfo.getFieldInfo(String fname) |
FieldInfo |
ClassInfo.getInstanceField(int i) |
FieldInfo |
ClassInfo.getInstanceField(String fName)
base relative FieldInfo lookup - the workhorse
<2do> again, should eventually use Maps
|
FieldInfo[] |
ClassInfo.getInstanceFields() |
FieldInfo |
FieldInfo.getInstanceFor(ClassInfo ci)
Creates a field for a given class, by cloning this FieldInfo
and reseting the class that the field belongs to
|
FieldInfo |
ClassInfo.getStaticField(int index)
Returns the information about a static field.
|
FieldInfo |
ClassInfo.getStaticField(String fName)
Search up the class hierarchy to find a static field
|
Modifier and Type | Method and Description |
---|---|
void |
ElementInfo.addFieldAttr(FieldInfo fi,
Object a) |
protected void |
StaticElementInfo.checkFieldInfo(FieldInfo fi) |
abstract FieldLockInfo |
FieldLockInfo.checkProtection(ThreadInfo ti,
ElementInfo ei,
FieldInfo fi) |
FieldLockInfo |
FieldLockInfoFactory.createFieldLockInfo(ThreadInfo ti,
ElementInfo ei,
FieldInfo fi) |
FieldLockInfo |
StatisticFieldLockInfoFactory.createFieldLockInfo(ThreadInfo ti,
ElementInfo ei,
FieldInfo fi) |
ObjectList.Iterator |
ElementInfo.fieldAttrIterator(FieldInfo fi) |
<T> ObjectList.TypedIterator<T> |
ElementInfo.fieldAttrIterator(FieldInfo fi,
Class<T> type) |
int |
ElementInfo.get1SlotField(FieldInfo fi) |
long |
ElementInfo.get2SlotField(FieldInfo fi) |
boolean |
ElementInfo.getBooleanField(FieldInfo fi) |
byte |
ElementInfo.getByteField(FieldInfo fi) |
char |
ElementInfo.getCharField(FieldInfo fi) |
double |
ElementInfo.getDoubleField(FieldInfo fi) |
Object |
ElementInfo.getFieldAttr(FieldInfo fi)
this returns all of them - use either if you know there will be only
one attribute at a time, or check/process result with ObjectList
|
<T> T |
ElementInfo.getFieldAttr(FieldInfo fi,
Class<T> attrType)
this only returns the first attr of this type, there can be more
if you don't use client private types or the provided type is too general
|
FieldLockInfo |
ElementInfo.getFieldLockInfo(FieldInfo fi) |
float |
ElementInfo.getFloatField(FieldInfo fi) |
int |
ElementInfo.getIntField(FieldInfo fi) |
long |
ElementInfo.getLongField(FieldInfo fi) |
<T> T |
ElementInfo.getNextFieldAttr(FieldInfo fi,
Class<T> attrType,
Object prev) |
protected ElementInfo |
StaticElementInfo.getReferencedElementInfo(FieldInfo fi) |
int |
ElementInfo.getReferenceField(FieldInfo fi) |
int |
MJIEnv.getReferenceField(int objref,
FieldInfo fi) |
short |
ElementInfo.getShortField(FieldInfo fi) |
protected int |
ClassInfo.linkFields(FieldInfo[] fields,
int idx,
int off) |
void |
JPFOutputStream.print(ElementInfo ei,
FieldInfo fi,
boolean isFiltered) |
protected void |
JPFOutputStream.printFields(ElementInfo ei,
FieldInfo[] fields,
FinalBitSet filterMask) |
void |
ElementInfo.removeFieldAttr(FieldInfo fi,
Object a) |
void |
ElementInfo.replaceFieldAttr(FieldInfo fi,
Object oldAttr,
Object newAttr) |
void |
ElementInfo.set1SlotField(FieldInfo fi,
int newValue) |
void |
ElementInfo.set2SlotField(FieldInfo fi,
long newValue) |
protected void |
ClassInfo.setAnnotationValueGetterCode(MethodInfo pmi,
FieldInfo fi) |
void |
ElementInfo.setBooleanField(FieldInfo fi,
boolean newValue) |
void |
ElementInfo.setByteField(FieldInfo fi,
byte newValue) |
void |
ElementInfo.setCharField(FieldInfo fi,
char newValue) |
void |
ElementInfo.setDoubleField(FieldInfo fi,
double newValue) |
void |
ElementInfo.setFieldAttr(FieldInfo fi,
Object attr)
this replaces all of them - use only if you know
- there will be only one attribute at a time
- you obtained the value you set by a previous getXAttr()
- you constructed a multi value list with ObjectList.createList()
|
void |
Attributor.setFieldInfoAttributes(FieldInfo fi) |
void |
DefaultAttributor.setFieldInfoAttributes(FieldInfo fi) |
void |
ElementInfo.setFieldLockInfo(FieldInfo fi,
FieldLockInfo flInfo) |
void |
ClassInfo.setFields(FieldInfo[] fields) |
void |
ElementInfo.setFloatField(FieldInfo fi,
float newValue) |
void |
ElementInfo.setIntField(FieldInfo fi,
int newValue) |
void |
ElementInfo.setLongField(FieldInfo fi,
long newValue) |
void |
ElementInfo.setReferenceField(FieldInfo fi,
int newValue) |
void |
ElementInfo.setShortField(FieldInfo fi,
short newValue) |
Modifier and Type | Method and Description |
---|---|
Iterable<FieldInfo> |
AmmendableFilterConfiguration.getMatchedInstanceFields(ClassInfo ci) |
Iterable<FieldInfo> |
FilterConfiguration.getMatchedInstanceFields(ClassInfo ci) |
Iterable<FieldInfo> |
AmmendableFilterConfiguration.InstanceOverride.getMatchedInstanceFields(ClassInfo ci,
Iterable<FieldInfo> preOverride) |
Iterable<FieldInfo> |
AmmendableFilterConfiguration.getMatchedStaticFields(ClassInfo ci) |
Iterable<FieldInfo> |
FilterConfiguration.getMatchedStaticFields(ClassInfo ci) |
Modifier and Type | Method and Description |
---|---|
boolean |
FieldAmmendmentByName.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
boolean |
IgnoreUtilSilliness.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
boolean |
IgnoreThreadNastiness.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
boolean |
AmmendableFilterConfiguration.InstanceAmmendment.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
boolean |
AmmendableFilterConfiguration.StaticAmmendment.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
boolean |
IgnoresFromAnnotations.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
boolean |
IgnoreConstants.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
boolean |
IncludesFromAnnotations.ammendFieldInclusion(FieldInfo fi,
boolean sofar) |
protected void |
DynamicAbstractionSerializer.processField(Fields fields,
int[] slotValues,
FieldInfo fi,
FinalBitSet filtered) |
Modifier and Type | Method and Description |
---|---|
Iterable<FieldInfo> |
AmmendableFilterConfiguration.InstanceOverride.getMatchedInstanceFields(ClassInfo ci,
Iterable<FieldInfo> preOverride) |