<> <> <> <> DIRECTORY CD USING [Design, Object], Rope USING [ROPE]; CDDirectoryOps: CEDAR DEFINITIONS = BEGIN <> <<>> RemoveIfUnused: PROC [design: CD.Design, ob: CD.Object] RETURNS [done: BOOL, msg: Rope.ROPE]; <<--Removes ob from the directory.>> <<--but succeeds only if the object is not used anywhere else in the design.>> <<--msg_NIL if succeded without problem. >> <<--Uses CDMarks!>> PruneDirectory: PROC [design: CD.Design, autoOnly: BOOL _ FALSE, askFirst: BOOL _ FALSE]; <<--Removes objects which are not used in the design from the directory.>> <<--autoOnly: only objects with names starting with a special letter>> <<--askFirst makes it verbose>> <<--Uses CDMarks!>> <<>> RenameNRemove: PROC [design: CD.Design, ob: CD.Object, name: Rope.ROPE]; <<--Tries hard to rename ob>> <<--Removes conflicting ob from directory if possible>> <<--Uses CDMarks!>> END.