protected override bool IsValidContext(int position, CSharpSyntaxContext context, CancellationToken cancellationToken)
 {
     return
         context.IsGlobalStatementContext ||
         context.IsMemberDeclarationContext(
             validModifiers: s_validMemberModifiers,
             validTypeDeclarations: SyntaxKindSet.ClassOnlyTypeDeclarations,
             canBePartial: false,
             cancellationToken: cancellationToken) ||
         context.IsTypeDeclarationContext(
             validModifiers: s_validTypeModifiers,
             validTypeDeclarations: SyntaxKindSet.ClassStructTypeDeclarations,
             canBePartial: false,
             cancellationToken: cancellationToken);
 }
 protected override bool IsValidContext(int position, CSharpSyntaxContext context, CancellationToken cancellationToken)
 {
     return
         (context.IsGlobalStatementContext ||
          context.IsMemberDeclarationContext(
              validModifiers: s_validMemberModifiers,
              validTypeDeclarations: SyntaxKindSet.ClassOnlyTypeDeclarations,
              canBePartial: false,
              cancellationToken: cancellationToken) ||
          context.IsTypeDeclarationContext(
              validModifiers: s_validTypeModifiers,
              validTypeDeclarations: SyntaxKindSet.ClassStructTypeDeclarations,
              canBePartial: false,
              cancellationToken: cancellationToken));
 }
        private static bool IsValidContextForType(CSharpSyntaxContext context, CancellationToken cancellationToken)
        {
            if (context.IsTypeDeclarationContext(validModifiers: SyntaxKindSet.AllTypeModifiers, validTypeDeclarations: SyntaxKindSet.ClassInterfaceStructRecordTypeDeclarations, canBePartial: false, cancellationToken: cancellationToken))
            {
                // private things can't be in namespaces.
                var typeDecl = context.ContainingTypeDeclaration;
                if (typeDecl == null)
                {
                    return(false);
                }

                return(CheckPreviousAccessibilityModifiers(context));
            }

            return(false);
        }
예제 #4
0
        protected override bool IsValidContext(int position, CSharpSyntaxContext context, CancellationToken cancellationToken)
        {
            var syntaxTree = context.SyntaxTree;

            return
                (context.IsStatementContext ||
                 context.IsGlobalStatementContext ||
                 context.IsTypeDeclarationContext(validModifiers: s_validTypeModifiers, validTypeDeclarations: SyntaxKindSet.ClassInterfaceStructRecordTypeDeclarations, canBePartial: false, cancellationToken: cancellationToken) ||
                 syntaxTree.IsGlobalMemberDeclarationContext(position, s_validGlobalMemberModifiers, cancellationToken) ||
                 context.IsMemberDeclarationContext(
                     validModifiers: s_validMemberModifiers,
                     validTypeDeclarations: SyntaxKindSet.ClassInterfaceStructRecordTypeDeclarations,
                     canBePartial: false,
                     cancellationToken: cancellationToken) ||
                 syntaxTree.IsLocalFunctionDeclarationContext(position, s_validLocalFunctionModifiers, cancellationToken));
        }
예제 #5
0
        protected override bool IsValidContext(
            int position,
            CSharpSyntaxContext context,
            CancellationToken cancellationToken
            )
        {
            var syntaxTree = context.SyntaxTree;

            return(context.IsGlobalStatementContext ||
                   context.IsTypeDeclarationContext(
                       validModifiers: s_validModifiers,
                       validTypeDeclarations: SyntaxKindSet.ClassInterfaceStructRecordTypeDeclarations,
                       canBePartial: true,
                       cancellationToken: cancellationToken
                       ) ||
                   syntaxTree.IsTypeParameterConstraintStartContext(position, context.LeftToken));
        }
예제 #6
0
 private static bool IsValidContextForType(CSharpSyntaxContext context, CancellationToken cancellationToken)
 {
     return(context.IsTypeDeclarationContext(validModifiers: SyntaxKindSet.AllTypeModifiers,
                                             validTypeDeclarations: SyntaxKindSet.ClassInterfaceStructRecordTypeDeclarations, canBePartial: true, cancellationToken));
 }
예제 #7
0
 protected override bool IsValidContext(int position, CSharpSyntaxContext context, CancellationToken cancellationToken)
 {
     return(context.ContainingTypeDeclaration == null &&
            context.IsTypeDeclarationContext(s_validModifiers, SyntaxKindSet.AllTypeDeclarations, canBePartial: true, cancellationToken));
 }