Ejemplo n.º 1
0
		static string ResolveExpression (Document doc, int offset)
		{
			var editor = doc.Editor;
			var unit = doc.ParsedDocument.GetAst<SyntaxTree> ();
			if (unit == null)
				return null;

			var file = doc.ParsedDocument.ParsedFile as CSharpUnresolvedFile;
			if (file == null)
				return null;

			ResolveResult result;
			AstNode node;
			var loc = editor.OffsetToLocation (offset);
			if (!doc.TryResolveAt (loc, out result, out node))
				return null;
			if (result is LocalResolveResult)
				return ((LocalResolveResult)result).Variable.Name;
			return editor.GetTextBetween (node.StartLocation, node.EndLocation);
		}
Ejemplo n.º 2
0
		static string ResolveExpression (Document doc, string content, int offset)
		{
			var editor = doc.Editor;
			ResolveResult result;
			int startOffset;
			AstNode node;

			var loc = editor.OffsetToLocation (offset);
			if (!doc.TryResolveAt (loc, out result, out node))
				return null;

			return DebugValueTooltipProvider.ResolveExpression (doc.Editor, result, node, out startOffset);
		}
Ejemplo n.º 3
0
        static string ResolveExpression(Document doc, string content, int offset)
        {
            var editor = doc.Editor;
            ResolveResult result;
            int startOffset;
            AstNode node;

            var loc = editor.OffsetToLocation (offset);
            if (!doc.TryResolveAt (loc, out result, out node))
                return null;

            return CSharpCompletionTextEditorExtension.ResolveExpression (doc.Editor, result, node, out startOffset);
        }