C# Class MixinRefactoring.IncludeMixinSyntaxWriter

class that generates the syntax nodes needed for forwarding member calls to the mixin reference.
Inheritance: CSharpSyntaxRewriter
Datei anzeigen Open project: pgenfer/mixinSharp Class Usage Examples

Public Methods

Method Description
IncludeMixinSyntaxWriter ( IEnumerable membersToImplement, MixinReference mixin, Microsoft.CodeAnalysis.SemanticModel semanticModel, Settings settings = null ) : Microsoft.CodeAnalysis.CSharp
VisitClassDeclaration ( Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax classDeclaration ) : Microsoft.CodeAnalysis.SyntaxNode

creates a new class declaration where members are delegated to the mixin reference

Protected Methods

Method Description
CreateStrategies ( MixinReference mixin, Microsoft.CodeAnalysis.SemanticModel semantic, Settings settings ) : IImplementMemberForwarding>.Dictionary

method is virtual, so derived classes can override it to create different strategies (e.g. for testing)

Method Details

CreateStrategies() protected method

method is virtual, so derived classes can override it to create different strategies (e.g. for testing)
protected CreateStrategies ( MixinReference mixin, Microsoft.CodeAnalysis.SemanticModel semantic, Settings settings ) : IImplementMemberForwarding>.Dictionary
mixin MixinReference
semantic Microsoft.CodeAnalysis.SemanticModel
settings Settings
return IImplementMemberForwarding>.Dictionary

IncludeMixinSyntaxWriter() public method

public IncludeMixinSyntaxWriter ( IEnumerable membersToImplement, MixinReference mixin, Microsoft.CodeAnalysis.SemanticModel semanticModel, Settings settings = null ) : Microsoft.CodeAnalysis.CSharp
membersToImplement IEnumerable
mixin MixinReference
semanticModel Microsoft.CodeAnalysis.SemanticModel
settings Settings
return Microsoft.CodeAnalysis.CSharp

VisitClassDeclaration() public method

creates a new class declaration where members are delegated to the mixin reference
public VisitClassDeclaration ( Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax classDeclaration ) : Microsoft.CodeAnalysis.SyntaxNode
classDeclaration Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax
return Microsoft.CodeAnalysis.SyntaxNode