AbstractFunction fun = _funMap.get(name);
if (fun == null) {
}
else if (fun instanceof UnsetFunction) {
UnsetFunction unsetFun = (UnsetFunction) fun;
if (_crc == unsetFun.getCrc())
return null;
}
else {
return fun;
}
if (_lowerFunMap != null) {
fun = _lowerFunMap.get(name.toLowerCase(Locale.ENGLISH));
if (fun != null) {
// copyOnWrite();
_funMap.put(name, fun);
return fun;
}
}
fun = findModuleFunction(name);
if (fun != null) {
// copyOnWrite();
_funMap.put(name, fun);
return fun;
}
else {
// copyOnWrite();
_funMap.put(name, new UnsetFunction(_crc));
return null;
}
}