FileDWIM.mesa
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Mike Spreitzer August 31, 1992 3:18 pm PDT
DIRECTORY Rope;
FileDWIM: CEDAR DEFINITIONS = {
ROPE: TYPE = Rope.ROPE;
ResolveHint: PROC [hint: ROPE, contextFileName: ROPE ¬ NIL, searchHack: BOOL ¬ FALSE, tryAll: BOOL ¬ TRUE] RETURNS [ans: Answer];
The contextFileName is used to provide hints.
The contextFileName may be NIL.
The contextFileName may be only a directory.
If the contextFileName is a DF file name, knowledge about DF files is used.
If searchHack, we consider the possibility that shortName may be of the form Interface.Element, and try to return a filename for the interface and an interface element name to search for.
If not tryAll, we skip the standard rules (i.e., the ones embodied in Tioga), and use only the non-standard ones.
Answer: TYPE = RECORD [fullFileName, searchFor: ROPE ¬ NIL, line, char: INT ¬ -1];
fullFileName = NIL means not found.
}.