public override ParameterValidationAbstractValue VisitIsNull(IIsNullOperation operation, object argument) { var value = base.VisitIsNull(operation, argument); // Mark a location as validated on paths where user has performed an IsNull check. // See comments in VisitBinaryOperatorCore override above for further details. MarkValidatedLocations(operation.Operand); return(value); }
public override DisposeAbstractValue VisitIsNull(IIsNullOperation operation, object argument) { var value = base.VisitIsNull(operation, argument); // Handle null-check for a disposable symbol on a control flow branch. // See comments in VisitBinaryOperatorCore override above for further details. if (FlowBranchConditionKind == ControlFlowConditionKind.WhenTrue) { HandlePossibleInvalidatingOperation(operation.Operand); } return(value); }
public override ParameterValidationAbstractValue VisitIsNull(IIsNullOperation operation, object argument) { var value = base.VisitIsNull(operation, argument); // Mark a location as validated on paths where we know it is non-null. // See comments in VisitBinaryOperatorCore override above for further details. if (FlowBranchConditionKind == ControlFlowConditionKind.WhenFalse) { MarkValidatedLocations(operation.Operand); } return(value); }
public override IOperation VisitIsNull(IIsNullOperation operation, object argument) { throw ExceptionUtilities.Unreachable; }
public virtual void VisitIsNull(IIsNullOperation operation) { DefaultVisit(operation); }
public override void VisitIsNull(IIsNullOperation operation) { Assert.Equal(OperationKind.IsNull, operation.Kind); Assert.True(operation.IsImplicit); Assert.Same(operation.Operand, operation.Children.Single()); }