Skip to content

Commit 76b12db

Browse files
committed
typeset: improve formatting
1 parent 992ed95 commit 76b12db

File tree

2 files changed

+27
-20
lines changed

2 files changed

+27
-20
lines changed

typeset/node.go

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ func (n *node) PlainEncode(w io.Writer) error {
6767
}
6868
switch n.kind {
6969
case Basic:
70-
panic("basic types are hard coded")
70+
_, err = fmt.Fprintf(w, "%08x", n.elem)
71+
7172
case Pointer, Slice, Chan, Array:
7273
_, err = fmt.Fprintf(w, "%08x", n.elem)
7374
case Map:
@@ -111,7 +112,7 @@ func (n *node) PlainDecode(r io.Reader) error {
111112
}
112113
switch n.kind {
113114
case Basic:
114-
panic("basic types are hard coded")
115+
_, err = fmt.Fscanf(r, "%08x", &n.elem)
115116
case Pointer, Slice, Chan, Array:
116117
_, err = fmt.Fscanf(r, "%08x", &n.elem)
117118
case Map:
@@ -268,20 +269,20 @@ func (n *node) zero() {
268269
}
269270

270271
var basicNodes = []node{
271-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // NoType
272-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Bool
273-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Uint8
274-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Uint16
275-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Uint32
276-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Uint64
277-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Int8
278-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Int16
279-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Int32
280-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Int64
281-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Float32
282-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Float64
283-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Complex64
284-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // Complex128
285-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // String
286-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // UnsafePointer
287-
{kind: Basic, elem: NoType, key: NoType, lsize: 1}} // Uintptr
272+
{kind: Basic, elem: NoType, key: NoType, lsize: 1}, // NoType
273+
{kind: Basic, elem: Type(1), key: NoType, lsize: 1}, // Bool
274+
{kind: Basic, elem: Type(2), key: NoType, lsize: 1}, // Uint8
275+
{kind: Basic, elem: Type(3), key: NoType, lsize: 1}, // Uint16
276+
{kind: Basic, elem: Type(4), key: NoType, lsize: 1}, // Uint32
277+
{kind: Basic, elem: Type(5), key: NoType, lsize: 1}, // Uint64
278+
{kind: Basic, elem: Type(6), key: NoType, lsize: 1}, // Int8
279+
{kind: Basic, elem: Type(7), key: NoType, lsize: 1}, // Int16
280+
{kind: Basic, elem: Type(8), key: NoType, lsize: 1}, // Int32
281+
{kind: Basic, elem: Type(9), key: NoType, lsize: 1}, // Int64
282+
{kind: Basic, elem: Type(10), key: NoType, lsize: 1}, // Float32
283+
{kind: Basic, elem: Type(11), key: NoType, lsize: 1}, // Float64
284+
{kind: Basic, elem: Type(12), key: NoType, lsize: 1}, // Complex64
285+
{kind: Basic, elem: Type(13), key: NoType, lsize: 1}, // Complex128
286+
{kind: Basic, elem: Type(14), key: NoType, lsize: 1}, // String
287+
{kind: Basic, elem: Type(15), key: NoType, lsize: 1}, // UnsafePointer
288+
{kind: Basic, elem: Type(16), key: NoType, lsize: 1}} // Uintptr

typeset/typeset.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ package typeset
1616

1717
import (
1818
"sort"
19+
20+
"github.com/go-air/pal/internal/plain"
1921
)
2022

2123
type TypeSet struct {
@@ -50,7 +52,11 @@ func (t *TypeSet) Kind(ty Type) Kind {
5052

5153
func (t *TypeSet) IsObject(ty Type) bool {
5254
k := t.Kind(ty)
53-
return k != Basic && k != Tuple
55+
return k != Basic
56+
}
57+
58+
func (t *TypeSet) String(ty Type) string {
59+
return plain.String(&t.nodes[ty])
5460
}
5561

5662
func (t *TypeSet) Lsize(ty Type) int {

0 commit comments

Comments
 (0)