Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
c79d82ea
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c79d82ea
编写于
8月 15, 2018
作者:
C
Cyrus Najmabadi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add tracking bug comment.
上级
6bae5406
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
5 addition
and
3 deletion
+5
-3
src/Workspaces/Core/Portable/EmbeddedLanguages/RegularExpressions/RegexParser.cs
...table/EmbeddedLanguages/RegularExpressions/RegexParser.cs
+5
-3
未找到文件。
src/Workspaces/Core/Portable/EmbeddedLanguages/RegularExpressions/RegexParser.cs
浏览文件 @
c79d82ea
...
...
@@ -1250,8 +1250,8 @@ private void ParseCharacterClassComponents(ArrayBuilder<RegexExpressionNode> com
{
var
right
=
ParseRightSideOfCharacterClassRange
();
if
(
TryGetRangeComponentValue
(
left
,
isRight
:
false
,
out
var
leftCh
)
&&
TryGetRangeComponentValue
(
right
,
isRight
:
true
,
out
var
rightCh
)
&&
if
(
TryGetRangeComponentValue
(
left
,
out
var
leftCh
)
&&
TryGetRangeComponentValue
(
right
,
out
var
rightCh
)
&&
leftCh
>
rightCh
)
{
minusToken
=
minusToken
.
AddDiagnosticIfNone
(
new
EmbeddedDiagnostic
(
...
...
@@ -1271,7 +1271,7 @@ private void ParseCharacterClassComponents(ArrayBuilder<RegexExpressionNode> com
private
bool
IsEscapedMinus
(
RegexNode
node
)
=>
node
is
RegexSimpleEscapeNode
simple
&&
IsTextChar
(
simple
.
TypeToken
,
'-'
);
private
bool
TryGetRangeComponentValue
(
RegexExpressionNode
component
,
bool
isRight
,
out
char
ch
)
private
bool
TryGetRangeComponentValue
(
RegexExpressionNode
component
,
out
char
ch
)
{
// Don't bother examining the component if it has any errors already. This also means
// we don't have to worry about running into invalid escape sequences and the like.
...
...
@@ -1437,6 +1437,8 @@ private RegexExpressionNode ParseRightSideOfCharacterClassRange()
// is legal [a-\-] (even though \- is less than 'a'). Similarly, the following are
// *illegal* [b-\-a] and [b-\-\-a]. That's because the range that is checked is
// actually "b-a", even though it has all the \- escapes in the middle.
//
// This is tracked with: https://github.com/dotnet/corefx/issues/31786
var
first
=
ParseSingleCharacterClassComponent
(
isFirst
:
false
,
afterRangeMinus
:
true
);
if
(!
IsEscapedMinus
(
first
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录