// and they do cause an assignment, they will always assign a numeric
// value, so they do not need to be considered except for purposes of
// uninitialized variable analysis.
}
} else if (use.parent.node instanceof Declaration) {
Declaration d = (Declaration) use.parent.node;
// If it's initialized as a result of some non-local value such as
// a function call or thrown exception, assume it's not numeric.
if (d instanceof FormalParam) { return false; }
if (use.parent.parent.node instanceof CatchStmt) { return false; }
// Otherwise the initializer had better not be a non-numeric value.
if (d.getInitializer() != null) {
Expression init = d.getInitializer();
if (!isVisiblePropertyExpr(init, scopeTree, identifiersExpanding)) {
return false;
}
} else if (isKeyReceiver(use)) {
return false;