示例#1
0
        internal static bool IsChecked(IParameterSymbol parameter, SyntaxNode scope, SemanticModel semanticModel, CancellationToken cancellationToken)
        {
            if (parameter == null ||
                scope == null)
            {
                return(false);
            }

            using (var walker = NullCheckWalker.Borrow(scope))
            {
                return(walker.TryGetFirst(parameter, semanticModel, cancellationToken, out _));
            }
        }
示例#2
0
        internal static bool IsCheckedBefore(IParameterSymbol parameter, SyntaxNode scope, SemanticModel semanticModel, CancellationToken cancellationToken)
        {
            if (parameter == null ||
                scope == null)
            {
                return(false);
            }

            using (var walker = NullCheckWalker.Borrow(scope.FirstAncestorOrSelf <MemberDeclarationSyntax>()))
            {
                return(walker.TryGetFirst(parameter, semanticModel, cancellationToken, out var check) &&
                       check.IsBeforeInScope(scope) == Result.Yes);
            }
        }