| 7225 | |
| 7226 | |
| 7227 | void Script::CountNestedFuncRefs(UserFunc &aWithin, LPCTSTR aFuncName) |
| 7228 | { |
| 7229 | for (int i = 0; i < aWithin.mVars.mCount; ++i) |
| 7230 | { |
| 7231 | Var &nfv = *aWithin.mVars.mItem[i]; |
| 7232 | if (nfv.Type() == VAR_CONSTANT) |
| 7233 | { |
| 7234 | ASSERT(nfv.HasObject() && dynamic_cast<UserFunc*>(nfv.Object())); |
| 7235 | auto &nf = *(UserFunc *)nfv.Object(); |
| 7236 | Var *uv = nf.mVars.Find(aFuncName); |
| 7237 | if (uv && uv->IsAlias()) |
| 7238 | { |
| 7239 | nf.mUpVarCount++; |
| 7240 | if (uv->Scope() & VAR_DOWNVAR) |
| 7241 | CountNestedFuncRefs(nf, aFuncName); |
| 7242 | } |
| 7243 | } |
| 7244 | } |
| 7245 | } |
| 7246 | |
| 7247 | |
| 7248 | |