提交 7b9e9c7f 编写于 作者: C CyrusNajmabadi

Flesh out the syntax fact services.

上级 59f22424
......@@ -1795,13 +1795,16 @@ public void GetPartsOfAssignmentStatement(SyntaxNode statement, out SyntaxNode l
}
public SyntaxNode GetNameOfMemberAccessExpression(SyntaxNode memberAccessExpression)
{
return ((MemberAccessExpressionSyntax)memberAccessExpression).Name;
}
=> ((MemberAccessExpressionSyntax)memberAccessExpression).Name;
public SyntaxToken GetOperatorTokenOfMemberAccessExpression(SyntaxNode memberAccessExpression)
=> ((MemberAccessExpressionSyntax)memberAccessExpression).OperatorToken;
public void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode name)
{
return ((MemberAccessExpressionSyntax)memberAccessExpression).OperatorToken;
var memberAccess = (MemberAccessExpressionSyntax)node;
expression = memberAccess.Expression;
name = memberAccess.Name;
}
public SyntaxToken GetIdentifierOfSimpleName(SyntaxNode node)
......@@ -1856,14 +1859,10 @@ public bool IsExpressionOfMemberAccessExpression(SyntaxNode node)
}
public SyntaxNode GetExpressionOfInvocationExpression(SyntaxNode node)
{
return ((InvocationExpressionSyntax)node).Expression;
}
=> ((InvocationExpressionSyntax)node).Expression;
public SyntaxNode GetExpressionOfAwaitExpression(SyntaxNode node)
{
return ((AwaitExpressionSyntax)node).Expression;
}
=> ((AwaitExpressionSyntax)node).Expression;
public bool IsPossibleTupleContext(SyntaxTree syntaxTree, int position, CancellationToken cancellationToken)
{
......@@ -1871,6 +1870,9 @@ public bool IsPossibleTupleContext(SyntaxTree syntaxTree, int position, Cancella
return syntaxTree.IsPossibleTupleContext(token, position);
}
public SyntaxNode GetExpressionOfExpressionStatement(SyntaxNode node)
=> ((ExpressionStatementSyntax)node).Expression;
private class AddFirstMissingCloseBaceRewriter: CSharpSyntaxRewriter
{
private readonly SyntaxNode _contextNode;
......
......@@ -86,7 +86,7 @@ internal interface ISyntaxFactsService : ILanguageService
SyntaxNode GetNameOfMemberAccessExpression(SyntaxNode memberAccessExpression);
SyntaxNode GetExpressionOfMemberAccessExpression(SyntaxNode memberAccessExpression);
SyntaxToken GetOperatorTokenOfMemberAccessExpression(SyntaxNode memberAccessExpression);
void GetPartsOfMemberAccessExpression(SyntaxNode statement, out SyntaxNode expression, out SyntaxNode name);
void GetPartsOfMemberAccessExpression(SyntaxNode node, out SyntaxNode expression, out SyntaxNode name);
bool IsSimpleMemberAccessExpression(SyntaxNode node);
bool IsPointerMemberAccessExpression(SyntaxNode node);
......
......@@ -1546,5 +1546,15 @@ Namespace Microsoft.CodeAnalysis.VisualBasic
Dim token = syntaxTree.FindTokenOnLeftOfPosition(position, cancellationToken)
Return syntaxTree.IsPossibleTupleContext(token, position)
End Function
Public Function GetExpressionOfExpressionStatement(node As SyntaxNode) As SyntaxNode Implements ISyntaxFactsService.GetExpressionOfExpressionStatement
Return DirectCast(node, ExpressionStatementSyntax).Expression
End Function
Public Sub GetPartsOfMemberAccessExpression(node As SyntaxNode, ByRef expression As SyntaxNode, ByRef name As SyntaxNode) Implements ISyntaxFactsService.GetPartsOfMemberAccessExpression
Dim memberAccess = DirectCast(node, MemberAccessExpressionSyntax)
expression = memberAccess.Expression
name = memberAccess.Name
End Sub
End Class
End Namespace
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册