Mono.TextEditor.LineSplitter.GetNodeAtOffset C# (CSharp) Méthode

GetNodeAtOffset() private méthode

private GetNodeAtOffset ( int offset ) : TreeNode
offset int
Résultat TreeNode
		TreeNode GetNodeAtOffset (int offset)
		{
			if (offset == tree.Root.TotalLength)
				return tree.Root.GetOuterRight ();
			var node = tree.Root;
			int i = offset;
			while (true) {
				if (node == null)
					return null;
				if (node.left != null && i < node.left.TotalLength) {
					node = node.left;
				} else {
					if (node.left != null)
						i -= node.left.TotalLength;
					i -= node.LengthIncludingDelimiter;
					if (i < 0)
						return node;
					node = node.right;
				}
			}
		}