(* Copyright (C) 1990, Digital Equipment Corporation. *) (* All rights reserved. *) (* See the file COPYRIGHT for a full description. *) (* Last modified on Wed Mar 21 00:02:50 1990 by muller *) INTERFACE Property; (* A Property.Set is a set of non-nil traced references, all of different types. *) TYPE Set <: ROOT; PROCEDURE New(): Set; (* Return a new empty property set. *) PROCEDURE Put(ps: Set; ref: REFANY); (* Add ref to ps, replacing any existing reference of the same type as ref. This is a checked runtime error if ref is NIL. *) PROCEDURE Get(ps: Set; tc: INTEGER): REFANY; (* Return the element of ps with typecode tc, or return NIL if no such element exists. *) PROCEDURE Remove(ps: Set; tc: INTEGER); (* Remove the element of ps with typecode tc, if one exists. *) END Property.