Пример #1
0
        private ScriptToken FindTokenInScript(Script script, string structName, string memberName)
        {
            ScriptToken found = null;

            if (structName != null)
            {
                ScriptStruct struc = script.AutoCompleteData.FindStruct(structName);
                if (struc != null)
                {
                    found = struc.FindMemberFunction(memberName);
                    if (found == null)
                    {
                        found = struc.FindMemberVariable(memberName);
                    }
                }
                else
                {
                    found = script.AutoCompleteData.FindFunction(_goToDefinition.Replace(".", "::"));
                }
            }
            else
            {
                found = script.AutoCompleteData.FindFunction(memberName);
                if (found == null)
                {
                    found = script.AutoCompleteData.FindVariable(memberName);
                }
                if (found == null)
                {
                    found = script.AutoCompleteData.FindStruct(memberName);
                }
            }

            return(found);
        }
Пример #2
0
 private ScriptFunction FindFunctionInAutocompleteData(string funcName)
 {
     ScriptFunction func = _script.AutoCompleteData.FindFunction(funcName);
     if ((func == null) && (funcName.Contains("::")))
     {
         string[] structAndFuncNames = funcName.Split(new string[] { "::" }, StringSplitOptions.None);
         ScriptStruct struc = _script.AutoCompleteData.FindStruct(structAndFuncNames[0]);
         if (struc != null)
         {
             func = struc.FindMemberFunction(structAndFuncNames[1]);
         }
     }
     return func;
 }