C# Class Rosetta.AST.NamespaceASTWalker

Walks a namespace AST node.
Inheritance: ASTWalker, IASTWalker
Show file Open project: andry-tino/Rosetta Class Usage Examples

Protected Properties

Property Type Description
module Rosetta.Translation.ModuleTranslationUnit

Public Methods

Method Description
Create ( CSharpSyntaxNode node, ASTWalkerContext context = null, Microsoft.CodeAnalysis.SemanticModel semanticModel = null ) : NamespaceASTWalker

Factory method for class NamespaceASTWalker.

NamespaceASTWalker ( NamespaceASTWalker other ) : System

Copy initializes a new instance of the NamespaceASTWalker class.

For testability.

VisitClassDeclaration ( Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax node ) : void

This will cause an AST walker to be created, thus we don't need to go further deeper in the tree by visiting the node.

VisitInterfaceDeclaration ( InterfaceDeclarationSyntax node ) : void

Walk ( ) : ITranslationUnit

Walk the whole tree starting from specified CSharpSyntaxNode and build the translation unit tree necessary for generating TypeScript output.

Protected Methods

Method Description
InvokeClassDeclarationVisited ( object sender, WalkerEventArgs e ) : void
InvokeEnumDeclarationVisited ( object sender, WalkerEventArgs e ) : void
InvokeInterfaceDeclarationVisited ( object sender, WalkerEventArgs e ) : void
NamespaceASTWalker ( CSharpSyntaxNode node, Rosetta.Translation.ModuleTranslationUnit module, Microsoft.CodeAnalysis.SemanticModel semanticModel ) : System

Initializes a new instance of the NamespaceASTWalker class.

Private Methods

Method Description
CreateWalkingContext ( ) : ASTWalkerContext

Method Details

Create() public static method

Factory method for class NamespaceASTWalker.
public static Create ( CSharpSyntaxNode node, ASTWalkerContext context = null, Microsoft.CodeAnalysis.SemanticModel semanticModel = null ) : NamespaceASTWalker
node CSharpSyntaxNode Used to initialize the walker.
context ASTWalkerContext The walking context.
semanticModel Microsoft.CodeAnalysis.SemanticModel The semantic model.
return NamespaceASTWalker

InvokeClassDeclarationVisited() protected method

protected InvokeClassDeclarationVisited ( object sender, WalkerEventArgs e ) : void
sender object
e WalkerEventArgs
return void

InvokeEnumDeclarationVisited() protected method

protected InvokeEnumDeclarationVisited ( object sender, WalkerEventArgs e ) : void
sender object
e WalkerEventArgs
return void

InvokeInterfaceDeclarationVisited() protected method

protected InvokeInterfaceDeclarationVisited ( object sender, WalkerEventArgs e ) : void
sender object
e WalkerEventArgs
return void

NamespaceASTWalker() protected method

Initializes a new instance of the NamespaceASTWalker class.
protected NamespaceASTWalker ( CSharpSyntaxNode node, Rosetta.Translation.ModuleTranslationUnit module, Microsoft.CodeAnalysis.SemanticModel semanticModel ) : System
node CSharpSyntaxNode
module Rosetta.Translation.ModuleTranslationUnit
semanticModel Microsoft.CodeAnalysis.SemanticModel The semantic model.
return System

NamespaceASTWalker() public method

Copy initializes a new instance of the NamespaceASTWalker class.
For testability.
public NamespaceASTWalker ( NamespaceASTWalker other ) : System
other NamespaceASTWalker
return System

VisitClassDeclaration() public method

This will cause an AST walker to be created, thus we don't need to go further deeper in the tree by visiting the node.
public VisitClassDeclaration ( Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax node ) : void
node Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax
return void

VisitInterfaceDeclaration() public method

public VisitInterfaceDeclaration ( InterfaceDeclarationSyntax node ) : void
node InterfaceDeclarationSyntax
return void

Walk() public method

Walk the whole tree starting from specified CSharpSyntaxNode and build the translation unit tree necessary for generating TypeScript output.
public Walk ( ) : ITranslationUnit
return ITranslationUnit

Property Details

module protected property

protected ModuleTranslationUnit,Rosetta.Translation module
return Rosetta.Translation.ModuleTranslationUnit