7.5.4 Set Attribute
The Set method attribute represent the set instructions
to modify ghost fields.
Set_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 sets_count;
{
u2 point_pc;
u2 order;
expression e1;
expression e2;
} sets[sets_count];
}
[alx: this corresponds to Set_attribute in D3.1, some names are changed]
- attribute_name_index - index in the constant pool of the attribute name (org.bmlspecs.Set)
- attribute_length - length in bytes of the whole structure
- sets_count - the number of set instructions in the table
- sets - the table of set instructions; the fields in each assertion have the following meaning:
- point_pc - the point in the method code where the set instruction is placed
- order - the position of the set instruction in BML
declarations at code address point_pc
- e1 - e1 is a ghost variable modified by this instruction
- e2 - the ghost variable e1 is set to the expression e2