Exemple #1
0
            public static State Generate(
                AbstractImplementAbstractClassService service,
                Document document,
                SemanticModel model,
                SyntaxNode node,
                CancellationToken cancellationToken)
            {
                INamedTypeSymbol classType, abstractClassType;

                if (!service.TryInitializeState(document, model, node, cancellationToken,
                                                out classType, out abstractClassType))
                {
                    return(null);
                }

                if (!CodeGenerator.CanAdd(document.Project.Solution, classType, cancellationToken))
                {
                    return(null);
                }

                if (classType.IsAbstract)
                {
                    return(null);
                }

                var unimplementedMembers = classType.GetAllUnimplementedMembers(
                    SpecializedCollections.SingletonEnumerable(abstractClassType), cancellationToken);

                if (unimplementedMembers != null && unimplementedMembers.Count >= 1)
                {
                    return(new State(node, classType, abstractClassType, unimplementedMembers));
                }
                else
                {
                    return(null);
                }
            }
            public static State Generate(
                AbstractImplementAbstractClassService service,
                Document document,
                SemanticModel model,
                SyntaxNode node,
                CancellationToken cancellationToken)
            {
                INamedTypeSymbol classType, abstractClassType;
                if (!service.TryInitializeState(document, model, node, cancellationToken,
                    out classType, out abstractClassType))
                {
                    return null;
                }

                if (!CodeGenerator.CanAdd(document.Project.Solution, classType, cancellationToken))
                {
                    return null;
                }

                if (classType.IsAbstract)
                {
                    return null;
                }

                var unimplementedMembers = classType.GetAllUnimplementedMembers(
                    SpecializedCollections.SingletonEnumerable(abstractClassType), cancellationToken);

                if (unimplementedMembers != null && unimplementedMembers.Count >= 1)
                {
                    return new State(node, classType, abstractClassType, unimplementedMembers);
                }
                else
                {
                    return null;
                }
            }