internal StaticPartialClassMethodCollectionWithCodeAnalysis( InternalStaticTypeWithCodeAnalysis <StaticPartialClassWithCodeAnalysis> classType) { this.classType = classType; methods = new ClassMemberListWrapper <StaticPartialClassWithCodeAnalysis, StaticPartialClassMethodWithCodeAnalysis, MethodDeclarationSyntax>( classType.InternalNode, () => new StaticPartialClassMethodWithCodeAnalysis(new StaticClassMethodWithCodeAnalysis()), syntax => !syntax.IsPartial()); partialMethodDefinitions = new ClassMemberListWrapper <StaticPartialClassWithCodeAnalysis, PartialMethodDefinitionWithCodeAnalysis, MethodDeclarationSyntax>( classType.InternalNode, () => new PartialMethodDefinitionWithCodeAnalysis(), syntax => syntax.IsPartial() && syntax.Body == null); partialMethodImplementations = new ClassMemberListWrapper <StaticPartialClassWithCodeAnalysis, PartialMethodImplementationWithCodeAnalysis, MethodDeclarationSyntax>( classType.InternalNode, () => new PartialMethodImplementationWithCodeAnalysis(), syntax => syntax.IsPartial() && syntax.Body != null); }
internal static NestedStaticClassNestedPartialClassCollectionWithCodeAnalysis Create <TStaticClass>( InternalNestedStaticClassWithCodeAnalysis <TStaticClass> classType) where TStaticClass : class, IHasNode <ClassDeclarationSyntax> { var classes = new ClassMemberListWrapper <TStaticClass, NestedStaticClassNestedPartialClassWithCodeAnalysis, ClassDeclarationSyntax>( classType.InternalNode, () => new NestedStaticClassNestedPartialClassWithCodeAnalysis(), ClassDeclarationSyntaxExtensions.IsPartialClass); var abstractClasses = new ClassMemberListWrapper <TStaticClass, NestedStaticClassNestedAbstractPartialClassWithCodeAnalysis, ClassDeclarationSyntax>( classType.InternalNode, () => new NestedStaticClassNestedAbstractPartialClassWithCodeAnalysis(), ClassDeclarationSyntaxExtensions.IsAbstractPartialClass); var sealedClasses = new ClassMemberListWrapper <TStaticClass, NestedStaticClassNestedSealedPartialClassWithCodeAnalysis, ClassDeclarationSyntax>( classType.InternalNode, () => new NestedStaticClassNestedSealedPartialClassWithCodeAnalysis(), ClassDeclarationSyntaxExtensions.IsSealedPartialClass); var staticClasses = new ClassMemberListWrapper <TStaticClass, NestedStaticClassNestedStaticPartialClassWithCodeAnalysis, ClassDeclarationSyntax>( classType.InternalNode, () => new NestedStaticClassNestedStaticPartialClassWithCodeAnalysis(), ClassDeclarationSyntaxExtensions.IsStaticPartialClass); return(new NestedStaticClassNestedPartialClassCollectionWithCodeAnalysis(classType.Members, abstractClasses, classes, sealedClasses, staticClasses)); }