C# Class 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)".
Inheritance: DepthFirstAstVisitor
Afficher le fichier Open project: icsharpcode/NRefactory

Méthodes publiques

Méthode Description
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

Private Methods

Méthode Description
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

Method Details

VisitAsExpression() public méthode

public VisitAsExpression ( AsExpression asExpression ) : void
asExpression AsExpression
Résultat void

VisitAssignmentExpression() public méthode

public VisitAssignmentExpression ( AssignmentExpression assignmentExpression ) : void
assignmentExpression AssignmentExpression
Résultat void

VisitBinaryOperatorExpression() public méthode

public VisitBinaryOperatorExpression ( BinaryOperatorExpression binaryOperatorExpression ) : void
binaryOperatorExpression BinaryOperatorExpression
Résultat void

VisitCastExpression() public méthode

public VisitCastExpression ( CastExpression castExpression ) : void
castExpression CastExpression
Résultat void

VisitConditionalExpression() public méthode

public VisitConditionalExpression ( ConditionalExpression conditionalExpression ) : void
conditionalExpression ConditionalExpression
Résultat void

VisitIndexerExpression() public méthode

public VisitIndexerExpression ( IndexerExpression indexerExpression ) : void
indexerExpression IndexerExpression
Résultat void

VisitInvocationExpression() public méthode

public VisitInvocationExpression ( InvocationExpression invocationExpression ) : void
invocationExpression InvocationExpression
Résultat void

VisitIsExpression() public méthode

public VisitIsExpression ( IsExpression isExpression ) : void
isExpression IsExpression
Résultat void

VisitMemberReferenceExpression() public méthode

public VisitMemberReferenceExpression ( MemberReferenceExpression memberReferenceExpression ) : void
memberReferenceExpression MemberReferenceExpression
Résultat void

VisitNamedExpression() public méthode

public VisitNamedExpression ( NamedExpression namedExpression ) : void
namedExpression NamedExpression
Résultat void

VisitPointerReferenceExpression() public méthode

public VisitPointerReferenceExpression ( PointerReferenceExpression pointerReferenceExpression ) : void
pointerReferenceExpression PointerReferenceExpression
Résultat void

VisitQueryExpression() public méthode

public VisitQueryExpression ( QueryExpression queryExpression ) : void
queryExpression QueryExpression
Résultat void

VisitUnaryOperatorExpression() public méthode

public VisitUnaryOperatorExpression ( UnaryOperatorExpression unaryOperatorExpression ) : void
unaryOperatorExpression UnaryOperatorExpression
Résultat void