提交 10608211 编写于 作者: D David Kean

Merge pull request #8731 from antonssonj/master

 fix issue 8315
......@@ -53,7 +53,18 @@ public async Task TestNotInEmptyStatement()
await VerifyAbsenceAsync(AddInsideMethod(
@"$$"));
}
[Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
public async Task TestNotInSelectMemberExpressionOnlyADot()
{
await VerifyAbsenceAsync(AddInsideMethod(
@"var y = from x in new [] { 1,2,3 } select x.$$"));
}
[Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
public async Task TestNotInSelectMemberExpression()
{
await VerifyAbsenceAsync(AddInsideMethod(
@"var y = from x in new [] { 1,2,3 } select x.i$$"));
}
[Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
public async Task TestAfterJoinRightExpr()
{
......@@ -87,6 +98,15 @@ select z
$$"));
}
[Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
public async Task TestAfterSelectClauseWithMemberExpression()
{
await VerifyKeywordAsync(AddInsideMethod(
@"var q = from x in y
select z.i
$$"));
}
[Fact, Trait(Traits.Feature, Traits.Features.KeywordRecommending)]
public async Task TestAfterSelectClause_NotAfterInto()
{
......
......@@ -38,8 +38,17 @@ private bool IsValidContextForSelect(CSharpSyntaxContext context)
return false;
}
var lastToken = select.Expression.GetLastToken(includeSkipped: true);
// cases:
// select x.|
// select x.i|
var lastCompleteToken = token.GetPreviousTokenIfTouchingWord(context.Position);
if (lastCompleteToken.Kind() == SyntaxKind.DotToken)
{
return false;
}
var lastToken = select.Expression.GetLastToken(includeSkipped: true);
if (lastToken == token)
{
return true;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册