Skip to content
33 changes: 33 additions & 0 deletions src/Compilers/VisualBasic/Portable/Scanner/CharacterInfo.vb
Original file line number Diff line number Diff line change
Expand Up @@ -488,4 +488,37 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
End Function
End Class

Friend Module CharExts

<Runtime.CompilerServices.Extension>
Friend Function IsAnyOf(c As Char, c0 As Char, c1 As Char) As Boolean
Return (c = c0) OrElse (c = c1)
End Function

<Runtime.CompilerServices.Extension>
Friend Function IsAnyOf(c As Char, c0 As Char, c1 As Char, c2 As Char) As Boolean
Return (c = c0) OrElse (c = c1) OrElse (c = c2)
End Function

<Runtime.CompilerServices.Extension>
Friend Function IsAnyOf(c As Char, c0 As Char, c1 As Char, c2 As Char, c3 As Char) As Boolean
Return (c = c0) OrElse (c = c1) OrElse (c = c2) OrElse (c = c3)
End Function

<Runtime.CompilerServices.Extension>
Friend Function IsNoneOf(c As Char, c0 As Char, c1 As Char) As Boolean
Return (c <> c0) AndAlso (c <> c1)
End Function

<Runtime.CompilerServices.Extension>
Friend Function IsNoneOf(c As Char, c0 As Char, c1 As Char, c2 As Char) As Boolean
Return (c <> c0) AndAlso (c <> c1) AndAlso (c <> c2)
End Function

<Runtime.CompilerServices.Extension>
Friend Function IsNoneOf(c As Char, c0 As Char, c1 As Char, c2 As Char, c3 As Char) As Boolean
Return (c <> c0) AndAlso (c <> c1) AndAlso (c <> c2) AndAlso (c <> c3)
End Function
End Module

End Namespace
4 changes: 2 additions & 2 deletions src/Compilers/VisualBasic/Portable/Scanner/KeywordTable.vb
Original file line number Diff line number Diff line change
Expand Up @@ -304,9 +304,9 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Syntax

Private Shared Function EnsureHalfWidth(s As String) As String
Dim result As Char() = Nothing

Dim ch As Char
For i As Integer = 0 To s.Length - 1
Dim ch = s(i)
ch = s(i)

If SyntaxFacts.IsFullWidth(ch) Then
ch = SyntaxFacts.MakeHalfWidth(ch)
Expand Down
Loading