From: Egon Elbre <egonelbre@gmail.com>
Signed-off-by: Egon Elbre <egonelbre@gmail.com>
---
internal/ops/ops.go | 84 +++++++++++++++++++++++----------------------
1 file changed, 43 insertions(+), 41 deletions(-)
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 {
--
2.34.2