Download ESC/Java2 Implementation Notes

Transcript
Chapter 3: Status of JML features
45
3.17.1 [ ident | super | this ] . [ ident | this ]
This designates a field of an object.
Status: Implemented within modifies clauses.
3.17.2 [ ident | super | this ] .*
This designates all static and instance fields, of any privacy level, including those inherited
from superclasses and interfaces, of the given object.
Status: Not implemented.
3.17.3 [ ident | super | this ] [expr ]
This designates an element of the given array object.
Status: Implemented within modifies clauses.
3.17.4 [ ident | super | this ] [expr..expr2 ]
This designates a range of elements of the given array object.
Status: Not implemented.
3.17.5 [ ident | super | this ] [*]
This designates all the elements of the given array object.
Status: Not implemented.
3.17.6 classname.*
This designates all static fields, of any privacy level, including those in superclasses and
interfaces, and including ghost and model fields, of the given class.
Status: Not implemented.
3.17.7 \nothing
This designates an empty set of store-refs. It may be used with the modifies, accessible,
and callable clauses. If \nothing appears in a sequence of other store-refs, it is ignored,
since a sequence of store-refs is essentially a union.
Status: Fully implemented.
3.17.8 \everything
This designates a universal set - the set of references to all object and class fields for every
object and class allocated in the current state of the program. It may be used with the
modifies, accessible, and callable clauses.
Status: Fully parsed - refer to the clause descriptions for specific behavior.