# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-
-# DO NOT EDIT. Automatically generated by gobuild.
-# gobuild -m >Makefile
-
-D=
-
include $(GOROOT)/src/Make.$(GOARCH)
-AR=gopack
-
-default: packages
-
-clean:
- rm -rf *.[$(OS)] *.a [$(OS)].out _obj
-
-test: packages
- gotest
-
-coverage: packages
- gotest
- 6cov -g $$(pwd) | grep -v '_test\.go:'
-
-%.$O: %.go
- $(GC) -I_obj $*.go
-
-%.$O: %.c
- $(CC) $*.c
-
-%.$O: %.s
- $(AS) $*.s
-
-O1=\
- type.$O\
-
-O2=\
- encode.$O\
-
-O3=\
- decode.$O\
- encoder.$O\
-
-O4=\
- decoder.$O\
-
-
-phases: a1 a2 a3 a4
-_obj$D/gob.a: phases
-
-a1: $(O1)
- $(AR) grc _obj$D/gob.a type.$O
- rm -f $(O1)
-
-a2: $(O2)
- $(AR) grc _obj$D/gob.a encode.$O
- rm -f $(O2)
-
-a3: $(O3)
- $(AR) grc _obj$D/gob.a decode.$O encoder.$O
- rm -f $(O3)
-
-a4: $(O4)
- $(AR) grc _obj$D/gob.a decoder.$O
- rm -f $(O4)
-
-
-newpkg: clean
- mkdir -p _obj$D
- $(AR) grc _obj$D/gob.a
-
-$(O1): newpkg
-$(O2): a1
-$(O3): a2
-$(O4): a3
-$(O5): a4
-
-nuke: clean
- rm -f $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D/gob.a
-packages: _obj$D/gob.a
+TARG=gob
+GOFILES=\
+ decode.go\
+ decoder.go\
+ encode.go\
+ encoder.go\
+ type.go\
-install: packages
- test -d $(GOROOT)/pkg && mkdir -p $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D
- cp _obj$D/gob.a $(GOROOT)/pkg/$(GOOS)_$(GOARCH)$D/gob.a
+include $(GOROOT)/src/Make.pkg
import (
"bytes";
- "gob";
"io";
"math";
"os";
}
func overflow(name string) os.ErrorString {
- return os.ErrorString(`value for "` + name + `" out of range`);
+ return os.ErrorString(`value for "` + name + `" out of range`);
}
// decodeUintReader reads an encoded unsigned integer from an io.Reader.
tString: ignoreUint8Array,
}
-func getDecEnginePtr(wireId typeId, rt reflect.Type) (enginePtr **decEngine, err os.Error)
-func getIgnoreEnginePtr(wireId typeId) (enginePtr **decEngine, err os.Error)
-
// Return the decoding op for the base type under rt and
// the indirection count to reach it.
func decOpFor(wireId typeId, rt reflect.Type, name string) (decOp, int, os.Error) {
return t.name
}
-// Basic type identifiers, predefined.
-var tBool typeId
-var tInt typeId
-var tUint typeId
-var tFloat typeId
-var tString typeId
-var tBytes typeId
+// Create and check predefined types
+// The string for tBytes is "bytes" not "[]byte" to signify its specialness.
+
+var tBool = bootstrapType("bool", false, 1)
+var tInt = bootstrapType("int", int(0), 2)
+var tUint = bootstrapType("uint", uint(0), 3)
+var tFloat = bootstrapType("float", float64(0), 4)
+var tBytes = bootstrapType("bytes", make([]byte, 0), 5)
+var tString = bootstrapType("string", "", 6)
// Predefined because it's needed by the Decoder
-var tWireType typeId
+var tWireType = getTypeInfoNoError(reflect.Typeof(wireType{})).id
+
+func init() {
+ checkId(7, tWireType);
+ checkId(8, getTypeInfoNoError(reflect.Typeof(structType{})).id);
+ checkId(9, getTypeInfoNoError(reflect.Typeof(commonType{})).id);
+ checkId(10, getTypeInfoNoError(reflect.Typeof(fieldType{})).id);
+}
// Array type
type arrayType struct {
return s;
}
-// Construction
-func getType(name string, rt reflect.Type) (gobType, os.Error)
-
// Step through the indirections on a type to discover the base type.
// Return the number of indirections.
func indirect(t reflect.Type) (rt reflect.Type, count int) {
return w.s.name
}
-type decEngine struct // defined in decode.go
-type encEngine struct // defined in encode.go
type typeInfo struct {
id typeId;
encoder *encEngine;
}
return t
}
-
-func init() {
- // Create and check predefined types
- tBool = bootstrapType("bool", false, 1);
- tInt = bootstrapType("int", int(0), 2);
- tUint = bootstrapType("uint", uint(0), 3);
- tFloat = bootstrapType("float", float64(0), 4);
- // The string for tBytes is "bytes" not "[]byte" to signify its specialness.
- tBytes = bootstrapType("bytes", make([]byte, 0), 5);
- tString= bootstrapType("string", "", 6);
- tWireType = getTypeInfoNoError(reflect.Typeof(wireType{})).id;
- checkId(7, tWireType);
- checkId(8, getTypeInfoNoError(reflect.Typeof(structType{})).id);
- checkId(9, getTypeInfoNoError(reflect.Typeof(commonType{})).id);
- checkId(10, getTypeInfoNoError(reflect.Typeof(fieldType{})).id);
-}