Table of Contents

Class PatternStatementTransform

Namespace
ICSharpCode.Decompiler.CSharp.Transforms
Assembly
ICSharpCode.Decompiler.dll

Finds the expanded form of using statements using pattern matching and replaces it with a UsingStatement.

public sealed class PatternStatementTransform : ContextTrackingVisitor<AstNode>, IAstVisitor<AstNode>, IAstTransform
Inheritance
PatternStatementTransform
Implements
Inherited Members

Constructors

PatternStatementTransform()

public PatternStatementTransform()

Methods

Run(AstNode, TransformContext)

public void Run(AstNode rootNode, TransformContext context)

Parameters

rootNode AstNode
context TransformContext

TransformFor(ExpressionStatement)

public ForStatement TransformFor(ExpressionStatement node)

Parameters

node ExpressionStatement

Returns

ForStatement

VisitBinaryOperatorExpression(BinaryOperatorExpression)

Use associativity of logic operators to avoid parentheses.

public override AstNode VisitBinaryOperatorExpression(BinaryOperatorExpression expr)

Parameters

expr BinaryOperatorExpression

Returns

AstNode

VisitChildren(AstNode)

protected override AstNode VisitChildren(AstNode node)

Parameters

node AstNode

Returns

AstNode

VisitCustomEventDeclaration(CustomEventDeclaration)

public override AstNode VisitCustomEventDeclaration(CustomEventDeclaration eventDeclaration)

Parameters

eventDeclaration CustomEventDeclaration

Returns

AstNode

VisitDestructorDeclaration(DestructorDeclaration)

public override AstNode VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration)

Parameters

destructorDeclaration DestructorDeclaration

Returns

AstNode

VisitExpressionStatement(ExpressionStatement)

public override AstNode VisitExpressionStatement(ExpressionStatement expressionStatement)

Parameters

expressionStatement ExpressionStatement

Returns

AstNode

VisitFixedStatement(FixedStatement)

public override AstNode VisitFixedStatement(FixedStatement fixedStatement)

Parameters

fixedStatement FixedStatement

Returns

AstNode

VisitForStatement(ForStatement)

public override AstNode VisitForStatement(ForStatement forStatement)

Parameters

forStatement ForStatement

Returns

AstNode

VisitIdentifier(Identifier)

public override AstNode VisitIdentifier(Identifier identifier)

Parameters

identifier Identifier

Returns

AstNode

VisitIfElseStatement(IfElseStatement)

public override AstNode VisitIfElseStatement(IfElseStatement ifElseStatement)

Parameters

ifElseStatement IfElseStatement

Returns

AstNode

VisitMethodDeclaration(MethodDeclaration)

public override AstNode VisitMethodDeclaration(MethodDeclaration methodDeclaration)

Parameters

methodDeclaration MethodDeclaration

Returns

AstNode

VisitPropertyDeclaration(PropertyDeclaration)

public override AstNode VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration)

Parameters

propertyDeclaration PropertyDeclaration

Returns

AstNode

VisitTryCatchStatement(TryCatchStatement)

public override AstNode VisitTryCatchStatement(TryCatchStatement tryCatchStatement)

Parameters

tryCatchStatement TryCatchStatement

Returns

AstNode

VisitUsingStatement(UsingStatement)

public override AstNode VisitUsingStatement(UsingStatement usingStatement)

Parameters

usingStatement UsingStatement

Returns

AstNode