C# Класс ICSharpCode.NRefactory.CSharp.InsertParenthesesVisitor

Inserts the parentheses into the AST that are needed to ensure the AST can be printed correctly. For example, if the AST contains BinaryOperatorExpresson(2, Mul, BinaryOperatorExpression(1, Add, 1))); printing that AST would incorrectly result in "2 * 1 + 1". By running InsertParenthesesVisitor, the necessary parentheses are inserted: "2 * (1 + 1)".
Наследование: DepthFirstAstVisitor
Показать файл Открыть проект

Открытые методы

Метод Описание
VisitAsExpression ( AsExpression asExpression ) : void
VisitAssignmentExpression ( AssignmentExpression assignmentExpression ) : void
VisitBinaryOperatorExpression ( BinaryOperatorExpression binaryOperatorExpression ) : void
VisitCastExpression ( CastExpression castExpression ) : void
VisitConditionalExpression ( ConditionalExpression conditionalExpression ) : void
VisitIndexerExpression ( IndexerExpression indexerExpression ) : void
VisitInvocationExpression ( InvocationExpression invocationExpression ) : void
VisitIsExpression ( IsExpression isExpression ) : void
VisitMemberReferenceExpression ( MemberReferenceExpression memberReferenceExpression ) : void
VisitNamedExpression ( NamedExpression namedExpression ) : void
VisitPointerReferenceExpression ( PointerReferenceExpression pointerReferenceExpression ) : void
VisitQueryExpression ( QueryExpression queryExpression ) : void
VisitUnaryOperatorExpression ( UnaryOperatorExpression unaryOperatorExpression ) : void

Приватные методы

Метод Описание
GetBinaryOperatorType ( Expression expr ) : BinaryOperatorType?
GetPrecedence ( Expression expr ) : int

Gets the row number in the C# 4.0 spec operator precedence table.

Parenthesize ( Expression expr ) : void
ParenthesizeIfRequired ( Expression expr, int minimumPrecedence ) : void

Parenthesizes the expression if it does not have the minimum required precedence.

TypeCanBeMisinterpretedAsExpression ( AstType type ) : bool

Описание методов

VisitAsExpression() публичный Метод

public VisitAsExpression ( AsExpression asExpression ) : void
asExpression AsExpression
Результат void

VisitAssignmentExpression() публичный Метод

public VisitAssignmentExpression ( AssignmentExpression assignmentExpression ) : void
assignmentExpression AssignmentExpression
Результат void

VisitBinaryOperatorExpression() публичный Метод

public VisitBinaryOperatorExpression ( BinaryOperatorExpression binaryOperatorExpression ) : void
binaryOperatorExpression BinaryOperatorExpression
Результат void

VisitCastExpression() публичный Метод

public VisitCastExpression ( CastExpression castExpression ) : void
castExpression CastExpression
Результат void

VisitConditionalExpression() публичный Метод

public VisitConditionalExpression ( ConditionalExpression conditionalExpression ) : void
conditionalExpression ConditionalExpression
Результат void

VisitIndexerExpression() публичный Метод

public VisitIndexerExpression ( IndexerExpression indexerExpression ) : void
indexerExpression IndexerExpression
Результат void

VisitInvocationExpression() публичный Метод

public VisitInvocationExpression ( InvocationExpression invocationExpression ) : void
invocationExpression InvocationExpression
Результат void

VisitIsExpression() публичный Метод

public VisitIsExpression ( IsExpression isExpression ) : void
isExpression IsExpression
Результат void

VisitMemberReferenceExpression() публичный Метод

public VisitMemberReferenceExpression ( MemberReferenceExpression memberReferenceExpression ) : void
memberReferenceExpression MemberReferenceExpression
Результат void

VisitNamedExpression() публичный Метод

public VisitNamedExpression ( NamedExpression namedExpression ) : void
namedExpression NamedExpression
Результат void

VisitPointerReferenceExpression() публичный Метод

public VisitPointerReferenceExpression ( PointerReferenceExpression pointerReferenceExpression ) : void
pointerReferenceExpression PointerReferenceExpression
Результат void

VisitQueryExpression() публичный Метод

public VisitQueryExpression ( QueryExpression queryExpression ) : void
queryExpression QueryExpression
Результат void

VisitUnaryOperatorExpression() публичный Метод

public VisitUnaryOperatorExpression ( UnaryOperatorExpression unaryOperatorExpression ) : void
unaryOperatorExpression UnaryOperatorExpression
Результат void