NormalOperation class Null safety

A "normal" calculator operation. Generally, they perform some kind of calculation, or otherwise manipulate the model.

Inheritance
Implementers

Constructors

NormalOperation({void pressed(ActiveState)?, StackLift? stackLift, required void calc(Model<ProgramOperation> m)?, required String name})
NormalOperation.differentFloatAndInt({void pressed(ActiveState)?, StackLift? stackLift, required void floatCalc(Model<ProgramOperation>), required void intCalc(Model<ProgramOperation>), required String name})
NormalOperation.floatOnly({void pressed(ActiveState)?, StackLift? stackLift, required void floatCalc(Model<ProgramOperation>), required String name})
NormalOperation.intOnly({void pressed(ActiveState)?, StackLift? stackLift, required void intCalc(Model<ProgramOperation>), required String name})

Properties

arg OperationArg?
A description of an argument, if there is one. For example, the STO operation has an argument to indicate which register to store to.
read-only, override
floatCalc → (void Function?(Model<ProgramOperation> m)?)
The calculation performed when the calculator is in floating-point mode.
final
hashCode int
The hash code for this object. [...]
read-only, inherited
intCalc → (void Function?(Model<ProgramOperation> m)?)
The calculation performed when the calculator is in integer mode.
final
maxArg int
0 if this operation doesn't take an argument
read-only, inherited
name String
final, inherited
numericValue int?
Give the numeric value of a number key. cf. tests.dart, SelfTests.testNumbers().
read-only, inherited
programDisplay String
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

calcDefinedFor<T>(Controller controller, T? calc) → T?
By default, operations, if present, work for all kinds of controllers, but cf. BranchingOperation
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
possiblyAlterStackLift(Controller c) → void
Either enable or disable stack lift, if appropriate, after this operation's calculation is done. This will not be called if this operation doesn't have a calculation (intCalc or floatCalc on itself, or on its argument).
inherited
pressed(LimitedState arg) → void
What to do when the key is pressed.
override
toString() String
A string representation of this object. [...]
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
inherited