protected override TDeclarationNode AddNamedType <TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CodeGenerationOptions options, IList <bool> availableIndices, CancellationToken cancellationToken)
        {
            CheckDeclarationNode <TypeDeclarationSyntax, NamespaceDeclarationSyntax, CompilationUnitSyntax>(destination);

            if (destination is TypeDeclarationSyntax)
            {
                return(Cast <TDeclarationNode>(NamedTypeGenerator.AddNamedTypeTo(this, Cast <TypeDeclarationSyntax>(destination), namedType, options, availableIndices, cancellationToken)));
            }
            else if (destination is NamespaceDeclarationSyntax)
            {
                return(Cast <TDeclarationNode>(NamedTypeGenerator.AddNamedTypeTo(this, Cast <NamespaceDeclarationSyntax>(destination), namedType, options, availableIndices, cancellationToken)));
            }
            else
            {
                return(Cast <TDeclarationNode>(NamedTypeGenerator.AddNamedTypeTo(this, Cast <CompilationUnitSyntax>(destination), namedType, options, availableIndices, cancellationToken)));
            }
        }
Beispiel #2
0
        protected override TDeclarationNode AddNamedType <TDeclarationNode>(TDeclarationNode destination, INamedTypeSymbol namedType, CSharpCodeGenerationContextInfo info, IList <bool>?availableIndices, CancellationToken cancellationToken)
        {
            CheckDeclarationNode <TypeDeclarationSyntax, BaseNamespaceDeclarationSyntax, CompilationUnitSyntax>(destination);

            var csharpInfo = info;

            if (destination is TypeDeclarationSyntax typeDeclaration)
            {
                return(Cast <TDeclarationNode>(NamedTypeGenerator.AddNamedTypeTo(this, typeDeclaration, namedType, csharpInfo, availableIndices, cancellationToken)));
            }
            else if (destination is BaseNamespaceDeclarationSyntax namespaceDeclaration)
            {
                return(Cast <TDeclarationNode>(NamedTypeGenerator.AddNamedTypeTo(this, namespaceDeclaration, namedType, csharpInfo, availableIndices, cancellationToken)));
            }
            else
            {
                return(Cast <TDeclarationNode>(NamedTypeGenerator.AddNamedTypeTo(this, Cast <CompilationUnitSyntax>(destination), namedType, csharpInfo, availableIndices, cancellationToken)));
            }
        }