in impl/src/compiler/mir_ops.ts [692:810]
static jparse(jobj: any & { tag: string }): MIROp {
switch (jobj.tag) {
case MIROpTag.MIRNop:
return MIRNop.jparse(jobj);
case MIROpTag.MIRDeadFlow:
return MIRDeadFlow.jparse(jobj);
case MIROpTag.MIRAbort:
return MIRAbort.jparse(jobj);
case MIROpTag.MIRAssertCheck:
return MIRAssertCheck.jparse(jobj);
case MIROpTag.MIRDebug:
return MIRDebug.jparse(jobj);
case MIROpTag.MIRLoadUnintVariableValue:
return MIRLoadUnintVariableValue.jparse(jobj);
case MIROpTag.MIRDeclareGuardFlagLocation:
return MIRDeclareGuardFlagLocation.jparse(jobj);
case MIROpTag.MIRSetConstantGuardFlag:
return MIRSetConstantGuardFlag.jparse(jobj);
case MIROpTag.MIRConvertValue:
return MIRConvertValue.jparse(jobj);
case MIROpTag.MIRInject:
return MIRInject.jparse(jobj);
case MIROpTag.MIRGuardedOptionInject:
return MIRGuardedOptionInject.jparse(jobj);
case MIROpTag.MIRExtract:
return MIRExtract.jparse(jobj);
case MIROpTag.MIRLoadConst:
return MIRLoadConst.jparse(jobj);
case MIROpTag.MIRTupleHasIndex:
return MIRTupleHasIndex.jparse(jobj);
case MIROpTag.MIRRecordHasProperty:
return MIRRecordHasProperty.jparse(jobj);
case MIROpTag.MIRLoadTupleIndex:
return MIRLoadTupleIndex.jparse(jobj);
case MIROpTag.MIRLoadTupleIndexSetGuard:
return MIRLoadTupleIndexSetGuard.jparse(jobj);
case MIROpTag.MIRLoadRecordProperty:
return MIRLoadRecordProperty.jparse(jobj);
case MIROpTag.MIRLoadRecordPropertySetGuard:
return MIRLoadRecordPropertySetGuard.jparse(jobj);
case MIROpTag.MIRLoadField:
return MIRLoadField.jparse(jobj);
case MIROpTag.MIRTupleProjectToEphemeral:
return MIRTupleProjectToEphemeral.jparse(jobj);
case MIROpTag.MIRRecordProjectToEphemeral:
return MIRRecordProjectToEphemeral.jparse(jobj);
case MIROpTag.MIREntityProjectToEphemeral:
return MIREntityProjectToEphemeral.jparse(jobj);
case MIROpTag.MIRTupleUpdate:
return MIRTupleUpdate.jparse(jobj);
case MIROpTag.MIRRecordUpdate:
return MIRRecordUpdate.jparse(jobj);
case MIROpTag.MIREntityUpdate:
return MIREntityUpdate.jparse(jobj);
case MIROpTag.MIRLoadFromEpehmeralList:
return MIRLoadFromEpehmeralList.jparse(jobj);
case MIROpTag.MIRMultiLoadFromEpehmeralList:
return MIRMultiLoadFromEpehmeralList.jparse(jobj);
case MIROpTag.MIRSliceEpehmeralList:
return MIRSliceEpehmeralList.jparse(jobj);
case MIROpTag.MIRInvokeFixedFunction:
return MIRInvokeFixedFunction.jparse(jobj);
case MIROpTag.MIRInvokeVirtualFunction:
return MIRInvokeVirtualFunction.jparse(jobj);
case MIROpTag.MIRInvokeVirtualOperator:
return MIRInvokeVirtualOperator.jparse(jobj);
case MIROpTag.MIRConstructorTuple:
return MIRConstructorTuple.jparse(jobj);
case MIROpTag.MIRConstructorTupleFromEphemeralList:
return MIRConstructorTupleFromEphemeralList.jparse(jobj);
case MIROpTag.MIRConstructorRecord:
return MIRConstructorRecord.jparse(jobj);
case MIROpTag.MIRConstructorRecordFromEphemeralList:
return MIRConstructorRecordFromEphemeralList.jparse(jobj);
case MIROpTag.MIRStructuredAppendTuple:
return MIRStructuredAppendTuple.jparse(jobj);
case MIROpTag.MIRStructuredJoinRecord:
return MIRStructuredJoinRecord.jparse(jobj);
case MIROpTag.MIRConstructorEphemeralList:
return MIRConstructorEphemeralList.jparse(jobj);
case MIROpTag.MIREphemeralListExtend:
return MIREphemeralListExtend.jparse(jobj);
case MIROpTag.MIRConstructorPrimaryCollectionEmpty:
return MIRConstructorPrimaryCollectionEmpty.jparse(jobj);
case MIROpTag.MIRConstructorPrimaryCollectionSingletons:
return MIRConstructorPrimaryCollectionSingletons.jparse(jobj);
case MIROpTag.MIRConstructorPrimaryCollectionCopies:
return MIRConstructorPrimaryCollectionCopies.jparse(jobj);
case MIROpTag.MIRConstructorPrimaryCollectionMixed:
return MIRConstructorPrimaryCollectionMixed.jparse(jobj);
case MIROpTag.MIRBinKeyEq:
return MIRBinKeyEq.jparse(jobj);
case MIROpTag.MIRBinKeyLess:
return MIRBinKeyLess.jparse(jobj);
case MIROpTag.MIRPrefixNotOp:
return MIRPrefixNotOp.jparse(jobj);
case MIROpTag.MIRIsTypeOf:
return MIRIsTypeOf.jparse(jobj);
case MIROpTag.MIRJump:
return MIRJump.jparse(jobj);
case MIROpTag.MIRJumpCond:
return MIRJumpCond.jparse(jobj);
case MIROpTag.MIRJumpNone:
return MIRJumpNone.jparse(jobj);
case MIROpTag.MIRRegisterAssign:
return MIRRegisterAssign.jparse(jobj);
case MIROpTag.MIRReturnAssign:
return MIRReturnAssign.jparse(jobj);
case MIROpTag.MIRReturnAssignOfCons:
return MIRReturnAssignOfCons.jparse(jobj);
case MIROpTag.MIRVarLifetimeStart:
return MIRVarLifetimeStart.jparse(jobj);
case MIROpTag.MIRVarLifetimeEnd:
return MIRVarLifetimeEnd.jparse(jobj);
default:
assert(jobj.tag === MIROpTag.MIRPhi);
return MIRPhi.jparse(jobj);
}
}