BranchingOperation class Null safety

A program branching operation. These operations only function when running a program. They represent a condition. If that condition is true, the next instruction executes normally; otherwise, it is skipped.

Inheritance

Constructors

BranchingOperation({required String name, required void calc(Model<ProgramOperation>)})

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().
read-onlyinherited
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.
read-onlyinherited
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
Branching operations only perform a calculation when we are running a program.
override
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