mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-27 23:11:02 +00:00
Prepare TS flatbuffer support
This commit is contained in:
109
page/src/fb/debugger/debug-event.ts
Normal file
109
page/src/fb/debugger/debug-event.ts
Normal file
@@ -0,0 +1,109 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
|
||||
|
||||
import * as flatbuffers from 'flatbuffers';
|
||||
|
||||
import { Event, unionToEvent, unionListToEvent } from '../debugger/event.js';
|
||||
import { PauseEvent, PauseEventT } from '../debugger/pause-event.js';
|
||||
import { RunEvent, RunEventT } from '../debugger/run-event.js';
|
||||
|
||||
|
||||
export class DebugEvent implements flatbuffers.IUnpackableObject<DebugEventT> {
|
||||
bb: flatbuffers.ByteBuffer|null = null;
|
||||
bb_pos = 0;
|
||||
__init(i:number, bb:flatbuffers.ByteBuffer):DebugEvent {
|
||||
this.bb_pos = i;
|
||||
this.bb = bb;
|
||||
return this;
|
||||
}
|
||||
|
||||
static getRootAsDebugEvent(bb:flatbuffers.ByteBuffer, obj?:DebugEvent):DebugEvent {
|
||||
return (obj || new DebugEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
||||
}
|
||||
|
||||
static getSizePrefixedRootAsDebugEvent(bb:flatbuffers.ByteBuffer, obj?:DebugEvent):DebugEvent {
|
||||
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
|
||||
return (obj || new DebugEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
||||
}
|
||||
|
||||
eventType():Event {
|
||||
const offset = this.bb!.__offset(this.bb_pos, 4);
|
||||
return offset ? this.bb!.readUint8(this.bb_pos + offset) : Event.NONE;
|
||||
}
|
||||
|
||||
event<T extends flatbuffers.Table>(obj:any):any|null {
|
||||
const offset = this.bb!.__offset(this.bb_pos, 6);
|
||||
return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;
|
||||
}
|
||||
|
||||
static startDebugEvent(builder:flatbuffers.Builder) {
|
||||
builder.startObject(2);
|
||||
}
|
||||
|
||||
static addEventType(builder:flatbuffers.Builder, eventType:Event) {
|
||||
builder.addFieldInt8(0, eventType, Event.NONE);
|
||||
}
|
||||
|
||||
static addEvent(builder:flatbuffers.Builder, eventOffset:flatbuffers.Offset) {
|
||||
builder.addFieldOffset(1, eventOffset, 0);
|
||||
}
|
||||
|
||||
static endDebugEvent(builder:flatbuffers.Builder):flatbuffers.Offset {
|
||||
const offset = builder.endObject();
|
||||
return offset;
|
||||
}
|
||||
|
||||
static finishDebugEventBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {
|
||||
builder.finish(offset);
|
||||
}
|
||||
|
||||
static finishSizePrefixedDebugEventBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {
|
||||
builder.finish(offset, undefined, true);
|
||||
}
|
||||
|
||||
static createDebugEvent(builder:flatbuffers.Builder, eventType:Event, eventOffset:flatbuffers.Offset):flatbuffers.Offset {
|
||||
DebugEvent.startDebugEvent(builder);
|
||||
DebugEvent.addEventType(builder, eventType);
|
||||
DebugEvent.addEvent(builder, eventOffset);
|
||||
return DebugEvent.endDebugEvent(builder);
|
||||
}
|
||||
|
||||
unpack(): DebugEventT {
|
||||
return new DebugEventT(
|
||||
this.eventType(),
|
||||
(() => {
|
||||
const temp = unionToEvent(this.eventType(), this.event.bind(this));
|
||||
if(temp === null) { return null; }
|
||||
return temp.unpack()
|
||||
})()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
unpackTo(_o: DebugEventT): void {
|
||||
_o.eventType = this.eventType();
|
||||
_o.event = (() => {
|
||||
const temp = unionToEvent(this.eventType(), this.event.bind(this));
|
||||
if(temp === null) { return null; }
|
||||
return temp.unpack()
|
||||
})();
|
||||
}
|
||||
}
|
||||
|
||||
export class DebugEventT implements flatbuffers.IGeneratedObject {
|
||||
constructor(
|
||||
public eventType: Event = Event.NONE,
|
||||
public event: PauseEventT|RunEventT|null = null
|
||||
){}
|
||||
|
||||
|
||||
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
|
||||
const event = builder.createObjectOffset(this.event);
|
||||
|
||||
return DebugEvent.createDebugEvent(builder,
|
||||
this.eventType,
|
||||
event
|
||||
);
|
||||
}
|
||||
}
|
||||
38
page/src/fb/debugger/event.ts
Normal file
38
page/src/fb/debugger/event.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
|
||||
|
||||
import { PauseEvent, PauseEventT } from '../debugger/pause-event.js';
|
||||
import { RunEvent, RunEventT } from '../debugger/run-event.js';
|
||||
|
||||
|
||||
export enum Event {
|
||||
NONE = 0,
|
||||
PauseEvent = 1,
|
||||
RunEvent = 2
|
||||
}
|
||||
|
||||
export function unionToEvent(
|
||||
type: Event,
|
||||
accessor: (obj:PauseEvent|RunEvent) => PauseEvent|RunEvent|null
|
||||
): PauseEvent|RunEvent|null {
|
||||
switch(Event[type]) {
|
||||
case 'NONE': return null;
|
||||
case 'PauseEvent': return accessor(new PauseEvent())! as PauseEvent;
|
||||
case 'RunEvent': return accessor(new RunEvent())! as RunEvent;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function unionListToEvent(
|
||||
type: Event,
|
||||
accessor: (index: number, obj:PauseEvent|RunEvent) => PauseEvent|RunEvent|null,
|
||||
index: number
|
||||
): PauseEvent|RunEvent|null {
|
||||
switch(Event[type]) {
|
||||
case 'NONE': return null;
|
||||
case 'PauseEvent': return accessor(index, new PauseEvent())! as PauseEvent;
|
||||
case 'RunEvent': return accessor(index, new RunEvent())! as RunEvent;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
56
page/src/fb/debugger/pause-event.ts
Normal file
56
page/src/fb/debugger/pause-event.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
|
||||
|
||||
import * as flatbuffers from 'flatbuffers';
|
||||
|
||||
|
||||
|
||||
export class PauseEvent implements flatbuffers.IUnpackableObject<PauseEventT> {
|
||||
bb: flatbuffers.ByteBuffer|null = null;
|
||||
bb_pos = 0;
|
||||
__init(i:number, bb:flatbuffers.ByteBuffer):PauseEvent {
|
||||
this.bb_pos = i;
|
||||
this.bb = bb;
|
||||
return this;
|
||||
}
|
||||
|
||||
static getRootAsPauseEvent(bb:flatbuffers.ByteBuffer, obj?:PauseEvent):PauseEvent {
|
||||
return (obj || new PauseEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
||||
}
|
||||
|
||||
static getSizePrefixedRootAsPauseEvent(bb:flatbuffers.ByteBuffer, obj?:PauseEvent):PauseEvent {
|
||||
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
|
||||
return (obj || new PauseEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
||||
}
|
||||
|
||||
static startPauseEvent(builder:flatbuffers.Builder) {
|
||||
builder.startObject(0);
|
||||
}
|
||||
|
||||
static endPauseEvent(builder:flatbuffers.Builder):flatbuffers.Offset {
|
||||
const offset = builder.endObject();
|
||||
return offset;
|
||||
}
|
||||
|
||||
static createPauseEvent(builder:flatbuffers.Builder):flatbuffers.Offset {
|
||||
PauseEvent.startPauseEvent(builder);
|
||||
return PauseEvent.endPauseEvent(builder);
|
||||
}
|
||||
|
||||
unpack(): PauseEventT {
|
||||
return new PauseEventT();
|
||||
}
|
||||
|
||||
|
||||
unpackTo(_o: PauseEventT): void {}
|
||||
}
|
||||
|
||||
export class PauseEventT implements flatbuffers.IGeneratedObject {
|
||||
constructor(){}
|
||||
|
||||
|
||||
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
|
||||
return PauseEvent.createPauseEvent(builder);
|
||||
}
|
||||
}
|
||||
85
page/src/fb/debugger/run-event.ts
Normal file
85
page/src/fb/debugger/run-event.ts
Normal file
@@ -0,0 +1,85 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
|
||||
|
||||
import * as flatbuffers from 'flatbuffers';
|
||||
|
||||
|
||||
|
||||
export class RunEvent implements flatbuffers.IUnpackableObject<RunEventT> {
|
||||
bb: flatbuffers.ByteBuffer|null = null;
|
||||
bb_pos = 0;
|
||||
__init(i:number, bb:flatbuffers.ByteBuffer):RunEvent {
|
||||
this.bb_pos = i;
|
||||
this.bb = bb;
|
||||
return this;
|
||||
}
|
||||
|
||||
static getRootAsRunEvent(bb:flatbuffers.ByteBuffer, obj?:RunEvent):RunEvent {
|
||||
return (obj || new RunEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
||||
}
|
||||
|
||||
static getSizePrefixedRootAsRunEvent(bb:flatbuffers.ByteBuffer, obj?:RunEvent):RunEvent {
|
||||
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
|
||||
return (obj || new RunEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
||||
}
|
||||
|
||||
singleStep():boolean {
|
||||
const offset = this.bb!.__offset(this.bb_pos, 4);
|
||||
return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;
|
||||
}
|
||||
|
||||
mutate_single_step(value:boolean):boolean {
|
||||
const offset = this.bb!.__offset(this.bb_pos, 4);
|
||||
|
||||
if (offset === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this.bb!.writeInt8(this.bb_pos + offset, +value);
|
||||
return true;
|
||||
}
|
||||
|
||||
static startRunEvent(builder:flatbuffers.Builder) {
|
||||
builder.startObject(1);
|
||||
}
|
||||
|
||||
static addSingleStep(builder:flatbuffers.Builder, singleStep:boolean) {
|
||||
builder.addFieldInt8(0, +singleStep, +false);
|
||||
}
|
||||
|
||||
static endRunEvent(builder:flatbuffers.Builder):flatbuffers.Offset {
|
||||
const offset = builder.endObject();
|
||||
return offset;
|
||||
}
|
||||
|
||||
static createRunEvent(builder:flatbuffers.Builder, singleStep:boolean):flatbuffers.Offset {
|
||||
RunEvent.startRunEvent(builder);
|
||||
RunEvent.addSingleStep(builder, singleStep);
|
||||
return RunEvent.endRunEvent(builder);
|
||||
}
|
||||
|
||||
unpack(): RunEventT {
|
||||
return new RunEventT(
|
||||
this.singleStep()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
unpackTo(_o: RunEventT): void {
|
||||
_o.singleStep = this.singleStep();
|
||||
}
|
||||
}
|
||||
|
||||
export class RunEventT implements flatbuffers.IGeneratedObject {
|
||||
constructor(
|
||||
public singleStep: boolean = false
|
||||
){}
|
||||
|
||||
|
||||
pack(builder:flatbuffers.Builder): flatbuffers.Offset {
|
||||
return RunEvent.createRunEvent(builder,
|
||||
this.singleStep
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user