summaryrefslogtreecommitdiff
path: root/internal/generated
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-02-22 20:38:12 +0200
committerPaul Buetow <paul@buetow.org>2024-02-22 20:38:12 +0200
commiteff5b134c0a4532712ffcbed7701a668ba7c31ff (patch)
tree946f2134a3842479c143c453fa08e8690fb5ac5e /internal/generated
parentf649f89201cf1b8a8a8aab98dba91bbbd96ecd09 (diff)
move readRaw to event constructors
Diffstat (limited to 'internal/generated')
-rw-r--r--internal/generated/Makefile11
-rw-r--r--internal/generated/nqc.raku9
-rw-r--r--internal/generated/types/types.go29
3 files changed, 36 insertions, 13 deletions
diff --git a/internal/generated/Makefile b/internal/generated/Makefile
index 34ddf01..7734ff5 100644
--- a/internal/generated/Makefile
+++ b/internal/generated/Makefile
@@ -1,11 +1,12 @@
all: generate
-generate: types tracepoints
+generate: tracepoints types
+
+.PHONY: tracepoints
+tracepoints:
+ cat ../c/tracepoints/*.c | raku tracepoints.raku | goimports | gofmt | tee tracepoints/tracepoints.go
.PHONY: types
types:
- cat ../c/types.h | raku nqc.raku | goimports | gofmt > types/types.go
+ cat ../c/types.h | raku nqc.raku | goimports | gofmt | tee types/types.go
-.PHONY: tracepoints
-tracepoints:
- cat ../c/tracepoints/*.c | raku tracepoints.raku | goimports | gofmt > tracepoints/tracepoints.go
diff --git a/internal/generated/nqc.raku b/internal/generated/nqc.raku
index ced6b3c..1c48cba 100644
--- a/internal/generated/nqc.raku
+++ b/internal/generated/nqc.raku
@@ -103,8 +103,13 @@ class NQCToGoActions {
New: func() interface\{\} \{ return &$identifier\{\} \},
\}
- func New{$identifier}() *$identifier \{
- return poolOf{$identifier}s.Get().(*$identifier);
+ func New{$identifier}(raw []byte) *$identifier \{
+ ev := poolOf{$identifier}s.Get().(*$identifier);
+ if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil \{
+ fmt.Println(ev, raw, len(raw), err)
+ panic(raw)
+ \}
+ return ev
\}
func Recycle{$identifier}(elem *$identifier) \{
diff --git a/internal/generated/types/types.go b/internal/generated/types/types.go
index 8211277..9d7fcb8 100644
--- a/internal/generated/types/types.go
+++ b/internal/generated/types/types.go
@@ -2,6 +2,8 @@
package types
import (
+ "bytes"
+ "encoding/binary"
"fmt"
"sync"
)
@@ -62,8 +64,13 @@ var poolOfNullEvents = sync.Pool{
New: func() interface{} { return &NullEvent{} },
}
-func NewNullEvent() *NullEvent {
- return poolOfNullEvents.Get().(*NullEvent)
+func NewNullEvent(raw []byte) *NullEvent {
+ ev := poolOfNullEvents.Get().(*NullEvent)
+ if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil {
+ fmt.Println(ev, raw, len(raw), err)
+ panic(raw)
+ }
+ return ev
}
func RecycleNullEvent(elem *NullEvent) {
@@ -85,8 +92,13 @@ var poolOfFdEvents = sync.Pool{
New: func() interface{} { return &FdEvent{} },
}
-func NewFdEvent() *FdEvent {
- return poolOfFdEvents.Get().(*FdEvent)
+func NewFdEvent(raw []byte) *FdEvent {
+ ev := poolOfFdEvents.Get().(*FdEvent)
+ if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil {
+ fmt.Println(ev, raw, len(raw), err)
+ panic(raw)
+ }
+ return ev
}
func RecycleFdEvent(elem *FdEvent) {
@@ -109,8 +121,13 @@ var poolOfOpenEnterEvents = sync.Pool{
New: func() interface{} { return &OpenEnterEvent{} },
}
-func NewOpenEnterEvent() *OpenEnterEvent {
- return poolOfOpenEnterEvents.Get().(*OpenEnterEvent)
+func NewOpenEnterEvent(raw []byte) *OpenEnterEvent {
+ ev := poolOfOpenEnterEvents.Get().(*OpenEnterEvent)
+ if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, ev); err != nil {
+ fmt.Println(ev, raw, len(raw), err)
+ panic(raw)
+ }
+ return ev
}
func RecycleOpenEnterEvent(elem *OpenEnterEvent) {