/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/VisualStudio/TestUtilities2/CodeModel/Mocks/MockTextPoint.vb
137 строк
5 KB
Cyrus Najmabadi
Organize VB imports
27 июн 2025, 21:53
27 июн 2025, 21:53
e9c47fd
Код
Авторство
О чём код?
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports EnvDTE Imports Microsoft.CodeAnalysis.Editor.Shared.Utilities Imports Microsoft.CodeAnalysis.Text Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.CodeModel.Mocks Friend NotInheritable Class MockTextPoint Implements EnvDTE.TextPoint Private ReadOnly _point As VirtualTreePoint Public Sub New(point As VirtualTreePoint) _point = point End Sub Public ReadOnly Property AbsoluteCharOffset As Integer Implements EnvDTE.TextPoint.AbsoluteCharOffset Get ' DTE TextPoints count each newline as a single character regardless ' of what the actual newline character is. So, we have to walk through all the lines ' and add up the length of each line + 1. ' ' VS performs this same computation in GetAbsoluteOffset in env\msenv\textmgr\autoutil.cpp. Dim result = 0 Dim containingLine = _point.GetContainingLine() For Each textLine In _point.Text.Lines If textLine.LineNumber >= containingLine.LineNumber Then Exit For End If result += textLine.Span.Length + 1 Next result += _point.Position - containingLine.Start Return result + 1 End Get End Property Public ReadOnly Property AtEndOfDocument As Boolean Implements EnvDTE.TextPoint.AtEndOfDocument Get Return _point.Position = _point.Text.Length End Get End Property Public ReadOnly Property AtEndOfLine As Boolean Implements EnvDTE.TextPoint.AtEndOfLine Get Return _point.Position = _point.GetContainingLine().End End Get End Property Public ReadOnly Property AtStartOfDocument As Boolean Implements EnvDTE.TextPoint.AtStartOfDocument Get Return _point.Position = 0 End Get End Property Public ReadOnly Property AtStartOfLine As Boolean Implements EnvDTE.TextPoint.AtStartOfLine Get Return _point.Position = _point.GetContainingLine().Start End Get End Property Public ReadOnly Property CodeElement(Scope As EnvDTE.vsCMElement) As EnvDTE.CodeElement Implements EnvDTE.TextPoint.CodeElement Get Throw New NotImplementedException End Get End Property Public Function CreateEditPoint() As EnvDTE.EditPoint Implements EnvDTE.TextPoint.CreateEditPoint Throw New NotImplementedException End Function Public ReadOnly Property DisplayColumn As Integer Implements EnvDTE.TextPoint.DisplayColumn Get Throw New NotImplementedException End Get End Property Public ReadOnly Property DTE As EnvDTE.DTE Implements EnvDTE.TextPoint.DTE Get Throw New NotImplementedException End Get End Property Public Function EqualTo(Point As EnvDTE.TextPoint) As Boolean Implements EnvDTE.TextPoint.EqualTo Return Me.AbsoluteCharOffset = Point.AbsoluteCharOffset End Function Public Function GreaterThan(Point As EnvDTE.TextPoint) As Boolean Implements EnvDTE.TextPoint.GreaterThan Return Me.AbsoluteCharOffset > Point.AbsoluteCharOffset End Function Public Function LessThan(Point As EnvDTE.TextPoint) As Boolean Implements EnvDTE.TextPoint.LessThan Return Me.AbsoluteCharOffset < Point.AbsoluteCharOffset End Function Public ReadOnly Property Line As Integer Implements EnvDTE.TextPoint.Line Get ' These line numbers start at 1! Return _point.GetContainingLine().LineNumber + 1 End Get End Property Public ReadOnly Property LineCharOffset As Integer Implements EnvDTE.TextPoint.LineCharOffset Get Dim result = _point.Position - _point.GetContainingLine().Start + 1 If _point.IsInVirtualSpace Then result += _point.VirtualSpaces End If Return result End Get End Property Public ReadOnly Property LineLength As Integer Implements EnvDTE.TextPoint.LineLength Get Dim line = _point.GetContainingLine() Return line.End - line.Start End Get End Property Public ReadOnly Property Parent As EnvDTE.TextDocument Implements EnvDTE.TextPoint.Parent Get Return CreateEditPoint().Parent End Get End Property Public Function TryToShow(Optional How As vsPaneShowHow = vsPaneShowHow.vsPaneShowCentered, Optional PointOrCount As Object = Nothing) As Boolean Implements TextPoint.TryToShow Throw New NotImplementedException() End Function End Class End Namespace