Sign in Join
FPDoc Onlineexperiment

TFPBooleanOperation class

In unit fpExprPars

Internally used class for boolean operations in expressions

Declaration

pascal
TFPBooleanOperation = class(TFPBinaryOperation)

Inheritance

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

Descends from it: TFPBinaryAndOperation TFPBinaryOrOperation TFPBinaryXOrOperation

Description

TFPBooleanOperation is the base class for binary operations that work with boolean operands and produce boolean results. It extends TFPBinaryOperation to provide boolean-specific functionality and validation.

The class ensures that both operands are boolean expressions and provides the framework for logical operations such as AND, OR, and XOR. It handles type validation to ensure that only boolean values participate in logical operations.

Derived classes implement specific boolean operations while leveraging the common boolean operation infrastructure for validation and type management.

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

CheckpublicValidate the boolean operation for correctness
NodeTypepublicGet the result type for boolean operations

Inherited

From TFPBinaryOperation (8)

CheckSameNodeTypes Create Destroy HasAggregate InitAggregate left Right UpdateAggregate

From TFPExprNode (5)

AsString CheckNodeType GetNodeValue 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.