Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
c5a4f3fe
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,发现更多精彩内容 >>
未验证
提交
c5a4f3fe
编写于
7月 19, 2018
作者:
I
Ivan Basov
提交者:
GitHub
7月 19, 2018
浏览文件
操作
浏览文件
下载
差异文件
optimize checks in AbstractVsTextViewFilter.GetDataTipTextImpl
上级
826a122b
528cbab8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
27 deletion
+30
-27
src/VisualStudio/Core/Def/Implementation/AbstractVsTextViewFilter`2.cs
...dio/Core/Def/Implementation/AbstractVsTextViewFilter`2.cs
+24
-17
src/VisualStudio/Core/Def/Implementation/LanguageService/AbstractLanguageService`2.VsLanguageDebugInfo.cs
...eService/AbstractLanguageService`2.VsLanguageDebugInfo.cs
+4
-2
src/VisualStudio/Core/Def/Implementation/Venus/VenusCommandFilter.cs
...tudio/Core/Def/Implementation/Venus/VenusCommandFilter.cs
+2
-8
未找到文件。
src/VisualStudio/Core/Def/Implementation/AbstractVsTextViewFilter`2.cs
浏览文件 @
c5a4f3fe
...
...
@@ -39,7 +39,20 @@ int IVsTextViewFilter.GetDataTipText(TextSpan[] pSpan, out string pbstrText)
{
try
{
return
GetDataTipTextImpl
(
pSpan
,
out
pbstrText
);
if
(
pSpan
==
null
||
pSpan
.
Length
!=
1
)
{
pbstrText
=
null
;
return
VSConstants
.
E_INVALIDARG
;
}
var
debugInfo
=
LanguageService
.
LanguageDebugInfo
;
if
(
debugInfo
==
null
)
{
pbstrText
=
null
;
return
VSConstants
.
E_FAIL
;
}
return
GetDataTipTextImpl
(
pSpan
,
debugInfo
,
out
pbstrText
);
}
catch
(
Exception
e
)
when
(
FatalError
.
ReportWithoutCrash
(
e
)
&&
false
)
{
...
...
@@ -47,7 +60,7 @@ int IVsTextViewFilter.GetDataTipText(TextSpan[] pSpan, out string pbstrText)
}
}
protected
virtual
int
GetDataTipTextImpl
(
TextSpan
[]
pSpan
,
out
string
pbstrText
)
protected
virtual
int
GetDataTipTextImpl
(
TextSpan
[]
pSpan
,
AbstractLanguageService
<
TPackage
,
TLanguageService
>.
VsLanguageDebugInfo
debugInfo
,
out
string
pbstrText
)
{
var
subjectBuffer
=
WpfTextView
.
GetBufferContainingCaret
();
if
(
subjectBuffer
==
null
)
...
...
@@ -56,28 +69,22 @@ protected virtual int GetDataTipTextImpl(TextSpan[] pSpan, out string pbstrText)
return
VSConstants
.
E_FAIL
;
}
return
GetDataTipTextImpl
(
subjectBuffer
,
pSpan
,
out
pbstrText
);
return
GetDataTipTextImpl
(
subjectBuffer
,
pSpan
,
debugInfo
,
out
pbstrText
);
}
protected
int
GetDataTipTextImpl
(
ITextBuffer
subjectBuffer
,
TextSpan
[]
pSpan
,
out
string
pbstrText
)
protected
int
GetDataTipTextImpl
(
ITextBuffer
subjectBuffer
,
TextSpan
[]
pSpan
,
AbstractLanguageService
<
TPackage
,
TLanguageService
>.
VsLanguageDebugInfo
debugInfo
,
out
string
pbstrText
)
{
pbstrText
=
null
;
var
debugInfo
=
LanguageService
.
LanguageDebugInfo
;
if
(
debugInfo
!=
null
)
var
vsBuffer
=
EditorAdaptersFactory
.
GetBufferAdapter
(
subjectBuffer
);
// TODO: broken in REPL
if
(
vsBuffer
==
null
)
{
var
vsBuffer
=
EditorAdaptersFactory
.
GetBufferAdapter
(
subjectBuffer
);
// TODO: broken in REPL
if
(
vsBuffer
==
null
)
{
return
VSConstants
.
E_FAIL
;
}
return
debugInfo
.
GetDataTipText
(
vsBuffer
,
pSpan
,
pbstrText
);
return
VSConstants
.
E_FAIL
;
}
return
VSConstants
.
E_FAIL
;
return
debugInfo
.
GetDataTipText
(
vsBuffer
,
pSpan
,
out
pbstrText
)
;
}
int
IVsTextViewFilter
.
GetPairExtents
(
int
iLine
,
int
iIndex
,
TextSpan
[]
pSpan
)
...
...
src/VisualStudio/Core/Def/Implementation/LanguageService/AbstractLanguageService`2.VsLanguageDebugInfo.cs
浏览文件 @
c5a4f3fe
...
...
@@ -373,7 +373,7 @@ public int ValidateBreakpointLocation(IVsTextBuffer pBuffer, int iLine, int iCol
return
VSConstants
.
E_NOTIMPL
;
}
public
int
GetDataTipText
(
IVsTextBuffer
pBuffer
,
VsTextSpan
[]
pSpan
,
string
pbstrText
)
public
int
GetDataTipText
(
IVsTextBuffer
pBuffer
,
VsTextSpan
[]
pSpan
,
out
string
pbstrText
)
{
using
(
Logger
.
LogBlock
(
FunctionId
.
Debugging_VsLanguageDebugInfo_GetDataTipText
,
CancellationToken
.
None
))
{
...
...
@@ -384,6 +384,7 @@ public int GetDataTipText(IVsTextBuffer pBuffer, VsTextSpan[] pSpan, string pbst
}
int
result
=
VSConstants
.
E_FAIL
;
string
pbstrTextInternal
=
null
;
_waitIndicator
.
Wait
(
title
:
ServicesVSResources
.
Debugger
,
...
...
@@ -417,13 +418,14 @@ public int GetDataTipText(IVsTextBuffer pBuffer, VsTextSpan[] pSpan, string pbst
string
textOpt
=
dataTipInfo
.
Text
;
pSpan
[
0
]
=
resultSpan
.
ToVsTextSpan
();
result
=
debugger
.
GetDataTipValue
((
IVsTextLines
)
pBuffer
,
pSpan
,
textOpt
,
out
pbstrText
);
result
=
debugger
.
GetDataTipValue
((
IVsTextLines
)
pBuffer
,
pSpan
,
textOpt
,
out
pbstrText
Internal
);
}
}
}
}
});
pbstrText
=
pbstrTextInternal
;
return
result
;
}
}
...
...
src/VisualStudio/Core/Def/Implementation/Venus/VenusCommandFilter.cs
浏览文件 @
c5a4f3fe
...
...
@@ -48,14 +48,8 @@ protected override ITextBuffer GetSubjectBufferContainingCaret()
return
_subjectBuffer
;
}
protected
override
int
GetDataTipTextImpl
(
TextSpan
[]
pSpan
,
out
string
pbstrText
)
protected
override
int
GetDataTipTextImpl
(
TextSpan
[]
pSpan
,
AbstractLanguageService
<
TPackage
,
TLanguageService
>.
VsLanguageDebugInfo
debugInfo
,
out
string
pbstrText
)
{
if
(
pSpan
==
null
||
pSpan
.
Length
!=
1
)
{
pbstrText
=
null
;
return
VSConstants
.
E_INVALIDARG
;
}
var
textViewModel
=
WpfTextView
.
TextViewModel
;
if
(
textViewModel
==
null
)
{
...
...
@@ -83,7 +77,7 @@ protected override int GetDataTipTextImpl(TextSpan[] pSpan, out string pbstrText
// Next, we'll check to see if there is actually a DataTip for this candidate.
// If there is, we'll map this span back to the DataBuffer and return it.
pSpan
[
0
]
=
candidateSpan
.
ToVsTextSpan
();
int
hr
=
base
.
GetDataTipTextImpl
(
_subjectBuffer
,
pSpan
,
out
pbstrText
);
int
hr
=
base
.
GetDataTipTextImpl
(
_subjectBuffer
,
pSpan
,
debugInfo
,
out
pbstrText
);
if
(
ErrorHandler
.
Succeeded
(
hr
))
{
var
subjectSpan
=
_subjectBuffer
.
CurrentSnapshot
.
GetSpan
(
pSpan
[
0
]);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录