Beispiel #1
0
        internal LocationInfo GetLocOfName(Node node, NameExpression header)
        {
            var loc = GetLoc(node);

            if (loc == null || header == null)
            {
                return(null);
            }

            var nameStart = header.GetStart(Ast);

            if (!nameStart.IsValid)
            {
                return(loc);
            }

            if (nameStart.Line > loc.StartLine || (nameStart.Line == loc.StartLine && nameStart.Column > loc.StartColumn))
            {
                return(new LocationInfo(loc.FilePath, loc.DocumentUri, nameStart.Line, nameStart.Column, loc.EndLine, loc.EndColumn));
            }

            return(loc);
        }