private List<ScriptVariable> CheckFunctionForLocalVariables(int currentPos, ScriptFunction func, string scriptExtract, bool searchWholeFunction)
{
if ((func.EndsAtCharacterIndex > currentPos) &&
(func.StartsAtCharacterIndex >= 0))
{
if ((scriptExtract.Length > currentPos) &&
(currentPos > func.StartsAtCharacterIndex))
{
int startPos = func.StartsAtCharacterIndex;
int endPos = searchWholeFunction ? func.EndsAtCharacterIndex :
currentPos;
scriptExtract = scriptExtract.Substring(func.StartsAtCharacterIndex, (endPos - func.StartsAtCharacterIndex));
int openBracketOffset = scriptExtract.IndexOf("{");
if (openBracketOffset > 0)
{
startPos += openBracketOffset;
scriptExtract = scriptExtract.Substring(openBracketOffset);
}
List<ScriptVariable> localVars = AutoComplete.GetLocalVariableDeclarationsFromScriptExtract(scriptExtract, startPos);
AddFunctionParametersToVariableList(func, localVars);
return localVars;
}
}
return null;
}