sS checkStandardFunctionForSafety(S fname) { S listName = "JavaX Identifier Safety"; Set identifiers = setMinus(tok_allIdentifiers(textOfStandardFunction(fname)), fname); // TODO: should lock on map Set statuses = treeSet(); final SS map = mechHashMap_fresh(listName); bool changes = false; for (S id : identifiers) { S status = map.get(id); if (status == null) if (mapPut_trueIfChanged(map, id, status = "?")) set changes; statuses.addAll(tokSplitAtComma(status)); } S status = or2(joinWithComma(simplifySafetyTags(statuses)), "?"); if (mapPut_trueIfChanged(map, fname, status)) set changes; if (changes) uploadMechMap(listName, map); ret status; }