public override SyntaxNode VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) { if (node.IsKind(SK.PostIncrementExpression) || node.IsKind(SK.PostDecrementExpression)) { var identifier = ((IdentifierNameSyntax)node.Operand).Identifier.Text; SMS.Update(identifier, node); } else { throw new NotImplementedException("Unsupported PostfixUnaryExpression: " + node.Kind()); } return(base.VisitPostfixUnaryExpression(node)); }
public override void VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) { base.VisitPostfixUnaryExpression(node); if (node.IsKind(SyntaxKind.PostDecrementExpression) || node.IsKind(SyntaxKind.PostIncrementExpression)) { var variables = GetAllKnownVariablesInSyntaxTree(node.Operand).ToList(); if (variables.Count == 0) { Console.WriteLine("Could not determine written variable in assignment '{0}'", node); return; } var writtenVar = variables.First(); RecordFlow(_varToLastWritesStack.Peek(), writtenVar.Item1, writtenVar.Item2, SourceGraphEdge.LastWrite); } }
public override void VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) { if (node.IsKind(SyntaxKind.PostDecrementExpression)) { ProcessPrefixPostfixOperators(node.Operand, OpCodes.Sub, false); } else if (node.IsKind(SyntaxKind.PostIncrementExpression)) { ProcessPrefixPostfixOperators(node.Operand, OpCodes.Add, false); } else { LogUnsupportedSyntax(node); } }
public override SyntaxNode VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) { if (node.IsKind(SyntaxKind.PostIncrementExpression) && node.Parent?.Kind() != SyntaxKind.ForStatement) { var newNode = SyntaxFactory.PostfixUnaryExpression(SyntaxKind.PostDecrementExpression, node.Operand).NormalizeWhitespace(); CreateReplacer(node, newNode); } if (node.IsKind(SyntaxKind.PostDecrementExpression) && node.Parent?.Kind() != SyntaxKind.ForStatement) { var newNode = SyntaxFactory.PostfixUnaryExpression(SyntaxKind.PostIncrementExpression, node.Operand).NormalizeWhitespace(); CreateReplacer(node, newNode); } return(base.VisitPostfixUnaryExpression(node)); }
public override void VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) { if (node.IsKind(SyntaxKind.PostIncrementExpression, SyntaxKind.PostDecrementExpression) && FieldSymbol.Type.TypeKind == TypeKind.Struct && IsAssigned(node.Operand)) { Success = false; } else { base.VisitPostfixUnaryExpression(node); } }
public override void VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) { if (node.IsKind(SyntaxKind.PostIncrementExpression, SyntaxKind.PostDecrementExpression)) { ExpressionSyntax operand = node.Operand; VisitAssignedExpression(operand); Visit(operand); } else { base.VisitPostfixUnaryExpression(node); } }
public override void VisitPostfixUnaryExpression(PostfixUnaryExpressionSyntax node) { base.VisitPostfixUnaryExpression(node); if (node.IsKind(SyntaxKind.PostDecrementExpression) || node.IsKind(SyntaxKind.PostIncrementExpression)) { var postfixed = node.Operand; if (postfixed.IsKind(SyntaxKind.IdentifierName)) { var identifier = (IdentifierNameSyntax)postfixed; if (identifier.Identifier.Text == _testee.Name) { _isAssigned = true; } } } }