Skip to content

Variable Actions for objects

Full definitions

Examples: A a = new A(), A a2 = a, A a = A.create().
Action: define each object member and then define the object itself.
Where? Each location that defines objects, where the variable is a reference type.

Partial definitions

Examples: a.x = 10, a.setX(10), this.x = 10.
Action: define the object member that has changed value, then define the object itself.
Where? Any definition location where the variable being define may be an object or object field.

Object usage

Examples: a.f(), new B(a), a2 = a from the perspective of a.
Action: use the object.
Where? Any usage of an object that doesn't also use a member of such object.

Member usage

Examples: a.getX(), int i = a.x both use a.x.
Action: use the member and then the object.
Where? Any usage of an object member. If a call uses multiple object members, they can be merged as USE{obj.member1}, USE{obj.member2}, ..., USE{obj}.