private bool ActivateButtonIfStillColliding() { bool stillStuck = activeCollisions > 0; if (stillStuck) { LabelMarker m = timeline.LabelMarkerTimes()["HelpAvailable"]; timeline.Seek(m); Debug.Log($"{this}: reactivating button"); ActivateButtonTimeout(); } return(stillStuck); }
public void lineNumber(int line, LabelMarker label) { checkCreated(); lineNumbers.add(new LineNumberInfo(line, label.Label)); }
public void markLabel(LabelMarker label) { checkCreated(); instructions.add(label); }
public void exceptionHandler(LabelMarker from, LabelMarker to, LabelMarker target, TypeInfo type) { exceptionTable.add(new ExceptionHandler(from.Label, to.Label, target.Label, type)); }
public void emit(Opcode opcode, int minimumKey, int maximumKey, LabelMarker[] labels, LabelMarker defaultLabel) { checkCreated(); if (opcode != Opcode.Tableswitch) { throw new IllegalStateException("Illegal opcode usage: " + opcode); } instructions.add(new TableSwitchInstruction(minimumKey, maximumKey, labels, defaultLabel)); }
public void emit(Opcode opcode, int[] keys, LabelMarker[] labels, LabelMarker defaultLabel) { checkCreated(); if (opcode != Opcode.Lookupswitch) { throw new IllegalStateException("Illegal opcode usage: " + opcode); } instructions.add(new LookupSwitchInstruction(keys, labels, defaultLabel)); }
: super(Opcode.Tableswitch) { this.minimumKey = minimumKey; this.maximumKey = maximumKey; this.labels = labels; this.defaultLabel = defaultLabel; }
public void emit(Opcode opcode, LabelMarker label) { if (label == null) { throw new NullPointerException("label"); } checkCreated(); switch (opcode) { case Goto: case If_acmpeq: case If_acmpne: case If_icmpeq: case If_icmpge: case If_icmpgt: case If_icmple: case If_icmplt: case If_icmpne: case Ifeq: case Ifge: case Ifgt: case Ifle: case Iflt: case Ifne: case Ifnonnull: case Ifnull: case Jsr: instructions.add(new JumpInstruction(opcode, label)); break; default: throw new IllegalStateException("Illegal opcode usage: " + opcode); } }
TableSwitchInstruction(int minimumKey, int maximumKey, LabelMarker[] labels, LabelMarker defaultLabel) : super(Opcode.Tableswitch) {
: super(Opcode.Lookupswitch) { this.keys = keys; this.labels = labels; this.defaultLabel = defaultLabel; }
LookupSwitchInstruction(int[] keys, LabelMarker[] labels, LabelMarker defaultLabel) : super(Opcode.Lookupswitch) {
: super(opcode) { this.labelMarker = labelMarker; }
JumpInstruction(Opcode opcode, LabelMarker labelMarker) : super(opcode) {