示例#1
0
        public override SyntaxNode VisitLiteralExpression(LiteralExpressionSyntax node)
        {
            if (node.Kind().Equals(SyntaxKind.NumericLiteralExpression))
            {
                return(base.VisitLiteralExpression(node.ReplaceNode(node, node.WithToken(SyntaxFactory.ParseToken(node.Token.ValueText)))));
            }

            return(base.VisitLiteralExpression(node));
        }
示例#2
0
        public override SyntaxNode VisitLiteralExpression(LiteralExpressionSyntax node)
        {
            if (node.Kind().Equals(SyntaxKind.NumericLiteralExpression))
            {
                if (int.TryParse(node.Token.ValueText, out int result))
                {
                    LiteralExpressionSyntax newExp;
                    if (result < 10)
                    {
                        newExp = node.WithToken(SyntaxFactory.ParseToken(NumberOperations.DecToBin(node.Token.ValueText)));
                    }
                    else
                    {
                        newExp = node.WithToken(SyntaxFactory.ParseToken(NumberOperations.DecToHex(node.Token.ValueText)));
                    }

                    var newNode = node.ReplaceNode(node, newExp);
                    return(base.VisitLiteralExpression(newNode));
                }
            }

            return(base.VisitLiteralExpression(node));
        }