void FunctionScope::RecordRefParamInfo(string fname, FunctionScopePtr func) { RefParamInfoPtr info = s_refParamInfo[fname]; if (!info) { info = RefParamInfoPtr(new RefParamInfo()); s_refParamInfo[fname] = info; } if (func->isReferenceVariableArgument()) { info->setRefVarArg(func->getMaxParamCount()); } for (int i = 0; i < func->getMaxParamCount(); i++) { if (func->isRefParam(i)) info->setRefParam(i); } }
void FunctionScope::RecordRefParamInfo(string fname, FunctionScopePtr func) { RefParamInfoPtr info = s_refParamInfo[fname]; if (!info) { info = RefParamInfoPtr(new RefParamInfo()); s_refParamInfo[fname] = info; } if (func->isReferenceVariableArgument()) { info->setRefVarArg(func->getMaxParamCount()); } VariableTablePtr variables = func->getVariables(); for (int i = 0; i < func->getMaxParamCount(); i++) { if (func->isRefParam(i)) info->setRefParam(i); variables->addParam(func->getParamName(i), TypePtr(), AnalysisResultPtr(), ConstructPtr()); } }