@@ -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
270271var 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
0 commit comments