public override SyntaxNode VisitMemberAccessExpression(MemberAccessExpressionSyntax node) { var existingAccessExpression = node.GetText().ToString(); return(existingAccessExpression == _oldAccessExpression ? SyntaxFactory.ParseExpression(_newAccessExpression).WithTriviaFrom(node) : node); }
/// <summary> /// Visits member access expression. /// </summary> /// <param name="node"> /// A <see cref="MemberAccessExpressionSyntax"/> instance. /// </param> public override void VisitMemberAccessExpression(MemberAccessExpressionSyntax node) { if (this._methodData == null) { var text = node.GetText()?.ToString(); if (text != null && text.StartsWith("var.", StringComparison.CurrentCultureIgnoreCase)) { // must be variable this._variable = new Variable(text); } else { this._methodData = new MethodData(node.GetText().ToString()); this._methodNameExtracted = true; this._methodInvocationVisited = true; } } base.VisitMemberAccessExpression(node); }
public override SyntaxNode VisitMemberAccessExpression(MemberAccessExpressionSyntax node) { if (IsArrayOrStringLengthAccess(node)) { this.VisitExpression(node.Expression); _output.Write(node.Name, ".length"); return(node); } if (node.Expression.Kind() == SyntaxKind.ThisExpression) { var nInfo = _semanticModel.GetSymbolInfo(node.Name); if (nInfo.Symbol != null && nInfo.Symbol.IsGlobalVariable()) { this.AppendCompileIssue(node, IssueType.Warning, IssueId.GlobalVarWithThis); } } if (IsPartOfDynamic(node)) { _output.Write(node, node.GetText().ToString());//Note: Dyanmic, output without change this.AppendCompileIssue(node, IssueType.Warning, IssueId.DynamicType); return(node); } else { var info = _semanticModel.GetSymbolInfo(node.Expression); if (info.Symbol != null && info.Symbol.Kind == SymbolKind.NamedType) { _output.Write(node.Expression, info.Symbol.GetTypeSymbolName()); if (!IsGlobalHolder(node.Expression)) { _output.TrivialWrite('.'); } this.Visit(node.Name); } else { this.VisitExpression(node.Expression); _output.TrivialWrite('.'); _isSetter = (node.Parent.Kind().IsAssignment() && _isAssignLeft); this.Visit(node.Name); } return(node); } }
public override SyntaxNode VisitMemberAccessExpression(MemberAccessExpressionSyntax node) { if (IsArrayOrStringLengthAccess(node)) { this.VisitExpression(node.Expression); _output.Write(node.Name, ".length"); return node; } if (node.Expression.Kind() == SyntaxKind.ThisExpression) { var nInfo = _semanticModel.GetSymbolInfo(node.Name); if (nInfo.Symbol != null && nInfo.Symbol.IsGlobalVariable()) { this.AppendCompileIssue(node, IssueType.Warning, IssueId.GlobalVarWithThis); } } if (IsPartOfDynamic(node)) { _output.Write(node, node.GetText().ToString());//Note: Dyanmic, output without change this.AppendCompileIssue(node, IssueType.Warning, IssueId.DynamicType); return node; } else { var info = _semanticModel.GetSymbolInfo(node.Expression); if (info.Symbol != null && info.Symbol.Kind == SymbolKind.NamedType) { _output.Write(node.Expression, info.Symbol.GetTypeSymbolName()); if (!IsGlobalHolder(node.Expression)) { _output.TrivialWrite('.'); } this.Visit(node.Name); } else { this.VisitExpression(node.Expression); _output.TrivialWrite('.'); _isSetter = (node.Parent.Kind().IsAssignment() && _isAssignLeft); this.Visit(node.Name); } return node; } }