diff --git a/internal/ops/ops.go b/internal/ops/ops.go index 275a15ad..2d4d1138 100644 --- a/internal/ops/ops.go +++ b/internal/ops/ops.go @@ -380,48 +380,50 @@ func DecodeLoad(data []byte) int { return int(bo.Uint32(data[1:])) } +var opSize = [0x100]byte{ + TypeMacro: TypeMacroLen, + TypeCall: TypeCallLen, + TypeDefer: TypeDeferLen, + TypePushTransform: TypePushTransformLen, + TypeTransform: TypeTransformLen, + TypePopTransform: TypePopTransformLen, + TypeInvalidate: TypeRedrawLen, + TypeImage: TypeImageLen, + TypePaint: TypePaintLen, + TypeColor: TypeColorLen, + TypeLinearGradient: TypeLinearGradientLen, + TypePass: TypePassLen, + TypePopPass: TypePopPassLen, + TypePointerInput: TypePointerInputLen, + TypeClipboardRead: TypeClipboardReadLen, + TypeClipboardWrite: TypeClipboardWriteLen, + TypeSource: TypeSourceLen, + TypeTarget: TypeTargetLen, + TypeOffer: TypeOfferLen, + TypeKeyInput: TypeKeyInputLen, + TypeKeyFocus: TypeKeyFocusLen, + TypeKeySoftKeyboard: TypeKeySoftKeyboardLen, + TypeSave: TypeSaveLen, + TypeLoad: TypeLoadLen, + TypeAux: TypeAuxLen, + TypeClip: TypeClipLen, + TypePopClip: TypePopClipLen, + TypeProfile: TypeProfileLen, + TypeCursor: TypeCursorLen, + TypePath: TypePathLen, + TypeStroke: TypeStrokeLen, + TypeSemanticLabel: TypeSemanticLabelLen, + TypeSemanticDesc: TypeSemanticDescLen, + TypeSemanticClass: TypeSemanticClassLen, + TypeSemanticSelected: TypeSemanticSelectedLen, + TypeSemanticDisabled: TypeSemanticDisabledLen, + TypeSnippet: TypeSnippetLen, + TypeSelection: TypeSelectionLen, + TypeActionInput: TypeActionInputLen, +} + func (t OpType) Size() int { - return [...]int{ - TypeMacroLen, - TypeCallLen, - TypeDeferLen, - TypePushTransformLen, - TypeTransformLen, - TypePopTransformLen, - TypeRedrawLen, - TypeImageLen, - TypePaintLen, - TypeColorLen, - TypeLinearGradientLen, - TypePassLen, - TypePopPassLen, - TypePointerInputLen, - TypeClipboardReadLen, - TypeClipboardWriteLen, - TypeSourceLen, - TypeTargetLen, - TypeOfferLen, - TypeKeyInputLen, - TypeKeyFocusLen, - TypeKeySoftKeyboardLen, - TypeSaveLen, - TypeLoadLen, - TypeAuxLen, - TypeClipLen, - TypePopClipLen, - TypeProfileLen, - TypeCursorLen, - TypePathLen, - TypeStrokeLen, - TypeSemanticLabelLen, - TypeSemanticDescLen, - TypeSemanticClassLen, - TypeSemanticSelectedLen, - TypeSemanticDisabledLen, - TypeSnippetLen, - TypeSelectionLen, - TypeActionInputLen, - }[t-firstOpIndex] + return int(opSize[t]) } func (t OpType) NumRefs() int {