private static SledLuaFunctionType GetClosestFromPotentialFunctions(int lineNumber, IList <SledLuaFunctionType> lstFunctions)
        {
            SledLuaFunctionType cursorFunc = null;

            if (lstFunctions.Count == 1)
            {
                cursorFunc = lstFunctions[0];
            }
            else if (lstFunctions.Count > 1)
            {
                cursorFunc = lstFunctions[0];
                var dist = lineNumber - cursorFunc.LineDefined;

                foreach (var luaFunc in lstFunctions)
                {
                    var newDist = lineNumber - luaFunc.LineDefined;
                    if (newDist > dist)
                    {
                        continue;
                    }

                    cursorFunc = luaFunc;
                    dist       = newDist;
                }
            }

            return(cursorFunc);
        }
Пример #2
0
        private static bool IsMatchingCallStackFunction(SledCallStackType cs, SledProjectFilesFileType file, SledLuaFunctionType function)
        {
            if (function == null)
            {
                return(false);
            }

            return
                ((cs.LineDefined == function.LineDefined) &&
                 (cs.LineEnd == function.LastLineDefined) &&
                 (string.Compare(cs.File, file.Path, StringComparison.OrdinalIgnoreCase) == 0) &&
                 (string.Compare(cs.Function, function.Name, StringComparison.OrdinalIgnoreCase) == 0));
        }
Пример #3
0
 public FunctionAssoc(SledLuaFunctionType function)
 {
     Function = function;
 }
 public SledLuaFunctionCursorWatcherServiceEventArgs(SledProjectFilesFileType file, SledLuaFunctionType function)
 {
     File     = file;
     Function = function;
 }