diff options
| author | Mel <einebeere@gmail.com> | 2022-07-11 00:35:59 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-07-11 00:35:59 +0200 |
| commit | 1b6ef1e43e1ec1107ce29a6438b399352d09fbc2 (patch) | |
| tree | 20b8cc80564f0c76c9e68e9fb6df6163b06b24f2 /pkg/lang/vm/code/marker.go | |
| parent | b16b70fd40ffc72ff861afe0517cba0e37ba1145 (diff) | |
| download | jinx-1b6ef1e43e1ec1107ce29a6438b399352d09fbc2.tar.zst jinx-1b6ef1e43e1ec1107ce29a6438b399352d09fbc2.zip | |
Rebuild compiler and code builder with markers
Diffstat (limited to 'pkg/lang/vm/code/marker.go')
| -rw-r--r-- | pkg/lang/vm/code/marker.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pkg/lang/vm/code/marker.go b/pkg/lang/vm/code/marker.go new file mode 100644 index 0000000..18b4157 --- /dev/null +++ b/pkg/lang/vm/code/marker.go @@ -0,0 +1,23 @@ +package code + +import "fmt" + +type Marker string + +func (m Marker) SubUnit(name string) Marker { + return Marker(fmt.Sprintf("%v:%s", m, name)) +} + +func (m Marker) SubMarker(format string, args ...any) Marker { + part := fmt.Sprintf(format, args...) + + return Marker(fmt.Sprintf("%v_%s", m, part)) +} + +func (m Marker) String() string { + return string(m) +} + +func (m Marker) IsEmpty() bool { + return string(m) == "" +} |
