NormalOperationOrLetter class Null safety

A NormalOperation that doubles as a letter (A-F) on the 15C, as the argument to LBL, GTO or GSB. The letters on the 16C are unshifted, so this doesn't come up there.

Inheritance

Constructors

NormalOperationOrLetter(NormalOperation op, LetterLabel letter)
NormalOperationOrLetter.floatOnly({void pressed(ActiveState)?, StackLift? stackLift, required void floatCalc(Model<ProgramOperation>), void complexCalc(Model<ProgramOperation>)?, required String name, required LetterLabel letter})

Properties

arg Arg
A description of this arguments operation, or ArgDone if there is none. For example, the STO operation has an argument to indicate which register to store to.
read-onlyinherited
argShift ProgramOperation?
If used as an argument, the shift key needed for that argument. Rare: sto g and rcl g do this.
read-onlyinherited
complexCalc → (void Function(Model<ProgramOperation> m)?)
The calculation performed when the calculator is in complex mode.
finalinherited
debugLogId int
latefinalinherited
endsDigitEntry bool
finalinherited
floatCalc → (void Function(Model<ProgramOperation> m)?)
The calculation performed when the calculator is in floating-point mode.
finalinherited
hashCode int
The hash code for this object.
read-onlyinherited
intCalc → (void Function(Model<ProgramOperation> m)?)
The calculation performed when the calculator is in integer mode.
finalinherited
isShift bool
Is this the f or g shift key?
read-onlyinherited
maxOneByteOpcodes int
finalinherited
name String
Human-readable name for program listing
finalinherited
numericValue int
Give the numeric value of a number key, or one of the 15C's letters (which are 20..24). cf. tests.dart, SelfTests.testNumbers().
final
opcode int
latefinalinherited
programDisplay String
latefinalinherited
programListing String
latefinalinherited
programListingArgName String
Name for this key as an arg in the program listing, if other than the default.
final
rcName String
The row/column "name", which for digits looks like " 1".
latefinalinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

Methods

beforeCalculate(Resting resting) → void
inherited
calcDisabled(Controller controller) bool
By default, operations, if present, work for all kinds of controllers, but cf. BranchingOperation
inherited
getCalculation<T extends ProgramOperation>(Model<ProgramOperation> m, DisplayModeSelector<(void Function(Model<ProgramOperation>)?), T> selector) → (void Function(Model<ProgramOperation>)?)
inherited
handleOpBeforeCalculate(Model<ProgramOperation> m, void opBeforeCalculate()) → void
Execute the beforeCalculate function of the operation. Normally it just executes, but some 15C operations can be deferred; this method can be overridden to do that.
inherited
init(int registerBase, {required OpInitFunction f, required ProgramOperation? shift, required bool argDot, required ProgramOperation? arg, required bool userMode}) → void
inherited
liftStackIfEnabled(Model<ProgramOperation> m) bool
inherited
makeInputState(Arg arg, Controller c, LimitedState fromState) ControllerState
inherited
matches(ProgramOperation key, bool userMode) Arg?
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.
inherited
toString() String
A string representation of this object.
inherited

Operators

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