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 _)); } }
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); } }