Sign in Join
FPDoc Onlineexperiment

TFPBinaryOrOperation class

In unit fpExprPars

Internally used class for binary OR logical operation

Declaration

pascal
TFPBinaryOrOperation = class(TFPBooleanOperation)

Inheritance

  1. TFPBinaryOrOperation
  2. TFPBooleanOperation
  3. TFPBinaryOperation
  4. TFPExprNode
  5. TObject

Description

The TFPBinaryOrOperation class implements the logical OR operation between two boolean operands. It extends TFPBooleanOperation to provide OR-specific functionality that evaluates to True when at least one operand is True.

The operation uses short-circuit evaluation, meaning that if the left operand is True, the right operand is not evaluated since the result is already determined to be True. This optimization improves performance in expressions where the first condition is likely to be true.

The result is always a boolean value, following standard logical OR truth table rules where only False OR False produces False.

This class is used internally by the TFPExpressionParser class to construct an AST (Abstract Syntax Tree). There is normally no need for you to use or instantiate this class directly.

See also

Methods

GetNodeValueprotected
AsStringpublicGet string representation of OR operation

Inherited

From TFPBooleanOperation (2)

Check NodeType

From TFPBinaryOperation (8)

CheckSameNodeTypes Create Destroy HasAggregate InitAggregate left Right UpdateAggregate

From TFPExprNode (3)

CheckNodeType IsAggregate NodeValue

From TObject (40)

AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.