/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { // Skip <see cref="AnyValue" />. The type is super-type of <see cref="AnyScalarValue" />, // but it is concrete type and its visit method can contain code that is solving the same // problem as the previous visit methods. In this case, use additional method with shared code. VisitValue(value); }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { result = Comparison.AbstractCompare(OutSet, operation); if (result != null) { // Ommitted warning message that object cannot be converted to integer return; } result = ArithmeticOperation.AbstractFloatArithmetic(Snapshot, operation); if (result != null) { // Ommitted warning message that object cannot be converted to integer // Ommitted error report that array is unsupported operand in arithmetic operation return; } result = LogicalOperation.AbstractLogical(OutSet, operation); if (result != null) { return; } result = BitwiseOperation.Bitwise(OutSet, operation); if (result != null) { // Ommitted warning message that object cannot be converted to integer return; } base.VisitAnyScalarValue(value); }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { switch (operation) { case Operations.Identical: result = OutSet.CreateBool(false); break; case Operations.NotIdentical: result = OutSet.CreateBool(true); break; default: result = LogicalOperation.AbstractLogical(OutSet, operation, TypeConversion.ToBoolean(leftOperand)); if (result != null) { break; } result = BitwiseOperation.Bitwise(OutSet, operation); if (result != null) { SetWarning("Object cannot be converted to integer by bitwise operation", AnalysisWarningCause.OBJECT_CONVERTED_TO_INTEGER); break; } base.VisitAnyScalarValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { switch (operation) { case Operations.Identical: result = OutSet.CreateBool(false); break; case Operations.NotIdentical: result = OutSet.CreateBool(true); break; default: result = LogicalOperation.AbstractLogical(OutSet, operation); if (result != null) { break; } result = BitwiseOperation.Bitwise(OutSet, operation); if (result != null) { break; } base.VisitAnyScalarValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { isConcrete = false; integerIndex = null; stringIndex = null; isCompoundValue = false; }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { result = BitwiseOperation.Bitwise(OutSet, operation); if (result != null) { return; } base.VisitAnyScalarValue(value); }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { result = ArithmeticOperation.AbstractFloatArithmetic(Snapshot, operation); if (result != null) { return; } base.VisitAnyScalarValue(value); }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { result = LogicalOperation.AbstractLogical(OutSet, operation); if (result != null) { return; } base.VisitAnyScalarValue(value); }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { result = LogicalOperation.AbstractLogical(OutSet, operation, TypeConversion.ToBoolean(leftOperand.Value)); if (result != null) { return; } base.VisitAnyScalarValue(value); }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { switch (operation) { case Operations.BitAnd: case Operations.ShiftLeft: case Operations.ShiftRight: result = OutSet.CreateInt(0); break; default: if (PerformCommonAnyOperandOperations()) { break; } base.VisitAnyScalarValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { result = Comparison.RightAbstractBooleanCompare(OutSet, operation, leftOperand.Value); if (result != null) { return; } result = LogicalOperation.AbstractLogical(OutSet, operation, leftOperand.Value); if (result != null) { return; } result = BitwiseOperation.Bitwise(OutSet, operation); if (result != null) { return; } base.VisitAnyScalarValue(value); }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { switch (operation) { case Operations.Int32Cast: result = OutSet.AnyIntegerValue; break; case Operations.FloatCast: case Operations.DoubleCast: result = OutSet.AnyFloatValue; break; default: if (PerformUsualOperation(value)) { // AnyValue has its own implementation, thou must be skipped break; } base.VisitAnyScalarValue(value); break; } }
/// <inheritdoc /> public override void VisitAnyScalarValue(AnyScalarValue value) { result = null; }