public override SyntaxNode VisitSubNewStatement(SubNewStatementSyntax node)
            {
                if (node.Modifiers.Any(x => x.IsKind(SyntaxKind.SharedKeyword)))
                {
                    return(node);
                }

                return(EnsureVisibility(node, node.Modifiers, (x, l) => x.WithModifiers(l), () => SyntaxKind.PublicKeyword));
            }
        public override IMethodSymbol GetCallerMethodSymbol(SyntaxNode node, SemanticModel semanticModel)
        {
            if (node == null)
            {
                return(null);
            }

            MethodBlockSyntax declaration = node.AncestorsAndSelf().OfType <MethodBlockSyntax>().FirstOrDefault();

            if (declaration != null)
            {
                return(semanticModel.GetDeclaredSymbol(declaration));
            }

            SubNewStatementSyntax constructor = node.AncestorsAndSelf().OfType <SubNewStatementSyntax>().FirstOrDefault();

            if (constructor != null)
            {
                return(semanticModel.GetDeclaredSymbol(constructor));
            }

            return(null);
        }
 public override void VisitSubNewStatement(SubNewStatementSyntax node) =>
 TryAddPublicApi(node);