Sign in Join
FPDoc Onlineexperiment

TFPAddOperation class

In unit fpExprPars

Internally used class for addition operations

Declaration

pascal
TFPAddOperation = class(TMathOperation)

Inheritance

  1. TFPAddOperation
  2. TMathOperation
  3. TFPBinaryOperation
  4. TFPExprNode
  5. TObject

Description

The TFPAddOperation class implements the addition operation between two numeric operands. It extends the binary operation framework to provide addition-specific functionality for integers, floats, and currency values.

The operation handles type conversion automatically when operands have different numeric types, promoting the result to the more precise type as needed. For example, adding an integer to a float produces a float result.

The addition operation also supports string concatenation when both operands are strings, providing unified handling for both numeric addition and string concatenation under the same operator.

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 addition operation

Inherited

From TMathOperation (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.