Table of Contents

Class CSharpOutputVisitor

Namespace
ICSharpCode.Decompiler.CSharp.OutputVisitor
Assembly
ICSharpCode.Decompiler.dll

Outputs the AST.

public class CSharpOutputVisitor : IAstVisitor
Inheritance
CSharpOutputVisitor
Implements
Inherited Members

Constructors

CSharpOutputVisitor(TokenWriter, CSharpFormattingOptions)

public CSharpOutputVisitor(TokenWriter writer, CSharpFormattingOptions formattingPolicy)

Parameters

writer TokenWriter
formattingPolicy CSharpFormattingOptions

CSharpOutputVisitor(TextWriter, CSharpFormattingOptions)

public CSharpOutputVisitor(TextWriter textWriter, CSharpFormattingOptions formattingPolicy)

Parameters

textWriter TextWriter
formattingPolicy CSharpFormattingOptions

Fields

containerStack

protected readonly Stack<AstNode> containerStack

Field Value

Stack<AstNode>

isAfterSpace

protected bool isAfterSpace

Field Value

bool

isAtStartOfLine

protected bool isAtStartOfLine

Field Value

bool

policy

protected readonly CSharpFormattingOptions policy

Field Value

CSharpFormattingOptions

writer

protected readonly TokenWriter writer

Field Value

TokenWriter

Methods

CanBeConfusedWithObjectInitializer(Expression)

protected bool CanBeConfusedWithObjectInitializer(Expression expr)

Parameters

expr Expression

Returns

bool

CloseBrace(BraceStyle, bool)

protected virtual void CloseBrace(BraceStyle style, bool unindent = true)

Parameters

style BraceStyle
unindent bool

Comma(AstNode, bool)

Writes a comma.

protected virtual void Comma(AstNode nextNode, bool noSpaceAfterComma = false)

Parameters

nextNode AstNode

The next node after the comma.

noSpaceAfterComma bool

When set prevents printing a space after comma.

ConvertString(string)

Converts special characters to escape sequences within the given string.

public static string ConvertString(string text)

Parameters

text string

Returns

string

EndNode(AstNode)

protected virtual void EndNode(AstNode node)

Parameters

node AstNode

InsertNewLineWhenInMethodCallChain(MemberReferenceExpression)

protected virtual bool InsertNewLineWhenInMethodCallChain(MemberReferenceExpression expr)

Parameters

expr MemberReferenceExpression

Returns

bool

IsKeyword(string, AstNode)

Determines whether the specified identifier is a keyword in the given context.

public static bool IsKeyword(string identifier, AstNode context)

Parameters

identifier string
context AstNode

Returns

bool

IsObjectOrCollectionInitializer(AstNode)

protected bool IsObjectOrCollectionInitializer(AstNode node)

Parameters

node AstNode

Returns

bool

LPar()

protected virtual void LPar()

LambdaNeedsParenthesis(LambdaExpression)

protected bool LambdaNeedsParenthesis(LambdaExpression lambdaExpression)

Parameters

lambdaExpression LambdaExpression

Returns

bool

NewLine()

protected virtual void NewLine()

OpenBrace(BraceStyle, bool)

protected virtual void OpenBrace(BraceStyle style, bool newLine = true)

Parameters

style BraceStyle
newLine bool

OptionalComma(AstNode)

Writes an optional comma, e.g. at the end of an enum declaration or in an array initializer

protected virtual void OptionalComma(AstNode pos)

Parameters

pos AstNode

OptionalSemicolon(AstNode)

Writes an optional semicolon, e.g. at the end of a type or namespace declaration.

protected virtual void OptionalSemicolon(AstNode pos)

Parameters

pos AstNode

PrintInitializerElements(AstNodeCollection<Expression>)

protected virtual void PrintInitializerElements(AstNodeCollection<Expression> elements)

Parameters

elements AstNodeCollection<Expression>

RPar()

protected virtual void RPar()

Semicolon()

Marks the end of a statement

protected virtual void Semicolon()

Space(bool)

Writes a space depending on policy.

protected virtual void Space(bool addSpace = true)

Parameters

addSpace bool

StartNode(AstNode)

protected virtual void StartNode(AstNode node)

Parameters

node AstNode

VisitAccessor(Accessor)

public virtual void VisitAccessor(Accessor accessor)

Parameters

accessor Accessor

VisitAnonymousMethodExpression(AnonymousMethodExpression)

public virtual void VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression)

Parameters

anonymousMethodExpression AnonymousMethodExpression

VisitAnonymousTypeCreateExpression(AnonymousTypeCreateExpression)

public virtual void VisitAnonymousTypeCreateExpression(AnonymousTypeCreateExpression anonymousTypeCreateExpression)

Parameters

anonymousTypeCreateExpression AnonymousTypeCreateExpression

VisitArrayCreateExpression(ArrayCreateExpression)

public virtual void VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression)

Parameters

arrayCreateExpression ArrayCreateExpression

VisitArrayInitializerExpression(ArrayInitializerExpression)

public virtual void VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression)

Parameters

arrayInitializerExpression ArrayInitializerExpression

VisitArraySpecifier(ArraySpecifier)

public virtual void VisitArraySpecifier(ArraySpecifier arraySpecifier)

Parameters

arraySpecifier ArraySpecifier

VisitAsExpression(AsExpression)

public virtual void VisitAsExpression(AsExpression asExpression)

Parameters

asExpression AsExpression

VisitAssignmentExpression(AssignmentExpression)

public virtual void VisitAssignmentExpression(AssignmentExpression assignmentExpression)

Parameters

assignmentExpression AssignmentExpression

VisitAttribute(Attribute)

public virtual void VisitAttribute(Attribute attribute)

Parameters

attribute Attribute

VisitAttributeSection(AttributeSection)

public virtual void VisitAttributeSection(AttributeSection attributeSection)

Parameters

attributeSection AttributeSection

VisitBaseReferenceExpression(BaseReferenceExpression)

public virtual void VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression)

Parameters

baseReferenceExpression BaseReferenceExpression

VisitBinaryOperatorExpression(BinaryOperatorExpression)

public virtual void VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression)

Parameters

binaryOperatorExpression BinaryOperatorExpression

VisitBlockStatement(BlockStatement)

public virtual void VisitBlockStatement(BlockStatement blockStatement)

Parameters

blockStatement BlockStatement

VisitBreakStatement(BreakStatement)

public virtual void VisitBreakStatement(BreakStatement breakStatement)

Parameters

breakStatement BreakStatement

VisitCSharpTokenNode(CSharpTokenNode)

public virtual void VisitCSharpTokenNode(CSharpTokenNode cSharpTokenNode)

Parameters

cSharpTokenNode CSharpTokenNode

VisitCaseLabel(CaseLabel)

public virtual void VisitCaseLabel(CaseLabel caseLabel)

Parameters

caseLabel CaseLabel

VisitCastExpression(CastExpression)

public virtual void VisitCastExpression(CastExpression castExpression)

Parameters

castExpression CastExpression

VisitCatchClause(CatchClause)

public virtual void VisitCatchClause(CatchClause catchClause)

Parameters

catchClause CatchClause

VisitCheckedExpression(CheckedExpression)

public virtual void VisitCheckedExpression(CheckedExpression checkedExpression)

Parameters

checkedExpression CheckedExpression

VisitCheckedStatement(CheckedStatement)

public virtual void VisitCheckedStatement(CheckedStatement checkedStatement)

Parameters

checkedStatement CheckedStatement

VisitComment(Comment)

public virtual void VisitComment(Comment comment)

Parameters

comment Comment

VisitComposedType(ComposedType)

public virtual void VisitComposedType(ComposedType composedType)

Parameters

composedType ComposedType

VisitConditionalExpression(ConditionalExpression)

public virtual void VisitConditionalExpression(ConditionalExpression conditionalExpression)

Parameters

conditionalExpression ConditionalExpression

VisitConstraint(Constraint)

public virtual void VisitConstraint(Constraint constraint)

Parameters

constraint Constraint

VisitConstructorDeclaration(ConstructorDeclaration)

public virtual void VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration)

Parameters

constructorDeclaration ConstructorDeclaration

VisitConstructorInitializer(ConstructorInitializer)

public virtual void VisitConstructorInitializer(ConstructorInitializer constructorInitializer)

Parameters

constructorInitializer ConstructorInitializer

VisitContinueStatement(ContinueStatement)

public virtual void VisitContinueStatement(ContinueStatement continueStatement)

Parameters

continueStatement ContinueStatement

VisitCustomEventDeclaration(CustomEventDeclaration)

public virtual void VisitCustomEventDeclaration(CustomEventDeclaration customEventDeclaration)

Parameters

customEventDeclaration CustomEventDeclaration

VisitDeclarationExpression(DeclarationExpression)

public virtual void VisitDeclarationExpression(DeclarationExpression declarationExpression)

Parameters

declarationExpression DeclarationExpression

VisitDefaultValueExpression(DefaultValueExpression)

public virtual void VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression)

Parameters

defaultValueExpression DefaultValueExpression

VisitDelegateDeclaration(DelegateDeclaration)

public virtual void VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration)

Parameters

delegateDeclaration DelegateDeclaration

VisitDestructorDeclaration(DestructorDeclaration)

public virtual void VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration)

Parameters

destructorDeclaration DestructorDeclaration

VisitDirectionExpression(DirectionExpression)

public virtual void VisitDirectionExpression(DirectionExpression directionExpression)

Parameters

directionExpression DirectionExpression

VisitDoWhileStatement(DoWhileStatement)

public virtual void VisitDoWhileStatement(DoWhileStatement doWhileStatement)

Parameters

doWhileStatement DoWhileStatement

VisitDocumentationReference(DocumentationReference)

public virtual void VisitDocumentationReference(DocumentationReference documentationReference)

Parameters

documentationReference DocumentationReference

VisitEmptyStatement(EmptyStatement)

public virtual void VisitEmptyStatement(EmptyStatement emptyStatement)

Parameters

emptyStatement EmptyStatement

VisitEnumMemberDeclaration(EnumMemberDeclaration)

public virtual void VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration)

Parameters

enumMemberDeclaration EnumMemberDeclaration

VisitEventDeclaration(EventDeclaration)

public virtual void VisitEventDeclaration(EventDeclaration eventDeclaration)

Parameters

eventDeclaration EventDeclaration

VisitExpressionStatement(ExpressionStatement)

public virtual void VisitExpressionStatement(ExpressionStatement expressionStatement)

Parameters

expressionStatement ExpressionStatement

VisitExternAliasDeclaration(ExternAliasDeclaration)

public virtual void VisitExternAliasDeclaration(ExternAliasDeclaration externAliasDeclaration)

Parameters

externAliasDeclaration ExternAliasDeclaration

VisitFieldDeclaration(FieldDeclaration)

public virtual void VisitFieldDeclaration(FieldDeclaration fieldDeclaration)

Parameters

fieldDeclaration FieldDeclaration

VisitFixedFieldDeclaration(FixedFieldDeclaration)

public virtual void VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration)

Parameters

fixedFieldDeclaration FixedFieldDeclaration

VisitFixedStatement(FixedStatement)

public virtual void VisitFixedStatement(FixedStatement fixedStatement)

Parameters

fixedStatement FixedStatement

VisitFixedVariableInitializer(FixedVariableInitializer)

public virtual void VisitFixedVariableInitializer(FixedVariableInitializer fixedVariableInitializer)

Parameters

fixedVariableInitializer FixedVariableInitializer

VisitForStatement(ForStatement)

public virtual void VisitForStatement(ForStatement forStatement)

Parameters

forStatement ForStatement

VisitForeachStatement(ForeachStatement)

public virtual void VisitForeachStatement(ForeachStatement foreachStatement)

Parameters

foreachStatement ForeachStatement

VisitFunctionPointerType(FunctionPointerAstType)

public virtual void VisitFunctionPointerType(FunctionPointerAstType functionPointerType)

Parameters

functionPointerType FunctionPointerAstType

VisitGotoCaseStatement(GotoCaseStatement)

public virtual void VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement)

Parameters

gotoCaseStatement GotoCaseStatement

VisitGotoDefaultStatement(GotoDefaultStatement)

public virtual void VisitGotoDefaultStatement(GotoDefaultStatement gotoDefaultStatement)

Parameters

gotoDefaultStatement GotoDefaultStatement

VisitGotoStatement(GotoStatement)

public virtual void VisitGotoStatement(GotoStatement gotoStatement)

Parameters

gotoStatement GotoStatement

VisitIdentifier(Identifier)

public virtual void VisitIdentifier(Identifier identifier)

Parameters

identifier Identifier

VisitIdentifierExpression(IdentifierExpression)

public virtual void VisitIdentifierExpression(IdentifierExpression identifierExpression)

Parameters

identifierExpression IdentifierExpression

VisitIfElseStatement(IfElseStatement)

public virtual void VisitIfElseStatement(IfElseStatement ifElseStatement)

Parameters

ifElseStatement IfElseStatement

VisitIndexerDeclaration(IndexerDeclaration)

public virtual void VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration)

Parameters

indexerDeclaration IndexerDeclaration

VisitIndexerExpression(IndexerExpression)

public virtual void VisitIndexerExpression(IndexerExpression indexerExpression)

Parameters

indexerExpression IndexerExpression

VisitInterpolatedStringExpression(InterpolatedStringExpression)

public virtual void VisitInterpolatedStringExpression(InterpolatedStringExpression interpolatedStringExpression)

Parameters

interpolatedStringExpression InterpolatedStringExpression

VisitInterpolatedStringText(InterpolatedStringText)

public virtual void VisitInterpolatedStringText(InterpolatedStringText interpolatedStringText)

Parameters

interpolatedStringText InterpolatedStringText

VisitInterpolation(Interpolation)

public virtual void VisitInterpolation(Interpolation interpolation)

Parameters

interpolation Interpolation

VisitInvocationExpression(InvocationExpression)

public virtual void VisitInvocationExpression(InvocationExpression invocationExpression)

Parameters

invocationExpression InvocationExpression

VisitInvocationType(InvocationAstType)

public virtual void VisitInvocationType(InvocationAstType invocationType)

Parameters

invocationType InvocationAstType

VisitIsExpression(IsExpression)

public virtual void VisitIsExpression(IsExpression isExpression)

Parameters

isExpression IsExpression

VisitLabelStatement(LabelStatement)

public virtual void VisitLabelStatement(LabelStatement labelStatement)

Parameters

labelStatement LabelStatement

VisitLambdaExpression(LambdaExpression)

public virtual void VisitLambdaExpression(LambdaExpression lambdaExpression)

Parameters

lambdaExpression LambdaExpression

VisitLocalFunctionDeclarationStatement(LocalFunctionDeclarationStatement)

public virtual void VisitLocalFunctionDeclarationStatement(LocalFunctionDeclarationStatement localFunctionDeclarationStatement)

Parameters

localFunctionDeclarationStatement LocalFunctionDeclarationStatement

VisitLockStatement(LockStatement)

public virtual void VisitLockStatement(LockStatement lockStatement)

Parameters

lockStatement LockStatement

VisitMemberReferenceExpression(MemberReferenceExpression)

public virtual void VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression)

Parameters

memberReferenceExpression MemberReferenceExpression

VisitMemberType(MemberType)

public virtual void VisitMemberType(MemberType memberType)

Parameters

memberType MemberType

VisitMethodDeclaration(MethodDeclaration)

public virtual void VisitMethodDeclaration(MethodDeclaration methodDeclaration)

Parameters

methodDeclaration MethodDeclaration

VisitNamedArgumentExpression(NamedArgumentExpression)

public virtual void VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression)

Parameters

namedArgumentExpression NamedArgumentExpression

VisitNamedExpression(NamedExpression)

public virtual void VisitNamedExpression(NamedExpression namedExpression)

Parameters

namedExpression NamedExpression

VisitNamespaceDeclaration(NamespaceDeclaration)

public virtual void VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration)

Parameters

namespaceDeclaration NamespaceDeclaration

VisitNullReferenceExpression(NullReferenceExpression)

public virtual void VisitNullReferenceExpression(NullReferenceExpression nullReferenceExpression)

Parameters

nullReferenceExpression NullReferenceExpression

VisitObjectCreateExpression(ObjectCreateExpression)

public virtual void VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression)

Parameters

objectCreateExpression ObjectCreateExpression

VisitOperatorDeclaration(OperatorDeclaration)

public virtual void VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration)

Parameters

operatorDeclaration OperatorDeclaration

VisitOutVarDeclarationExpression(OutVarDeclarationExpression)

public virtual void VisitOutVarDeclarationExpression(OutVarDeclarationExpression outVarDeclarationExpression)

Parameters

outVarDeclarationExpression OutVarDeclarationExpression

VisitParameterDeclaration(ParameterDeclaration)

public virtual void VisitParameterDeclaration(ParameterDeclaration parameterDeclaration)

Parameters

parameterDeclaration ParameterDeclaration

VisitParenthesizedExpression(ParenthesizedExpression)

public virtual void VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression)

Parameters

parenthesizedExpression ParenthesizedExpression

VisitParenthesizedVariableDesignation(ParenthesizedVariableDesignation)

public virtual void VisitParenthesizedVariableDesignation(ParenthesizedVariableDesignation parenthesizedVariableDesignation)

Parameters

parenthesizedVariableDesignation ParenthesizedVariableDesignation

VisitPatternPlaceholder(AstNode, Pattern)

public virtual void VisitPatternPlaceholder(AstNode placeholder, Pattern pattern)

Parameters

placeholder AstNode
pattern Pattern

VisitPointerReferenceExpression(PointerReferenceExpression)

public virtual void VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression)

Parameters

pointerReferenceExpression PointerReferenceExpression

VisitPreProcessorDirective(PreProcessorDirective)

public virtual void VisitPreProcessorDirective(PreProcessorDirective preProcessorDirective)

Parameters

preProcessorDirective PreProcessorDirective

VisitPrimitiveExpression(PrimitiveExpression)

public virtual void VisitPrimitiveExpression(PrimitiveExpression primitiveExpression)

Parameters

primitiveExpression PrimitiveExpression

VisitPrimitiveType(PrimitiveType)

public virtual void VisitPrimitiveType(PrimitiveType primitiveType)

Parameters

primitiveType PrimitiveType

VisitPropertyDeclaration(PropertyDeclaration)

public virtual void VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration)

Parameters

propertyDeclaration PropertyDeclaration

VisitQueryContinuationClause(QueryContinuationClause)

public virtual void VisitQueryContinuationClause(QueryContinuationClause queryContinuationClause)

Parameters

queryContinuationClause QueryContinuationClause

VisitQueryExpression(QueryExpression)

public virtual void VisitQueryExpression(QueryExpression queryExpression)

Parameters

queryExpression QueryExpression

VisitQueryFromClause(QueryFromClause)

public virtual void VisitQueryFromClause(QueryFromClause queryFromClause)

Parameters

queryFromClause QueryFromClause

VisitQueryGroupClause(QueryGroupClause)

public virtual void VisitQueryGroupClause(QueryGroupClause queryGroupClause)

Parameters

queryGroupClause QueryGroupClause

VisitQueryJoinClause(QueryJoinClause)

public virtual void VisitQueryJoinClause(QueryJoinClause queryJoinClause)

Parameters

queryJoinClause QueryJoinClause

VisitQueryLetClause(QueryLetClause)

public virtual void VisitQueryLetClause(QueryLetClause queryLetClause)

Parameters

queryLetClause QueryLetClause

VisitQueryOrderClause(QueryOrderClause)

public virtual void VisitQueryOrderClause(QueryOrderClause queryOrderClause)

Parameters

queryOrderClause QueryOrderClause

VisitQueryOrdering(QueryOrdering)

public virtual void VisitQueryOrdering(QueryOrdering queryOrdering)

Parameters

queryOrdering QueryOrdering

VisitQuerySelectClause(QuerySelectClause)

public virtual void VisitQuerySelectClause(QuerySelectClause querySelectClause)

Parameters

querySelectClause QuerySelectClause

VisitQueryWhereClause(QueryWhereClause)

public virtual void VisitQueryWhereClause(QueryWhereClause queryWhereClause)

Parameters

queryWhereClause QueryWhereClause

VisitRecursivePatternExpression(RecursivePatternExpression)

public virtual void VisitRecursivePatternExpression(RecursivePatternExpression recursivePatternExpression)

Parameters

recursivePatternExpression RecursivePatternExpression

VisitReturnStatement(ReturnStatement)

public virtual void VisitReturnStatement(ReturnStatement returnStatement)

Parameters

returnStatement ReturnStatement

VisitSimpleType(SimpleType)

public virtual void VisitSimpleType(SimpleType simpleType)

Parameters

simpleType SimpleType

VisitSingleVariableDesignation(SingleVariableDesignation)

public virtual void VisitSingleVariableDesignation(SingleVariableDesignation singleVariableDesignation)

Parameters

singleVariableDesignation SingleVariableDesignation

VisitSizeOfExpression(SizeOfExpression)

public virtual void VisitSizeOfExpression(SizeOfExpression sizeOfExpression)

Parameters

sizeOfExpression SizeOfExpression

VisitStackAllocExpression(StackAllocExpression)

public virtual void VisitStackAllocExpression(StackAllocExpression stackAllocExpression)

Parameters

stackAllocExpression StackAllocExpression

VisitSwitchExpression(SwitchExpression)

public virtual void VisitSwitchExpression(SwitchExpression switchExpression)

Parameters

switchExpression SwitchExpression

VisitSwitchExpressionSection(SwitchExpressionSection)

public virtual void VisitSwitchExpressionSection(SwitchExpressionSection switchExpressionSection)

Parameters

switchExpressionSection SwitchExpressionSection

VisitSwitchSection(SwitchSection)

public virtual void VisitSwitchSection(SwitchSection switchSection)

Parameters

switchSection SwitchSection

VisitSwitchStatement(SwitchStatement)

public virtual void VisitSwitchStatement(SwitchStatement switchStatement)

Parameters

switchStatement SwitchStatement

VisitSyntaxTree(SyntaxTree)

public virtual void VisitSyntaxTree(SyntaxTree syntaxTree)

Parameters

syntaxTree SyntaxTree

VisitThisReferenceExpression(ThisReferenceExpression)

public virtual void VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression)

Parameters

thisReferenceExpression ThisReferenceExpression

VisitThrowExpression(ThrowExpression)

public virtual void VisitThrowExpression(ThrowExpression throwExpression)

Parameters

throwExpression ThrowExpression

VisitThrowStatement(ThrowStatement)

public virtual void VisitThrowStatement(ThrowStatement throwStatement)

Parameters

throwStatement ThrowStatement

VisitTryCatchStatement(TryCatchStatement)

public virtual void VisitTryCatchStatement(TryCatchStatement tryCatchStatement)

Parameters

tryCatchStatement TryCatchStatement

VisitTupleExpression(TupleExpression)

public virtual void VisitTupleExpression(TupleExpression tupleExpression)

Parameters

tupleExpression TupleExpression

VisitTupleType(TupleAstType)

public virtual void VisitTupleType(TupleAstType tupleType)

Parameters

tupleType TupleAstType

VisitTupleTypeElement(TupleTypeElement)

public virtual void VisitTupleTypeElement(TupleTypeElement tupleTypeElement)

Parameters

tupleTypeElement TupleTypeElement

VisitTypeDeclaration(TypeDeclaration)

public virtual void VisitTypeDeclaration(TypeDeclaration typeDeclaration)

Parameters

typeDeclaration TypeDeclaration

VisitTypeOfExpression(TypeOfExpression)

public virtual void VisitTypeOfExpression(TypeOfExpression typeOfExpression)

Parameters

typeOfExpression TypeOfExpression

VisitTypeParameterDeclaration(TypeParameterDeclaration)

public virtual void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration)

Parameters

typeParameterDeclaration TypeParameterDeclaration

VisitTypeReferenceExpression(TypeReferenceExpression)

public virtual void VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression)

Parameters

typeReferenceExpression TypeReferenceExpression

VisitUnaryOperatorExpression(UnaryOperatorExpression)

public virtual void VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression)

Parameters

unaryOperatorExpression UnaryOperatorExpression

VisitUncheckedExpression(UncheckedExpression)

public virtual void VisitUncheckedExpression(UncheckedExpression uncheckedExpression)

Parameters

uncheckedExpression UncheckedExpression

VisitUncheckedStatement(UncheckedStatement)

public virtual void VisitUncheckedStatement(UncheckedStatement uncheckedStatement)

Parameters

uncheckedStatement UncheckedStatement

VisitUndocumentedExpression(UndocumentedExpression)

public virtual void VisitUndocumentedExpression(UndocumentedExpression undocumentedExpression)

Parameters

undocumentedExpression UndocumentedExpression

VisitUnsafeStatement(UnsafeStatement)

public virtual void VisitUnsafeStatement(UnsafeStatement unsafeStatement)

Parameters

unsafeStatement UnsafeStatement

VisitUsingAliasDeclaration(UsingAliasDeclaration)

public virtual void VisitUsingAliasDeclaration(UsingAliasDeclaration usingAliasDeclaration)

Parameters

usingAliasDeclaration UsingAliasDeclaration

VisitUsingDeclaration(UsingDeclaration)

public virtual void VisitUsingDeclaration(UsingDeclaration usingDeclaration)

Parameters

usingDeclaration UsingDeclaration

VisitUsingStatement(UsingStatement)

public virtual void VisitUsingStatement(UsingStatement usingStatement)

Parameters

usingStatement UsingStatement

VisitVariableDeclarationStatement(VariableDeclarationStatement)

public virtual void VisitVariableDeclarationStatement(VariableDeclarationStatement variableDeclarationStatement)

Parameters

variableDeclarationStatement VariableDeclarationStatement

VisitVariableInitializer(VariableInitializer)

public virtual void VisitVariableInitializer(VariableInitializer variableInitializer)

Parameters

variableInitializer VariableInitializer

VisitWhileStatement(WhileStatement)

public virtual void VisitWhileStatement(WhileStatement whileStatement)

Parameters

whileStatement WhileStatement

VisitWithInitializerExpression(WithInitializerExpression)

public virtual void VisitWithInitializerExpression(WithInitializerExpression withInitializerExpression)

Parameters

withInitializerExpression WithInitializerExpression

VisitYieldBreakStatement(YieldBreakStatement)

public virtual void VisitYieldBreakStatement(YieldBreakStatement yieldBreakStatement)

Parameters

yieldBreakStatement YieldBreakStatement

VisitYieldReturnStatement(YieldReturnStatement)

public virtual void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement)

Parameters

yieldReturnStatement YieldReturnStatement

WriteAttributes(IEnumerable<AttributeSection>)

protected virtual void WriteAttributes(IEnumerable<AttributeSection> attributes)

Parameters

attributes IEnumerable<AttributeSection>

WriteBlock(BlockStatement, BraceStyle)

Writes a block statement. Similar to VisitBlockStatement() except that:

  1. it allows customizing the BraceStyle
  2. it does not write a trailing newline after the '}' (this job is left to the caller)
protected virtual void WriteBlock(BlockStatement blockStatement, BraceStyle style)

Parameters

blockStatement BlockStatement
style BraceStyle

WriteCommaSeparatedList(IEnumerable<AstNode>)

protected virtual void WriteCommaSeparatedList(IEnumerable<AstNode> list)

Parameters

list IEnumerable<AstNode>

WriteCommaSeparatedListInBrackets(IEnumerable<Expression>)

protected virtual void WriteCommaSeparatedListInBrackets(IEnumerable<Expression> list)

Parameters

list IEnumerable<Expression>

WriteCommaSeparatedListInBrackets(IEnumerable<ParameterDeclaration>, bool)

protected virtual void WriteCommaSeparatedListInBrackets(IEnumerable<ParameterDeclaration> list, bool spaceWithin)

Parameters

list IEnumerable<ParameterDeclaration>
spaceWithin bool

WriteCommaSeparatedListInParenthesis(IEnumerable<AstNode>, bool)

protected virtual void WriteCommaSeparatedListInParenthesis(IEnumerable<AstNode> list, bool spaceWithin)

Parameters

list IEnumerable<AstNode>
spaceWithin bool

WriteEmbeddedStatement(Statement, NewLinePlacement)

Writes an embedded statement.

protected virtual void WriteEmbeddedStatement(Statement embeddedStatement, NewLinePlacement nlp = NewLinePlacement.NewLine)

Parameters

embeddedStatement Statement

The statement to write.

nlp NewLinePlacement

Determines whether a trailing newline should be written following a block. Non-blocks always write a trailing newline.

Remarks

Blocks may or may not write a leading newline depending on StatementBraceStyle. Non-blocks always write a leading newline.

WriteIdentifier(Identifier)

protected virtual void WriteIdentifier(Identifier identifier)

Parameters

identifier Identifier

WriteIdentifier(string)

protected virtual void WriteIdentifier(string identifier)

Parameters

identifier string

WriteKeyword(TokenRole)

Writes a keyword, and all specials up to

protected virtual void WriteKeyword(TokenRole tokenRole)

Parameters

tokenRole TokenRole

WriteKeyword(string, Role)

protected virtual void WriteKeyword(string token, Role tokenRole = null)

Parameters

token string
tokenRole Role

WriteMethodBody(BlockStatement, BraceStyle, bool)

protected virtual void WriteMethodBody(BlockStatement body, BraceStyle style, bool newLine = true)

Parameters

body BlockStatement
style BraceStyle
newLine bool

WriteModifiers(IEnumerable<CSharpModifierToken>)

protected virtual void WriteModifiers(IEnumerable<CSharpModifierToken> modifierTokens)

Parameters

modifierTokens IEnumerable<CSharpModifierToken>

WritePrivateImplementationType(AstType)

protected virtual void WritePrivateImplementationType(AstType privateImplementationType)

Parameters

privateImplementationType AstType

WriteQualifiedIdentifier(IEnumerable<Identifier>)

protected virtual void WriteQualifiedIdentifier(IEnumerable<Identifier> identifiers)

Parameters

identifiers IEnumerable<Identifier>

WriteToken(TokenRole)

protected virtual void WriteToken(TokenRole tokenRole)

Parameters

tokenRole TokenRole

WriteToken(string, Role)

protected virtual void WriteToken(string token, Role tokenRole)

Parameters

token string
tokenRole Role

WriteTypeArguments(IEnumerable<AstType>)

protected virtual void WriteTypeArguments(IEnumerable<AstType> typeArguments)

Parameters

typeArguments IEnumerable<AstType>

WriteTypeParameters(IEnumerable<TypeParameterDeclaration>)

public virtual void WriteTypeParameters(IEnumerable<TypeParameterDeclaration> typeParameters)

Parameters

typeParameters IEnumerable<TypeParameterDeclaration>