public StaticClassPropertyWithCodeAnalysis(
            ClassMemberVisibilityModifier visibility,
            ITypeReferenceWithCodeAnalysis type,
            string name,
            MethodBodyWithCodeAnalysis getAccessor,
            MethodBodyWithCodeAnalysis setAccessor)
            : this()
        {
            List <AccessorDeclarationSyntax> accessorSyntax = new List <AccessorDeclarationSyntax>();

            if (getAccessor != null)
            {
                accessorSyntax.Add(SyntaxFactory.AccessorDeclaration(SyntaxKind.GetKeyword, getAccessor.Syntax));
            }

            if (setAccessor != null)
            {
                accessorSyntax.Add(SyntaxFactory.AccessorDeclaration(SyntaxKind.SetKeyword, setAccessor.Syntax));
            }

            Syntax = SyntaxFactory.PropertyDeclaration(
                default(SyntaxList <AttributeListSyntax>),
                default(SyntaxTokenList).WithClassMemberVisibilityModifier(visibility),
                type.Syntax,
                null,
                SyntaxFactory.Identifier(name),
                SyntaxFactory.AccessorList(SyntaxFactory.List(accessorSyntax)));
        }
        public StructIndexerWithCodeAnalysis(
            StructMemberVisibilityModifier visibility,
            ITypeReferenceWithCodeAnalysis type,
            IEnumerable <IndexerParameterWithCodeAnalysis> parameters,
            MethodBodyWithCodeAnalysis getAccessor,
            MethodBodyWithCodeAnalysis setAccessor)
            : this()
        {
            var parameterSyntax = parameters.Select(parameter => parameter.Syntax);
            List <AccessorDeclarationSyntax> accessorSyntax = new List <AccessorDeclarationSyntax>();

            if (getAccessor != null)
            {
                accessorSyntax.Add(SyntaxFactory.AccessorDeclaration(SyntaxKind.GetKeyword, getAccessor.Syntax));
            }

            if (setAccessor != null)
            {
                accessorSyntax.Add(SyntaxFactory.AccessorDeclaration(SyntaxKind.SetKeyword, setAccessor.Syntax));
            }

            Syntax = SyntaxFactory.IndexerDeclaration(
                default(SyntaxList <AttributeListSyntax>),
                default(SyntaxTokenList).WithStructMemberVisibilityModifier(visibility),
                type.Syntax,
                null,
                SyntaxFactory.BracketedParameterList(SyntaxFactory.SeparatedList(parameterSyntax)),
                SyntaxFactory.AccessorList(SyntaxFactory.List(accessorSyntax)));
        }
Exemple #3
0
 public SealedClassPropertyWithCodeAnalysis(
     ClassMemberVisibilityModifier visibility,
     ITypeReferenceWithCodeAnalysis type,
     string name,
     MethodBodyWithCodeAnalysis getAccessor,
     MethodBodyWithCodeAnalysis setAccessor)
     : this(new ClassPropertyWithCodeAnalysis(visibility, type, name, getAccessor, setAccessor))
 {
 }
 public SealedClassIndexerWithCodeAnalysis(
     ClassMemberVisibilityModifier visibility,
     ITypeReferenceWithCodeAnalysis type,
     IEnumerable <IndexerParameterWithCodeAnalysis> parameters,
     MethodBodyWithCodeAnalysis getAccessor,
     MethodBodyWithCodeAnalysis setAccessor)
     : this(new ClassIndexerWithCodeAnalysis(visibility, type, parameters, getAccessor, setAccessor))
 {
 }
Exemple #5
0
 public AbstractClassPropertyWithCodeAnalysis(
     ClassMemberVisibilityModifier visibility,
     ITypeReferenceWithCodeAnalysis type,
     string name,
     MethodBodyWithCodeAnalysis getAccessor,
     MethodBodyWithCodeAnalysis setAccessor)
 {
     property = new ClassPropertyWithCodeAnalysis(visibility, type, name, getAccessor, setAccessor);
 }