]> Cypherpunks repositories - gostls13.git/commitdiff
convert gob to whole-package compilation.
authorRuss Cox <rsc@golang.org>
Wed, 12 Aug 2009 20:19:27 +0000 (13:19 -0700)
committerRuss Cox <rsc@golang.org>
Wed, 12 Aug 2009 20:19:27 +0000 (13:19 -0700)
had to reorder some init code.

R=r
DELTA=136  (15 added, 110 deleted, 11 changed)
OCL=33071
CL=33102

src/pkg/gob/Makefile
src/pkg/gob/codec_test.go
src/pkg/gob/decode.go
src/pkg/gob/decoder.go
src/pkg/gob/encode.go
src/pkg/gob/encoder.go
src/pkg/gob/encoder_test.go
src/pkg/gob/type.go
src/pkg/gob/type_test.go

index 3534430c531700ef6f9f0be01f9ecfd4f1105e7b..1a77252f743bda8bf64b94b361a05d7cbfe0b769 100644 (file)
@@ -2,85 +2,14 @@
 # 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
index 9ad3b4727867fc48710750b1eaebae55a1ee2bc4..a59621eb96e6f7390d1c9a87151e59e694b900d2 100644 (file)
@@ -6,7 +6,6 @@ package gob
 
 import (
        "bytes";
-       "gob";
        "math";
        "os";
        "reflect";
index f790a70c2f972445dde236e7e8b70f6174d56bc0..ce4bc0b970a9cd9f741a3bbe219070a6a2c55157 100644 (file)
@@ -9,7 +9,6 @@ package gob
 
 import (
        "bytes";
-       "gob";
        "io";
        "math";
        "os";
@@ -40,7 +39,7 @@ func newDecodeState(b *bytes.Buffer) *decodeState {
 }
 
 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.
@@ -512,9 +511,6 @@ var decIgnoreOpMap = map[typeId] decOp {
        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) {
index 7e0c939300cb53ee4a6b835c4ce66a88a59d67a2..9e8aa9c352254e887b1e071d8ea30ec5dd7e88a4 100644 (file)
@@ -6,7 +6,6 @@ package gob
 
 import (
        "bytes";
-       "gob";
        "io";
        "os";
        "reflect";
index 1af79b1fdbb97e6b202c475fde93f77d90fc762c..332c3d6b8d3e813e159656e32266f002423beec2 100644 (file)
@@ -6,7 +6,6 @@ package gob
 
 import (
        "bytes";
-       "gob";
        "io";
        "math";
        "os";
@@ -335,8 +334,6 @@ var encOpMap = map[reflect.Type] encOp {
        valueKind("x"): encString,
 }
 
-func getEncEngine(rt reflect.Type) (*encEngine, os.Error)
-
 // Return the encoding op for the base type under rt and
 // the indirection count to reach it.
 func encOpFor(rt reflect.Type) (encOp, int, os.Error) {
index e3ee8b3cb12cf8013230d13b24ab402a389ac543..2d84028aaf2ce007bcbc16c23342c2f83c8a2f63 100644 (file)
@@ -183,7 +183,6 @@ package gob
 
 import (
        "bytes";
-       "gob";
        "io";
        "os";
        "reflect";
index 6033fbb3fef6a77b5d20f66b84974b8f2a4c6659..534816fc849c16b7922232557556186c3c092d07 100644 (file)
@@ -6,7 +6,6 @@ package gob
 
 import (
        "bytes";
-       "gob";
        "io";
        "os";
        "reflect";
index 585d4f7472dd227105ca28a2b7691f8aa3dd1f92..ff3cd6bc5bf722ce3c1b9898793b7a30bfb6ce16 100644 (file)
@@ -104,16 +104,25 @@ func (t *commonType) Name() string {
        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 {
@@ -201,9 +210,6 @@ func newStructType(name string) *structType {
        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) {
@@ -367,8 +373,6 @@ func (w *wireType) name() string {
        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;
@@ -407,19 +411,3 @@ func getTypeInfoNoError(rt reflect.Type) *typeInfo {
        }
        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);
-}
index b86fffa21aab24e8c24cfe8e6d2e33094091517c..7c9a9ba38e05d60c380de97e89621a5619a727ab 100644 (file)
@@ -5,7 +5,6 @@
 package gob
 
 import (
-       "gob";
        "os";
        "reflect";
        "testing";