mirror of
https://github.com/golang/go
synced 2024-11-20 09:44:45 -07:00
convert gob to whole-package compilation.
had to reorder some init code. R=r DELTA=136 (15 added, 110 deleted, 11 changed) OCL=33071 CL=33102
This commit is contained in:
parent
b04ac108fd
commit
a5bf45e389
@ -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
|
||||
TARG=gob
|
||||
GOFILES=\
|
||||
decode.go\
|
||||
decoder.go\
|
||||
encode.go\
|
||||
encoder.go\
|
||||
type.go\
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
@ -6,7 +6,6 @@ package gob
|
||||
|
||||
import (
|
||||
"bytes";
|
||||
"gob";
|
||||
"math";
|
||||
"os";
|
||||
"reflect";
|
||||
|
@ -9,7 +9,6 @@ package gob
|
||||
|
||||
import (
|
||||
"bytes";
|
||||
"gob";
|
||||
"io";
|
||||
"math";
|
||||
"os";
|
||||
@ -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) {
|
||||
|
@ -6,7 +6,6 @@ package gob
|
||||
|
||||
import (
|
||||
"bytes";
|
||||
"gob";
|
||||
"io";
|
||||
"os";
|
||||
"reflect";
|
||||
|
@ -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) {
|
||||
|
@ -183,7 +183,6 @@ package gob
|
||||
|
||||
import (
|
||||
"bytes";
|
||||
"gob";
|
||||
"io";
|
||||
"os";
|
||||
"reflect";
|
||||
|
@ -6,7 +6,6 @@ package gob
|
||||
|
||||
import (
|
||||
"bytes";
|
||||
"gob";
|
||||
"io";
|
||||
"os";
|
||||
"reflect";
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -5,7 +5,6 @@
|
||||
package gob
|
||||
|
||||
import (
|
||||
"gob";
|
||||
"os";
|
||||
"reflect";
|
||||
"testing";
|
||||
|
Loading…
Reference in New Issue
Block a user