Copyright (C) 1994, Digital Equipment Corp.
MODULE ZSplitUtils;
IMPORT Split, VBT, VBTClass, ZSplit;
PROCEDURE FindZChild (v: VBT.T): VBT.T =
<* FATAL Split.NotAChild *>
VAR
ch := v;
p := v.parent;
BEGIN
WHILE (p # NIL) AND ((NOT IsZSplit(p)) OR (ch = Split.Pred(p, NIL))) DO
ch := p;
p := p.parent;
END;
IF p = NIL THEN RETURN NIL ELSE RETURN ch END;
END FindZChild;
PROCEDURE IsZSplit (v: VBT.T): BOOLEAN =
BEGIN
TYPECASE (v) OF ZSplit.T => RETURN TRUE ELSE RETURN FALSE END
END IsZSplit;
BEGIN
END ZSplitUtils.