TFPBinaryOperation class
Internally used class for binary operations with left and right operands
Declaration
TFPBinaryOperation = class(TFPExprNode)Inheritance
- TFPBinaryOperation
- TFPExprNode
- TObject
Descends from it: TFPBooleanOperation TFPBooleanResultOperation TIfOperation TMathOperation
Description
This TFPBinaryOperation is the base class for all binary operations in the expression parser.
Binary operations take two operands (left and right) and perform some operation to produce a result.
It extends TFPExprNode to provide the foundation for all two-operand operations.
The class manages the operand nodes and provides common functionality such as aggregate handling, validation, and resource management that is shared by all binary operations.
Derived classes implement specific operations such as arithmetic operations (+, -, *, /), comparison operations (=, <, >), and logical operations (and, or, xor). Each operation defines its own evaluation logic while leveraging the common binary operation infrastructure.
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
Properties
left | public | Left operand of the binary operation |
Right | public | Right operand of the binary operation |
Methods
CheckSameNodeTypes | protected | |
Create | public | Create binary operation with left and right operands |
Destroy | public | Destroy binary operation and free resources |
InitAggregate | public | Initialize aggregate processing for binary operation |
UpdateAggregate | public | Update aggregate calculations for binary operation |
HasAggregate | public | Check if binary operation contains aggregates |
Check | public | Validate the binary operation for correctness |
Inherited
From TFPExprNode (6)
AsString CheckNodeType GetNodeValue IsAggregate NodeType 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.
