protected override TDeclarationNode AddNamespace <TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationOptions options, IList <bool> availableIndices, CancellationToken cancellationToken) { CheckDeclarationNode <CompilationUnitSyntax, NamespaceDeclarationSyntax>(destination); if (destination is CompilationUnitSyntax) { return(Cast <TDeclarationNode>(NamespaceGenerator.AddNamespaceTo(this, Cast <CompilationUnitSyntax>(destination), @namespace, options, availableIndices, cancellationToken))); } else { return(Cast <TDeclarationNode>(NamespaceGenerator.AddNamespaceTo(this, Cast <NamespaceDeclarationSyntax>(destination), @namespace, options, availableIndices, cancellationToken))); } }
protected override TDeclarationNode AddNamespace <TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CSharpCodeGenerationContextInfo info, IList <bool>?availableIndices, CancellationToken cancellationToken) { CheckDeclarationNode <CompilationUnitSyntax, BaseNamespaceDeclarationSyntax>(destination); if (destination is CompilationUnitSyntax compilationUnit) { return(Cast <TDeclarationNode>(NamespaceGenerator.AddNamespaceTo(this, compilationUnit, @namespace, info, availableIndices, cancellationToken))); } else { return(Cast <TDeclarationNode>(NamespaceGenerator.AddNamespaceTo(this, Cast <BaseNamespaceDeclarationSyntax>(destination), @namespace, info, availableIndices, cancellationToken))); } }
public override TDeclarationNode UpdateDeclarationMembers <TDeclarationNode>(TDeclarationNode declaration, IList <ISymbol> newMembers, CodeGenerationOptions options = null, CancellationToken cancellationToken = default) { if (declaration is MemberDeclarationSyntax memberDeclaration) { return(Cast <TDeclarationNode>(NamedTypeGenerator.UpdateNamedTypeDeclaration(this, memberDeclaration, newMembers, options, cancellationToken))); } if (declaration is CSharpSyntaxNode syntaxNode) { switch (syntaxNode.Kind()) { case SyntaxKind.CompilationUnit: case SyntaxKind.NamespaceDeclaration: return(Cast <TDeclarationNode>(NamespaceGenerator.UpdateCompilationUnitOrNamespaceDeclaration(this, syntaxNode, newMembers, options, cancellationToken))); } } return(declaration); }
public override SyntaxNode CreateNamespaceDeclaration( INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationOptions options, CancellationToken cancellationToken) { return(NamespaceGenerator.GenerateNamespaceDeclaration(this, @namespace, options, cancellationToken)); }