libgo: Update to weekly.2011-11-02.
From-SVN: r181964
This commit is contained in:
parent
02e9018f16
commit
2fd401c8f1
499 changed files with 4056 additions and 4239 deletions
|
@ -10,7 +10,6 @@ package bufio
|
|||
import (
|
||||
"bytes"
|
||||
"io"
|
||||
"os"
|
||||
"strconv"
|
||||
"utf8"
|
||||
)
|
||||
|
@ -24,20 +23,20 @@ type Error struct {
|
|||
ErrorString string
|
||||
}
|
||||
|
||||
func (err *Error) String() string { return err.ErrorString }
|
||||
func (err *Error) Error() string { return err.ErrorString }
|
||||
|
||||
var (
|
||||
ErrInvalidUnreadByte os.Error = &Error{"bufio: invalid use of UnreadByte"}
|
||||
ErrInvalidUnreadRune os.Error = &Error{"bufio: invalid use of UnreadRune"}
|
||||
ErrBufferFull os.Error = &Error{"bufio: buffer full"}
|
||||
ErrNegativeCount os.Error = &Error{"bufio: negative count"}
|
||||
errInternal os.Error = &Error{"bufio: internal error"}
|
||||
ErrInvalidUnreadByte error = &Error{"bufio: invalid use of UnreadByte"}
|
||||
ErrInvalidUnreadRune error = &Error{"bufio: invalid use of UnreadRune"}
|
||||
ErrBufferFull error = &Error{"bufio: buffer full"}
|
||||
ErrNegativeCount error = &Error{"bufio: negative count"}
|
||||
errInternal error = &Error{"bufio: internal error"}
|
||||
)
|
||||
|
||||
// BufSizeError is the error representing an invalid buffer size.
|
||||
type BufSizeError int
|
||||
|
||||
func (b BufSizeError) String() string {
|
||||
func (b BufSizeError) Error() string {
|
||||
return "bufio: bad buffer size " + strconv.Itoa(int(b))
|
||||
}
|
||||
|
||||
|
@ -48,7 +47,7 @@ type Reader struct {
|
|||
buf []byte
|
||||
rd io.Reader
|
||||
r, w int
|
||||
err os.Error
|
||||
err error
|
||||
lastByte int
|
||||
lastRuneSize int
|
||||
}
|
||||
|
@ -57,7 +56,7 @@ type Reader struct {
|
|||
// which must be greater than one. If the argument io.Reader is already a
|
||||
// Reader with large enough size, it returns the underlying Reader.
|
||||
// It returns the Reader and any error.
|
||||
func NewReaderSize(rd io.Reader, size int) (*Reader, os.Error) {
|
||||
func NewReaderSize(rd io.Reader, size int) (*Reader, error) {
|
||||
if size <= 1 {
|
||||
return nil, BufSizeError(size)
|
||||
}
|
||||
|
@ -101,7 +100,7 @@ func (b *Reader) fill() {
|
|||
}
|
||||
}
|
||||
|
||||
func (b *Reader) readErr() os.Error {
|
||||
func (b *Reader) readErr() error {
|
||||
err := b.err
|
||||
b.err = nil
|
||||
return err
|
||||
|
@ -111,7 +110,7 @@ func (b *Reader) readErr() os.Error {
|
|||
// being valid at the next read call. If Peek returns fewer than n bytes, it
|
||||
// also returns an error explaining why the read is short. The error is
|
||||
// ErrBufferFull if n is larger than b's buffer size.
|
||||
func (b *Reader) Peek(n int) ([]byte, os.Error) {
|
||||
func (b *Reader) Peek(n int) ([]byte, error) {
|
||||
if n < 0 {
|
||||
return nil, ErrNegativeCount
|
||||
}
|
||||
|
@ -137,7 +136,7 @@ func (b *Reader) Peek(n int) ([]byte, os.Error) {
|
|||
// It calls Read at most once on the underlying Reader,
|
||||
// hence n may be less than len(p).
|
||||
// At EOF, the count will be zero and err will be os.EOF.
|
||||
func (b *Reader) Read(p []byte) (n int, err os.Error) {
|
||||
func (b *Reader) Read(p []byte) (n int, err error) {
|
||||
n = len(p)
|
||||
if n == 0 {
|
||||
return 0, b.readErr()
|
||||
|
@ -174,7 +173,7 @@ func (b *Reader) Read(p []byte) (n int, err os.Error) {
|
|||
|
||||
// ReadByte reads and returns a single byte.
|
||||
// If no byte is available, returns an error.
|
||||
func (b *Reader) ReadByte() (c byte, err os.Error) {
|
||||
func (b *Reader) ReadByte() (c byte, err error) {
|
||||
b.lastRuneSize = -1
|
||||
for b.w == b.r {
|
||||
if b.err != nil {
|
||||
|
@ -189,7 +188,7 @@ func (b *Reader) ReadByte() (c byte, err os.Error) {
|
|||
}
|
||||
|
||||
// UnreadByte unreads the last byte. Only the most recently read byte can be unread.
|
||||
func (b *Reader) UnreadByte() os.Error {
|
||||
func (b *Reader) UnreadByte() error {
|
||||
b.lastRuneSize = -1
|
||||
if b.r == b.w && b.lastByte >= 0 {
|
||||
b.w = 1
|
||||
|
@ -208,7 +207,7 @@ func (b *Reader) UnreadByte() os.Error {
|
|||
|
||||
// ReadRune reads a single UTF-8 encoded Unicode character and returns the
|
||||
// rune and its size in bytes.
|
||||
func (b *Reader) ReadRune() (r rune, size int, err os.Error) {
|
||||
func (b *Reader) ReadRune() (r rune, size int, err error) {
|
||||
for b.r+utf8.UTFMax > b.w && !utf8.FullRune(b.buf[b.r:b.w]) && b.err == nil {
|
||||
b.fill()
|
||||
}
|
||||
|
@ -230,7 +229,7 @@ func (b *Reader) ReadRune() (r rune, size int, err os.Error) {
|
|||
// the buffer was not a ReadRune, UnreadRune returns an error. (In this
|
||||
// regard it is stricter than UnreadByte, which will unread the last byte
|
||||
// from any read operation.)
|
||||
func (b *Reader) UnreadRune() os.Error {
|
||||
func (b *Reader) UnreadRune() error {
|
||||
if b.lastRuneSize < 0 || b.r == 0 {
|
||||
return ErrInvalidUnreadRune
|
||||
}
|
||||
|
@ -253,7 +252,7 @@ func (b *Reader) Buffered() int { return b.w - b.r }
|
|||
// by the next I/O operation, most clients should use
|
||||
// ReadBytes or ReadString instead.
|
||||
// ReadSlice returns err != nil if and only if line does not end in delim.
|
||||
func (b *Reader) ReadSlice(delim byte) (line []byte, err os.Error) {
|
||||
func (b *Reader) ReadSlice(delim byte) (line []byte, err error) {
|
||||
// Look in buffer.
|
||||
if i := bytes.IndexByte(b.buf[b.r:b.w], delim); i >= 0 {
|
||||
line1 := b.buf[b.r : b.r+i+1]
|
||||
|
@ -295,7 +294,7 @@ func (b *Reader) ReadSlice(delim byte) (line []byte, err os.Error) {
|
|||
// of the line. The returned buffer is only valid until the next call to
|
||||
// ReadLine. ReadLine either returns a non-nil line or it returns an error,
|
||||
// never both.
|
||||
func (b *Reader) ReadLine() (line []byte, isPrefix bool, err os.Error) {
|
||||
func (b *Reader) ReadLine() (line []byte, isPrefix bool, err error) {
|
||||
line, err = b.ReadSlice('\n')
|
||||
if err == ErrBufferFull {
|
||||
// Handle the case where "\r\n" straddles the buffer.
|
||||
|
@ -333,7 +332,7 @@ func (b *Reader) ReadLine() (line []byte, isPrefix bool, err os.Error) {
|
|||
// it returns the data read before the error and the error itself (often os.EOF).
|
||||
// ReadBytes returns err != nil if and only if the returned data does not end in
|
||||
// delim.
|
||||
func (b *Reader) ReadBytes(delim byte) (line []byte, err os.Error) {
|
||||
func (b *Reader) ReadBytes(delim byte) (line []byte, err error) {
|
||||
// Use ReadSlice to look for array,
|
||||
// accumulating full buffers.
|
||||
var frag []byte
|
||||
|
@ -341,7 +340,7 @@ func (b *Reader) ReadBytes(delim byte) (line []byte, err os.Error) {
|
|||
err = nil
|
||||
|
||||
for {
|
||||
var e os.Error
|
||||
var e error
|
||||
frag, e = b.ReadSlice(delim)
|
||||
if e == nil { // got final fragment
|
||||
break
|
||||
|
@ -380,7 +379,7 @@ func (b *Reader) ReadBytes(delim byte) (line []byte, err os.Error) {
|
|||
// it returns the data read before the error and the error itself (often os.EOF).
|
||||
// ReadString returns err != nil if and only if the returned data does not end in
|
||||
// delim.
|
||||
func (b *Reader) ReadString(delim byte) (line string, err os.Error) {
|
||||
func (b *Reader) ReadString(delim byte) (line string, err error) {
|
||||
bytes, e := b.ReadBytes(delim)
|
||||
return string(bytes), e
|
||||
}
|
||||
|
@ -389,7 +388,7 @@ func (b *Reader) ReadString(delim byte) (line string, err os.Error) {
|
|||
|
||||
// Writer implements buffering for an io.Writer object.
|
||||
type Writer struct {
|
||||
err os.Error
|
||||
err error
|
||||
buf []byte
|
||||
n int
|
||||
wr io.Writer
|
||||
|
@ -399,7 +398,7 @@ type Writer struct {
|
|||
// which must be greater than zero. If the argument io.Writer is already a
|
||||
// Writer with large enough size, it returns the underlying Writer.
|
||||
// It returns the Writer and any error.
|
||||
func NewWriterSize(wr io.Writer, size int) (*Writer, os.Error) {
|
||||
func NewWriterSize(wr io.Writer, size int) (*Writer, error) {
|
||||
if size <= 0 {
|
||||
return nil, BufSizeError(size)
|
||||
}
|
||||
|
@ -425,7 +424,7 @@ func NewWriter(wr io.Writer) *Writer {
|
|||
}
|
||||
|
||||
// Flush writes any buffered data to the underlying io.Writer.
|
||||
func (b *Writer) Flush() os.Error {
|
||||
func (b *Writer) Flush() error {
|
||||
if b.err != nil {
|
||||
return b.err
|
||||
}
|
||||
|
@ -458,7 +457,7 @@ func (b *Writer) Buffered() int { return b.n }
|
|||
// It returns the number of bytes written.
|
||||
// If nn < len(p), it also returns an error explaining
|
||||
// why the write is short.
|
||||
func (b *Writer) Write(p []byte) (nn int, err os.Error) {
|
||||
func (b *Writer) Write(p []byte) (nn int, err error) {
|
||||
for len(p) > b.Available() && b.err == nil {
|
||||
var n int
|
||||
if b.Buffered() == 0 {
|
||||
|
@ -483,7 +482,7 @@ func (b *Writer) Write(p []byte) (nn int, err os.Error) {
|
|||
}
|
||||
|
||||
// WriteByte writes a single byte.
|
||||
func (b *Writer) WriteByte(c byte) os.Error {
|
||||
func (b *Writer) WriteByte(c byte) error {
|
||||
if b.err != nil {
|
||||
return b.err
|
||||
}
|
||||
|
@ -497,7 +496,7 @@ func (b *Writer) WriteByte(c byte) os.Error {
|
|||
|
||||
// WriteRune writes a single Unicode code point, returning
|
||||
// the number of bytes written and any error.
|
||||
func (b *Writer) WriteRune(r rune) (size int, err os.Error) {
|
||||
func (b *Writer) WriteRune(r rune) (size int, err error) {
|
||||
if r < utf8.RuneSelf {
|
||||
err = b.WriteByte(byte(r))
|
||||
if err != nil {
|
||||
|
@ -528,7 +527,7 @@ func (b *Writer) WriteRune(r rune) (size int, err os.Error) {
|
|||
// It returns the number of bytes written.
|
||||
// If the count is less than len(s), it also returns an error explaining
|
||||
// why the write is short.
|
||||
func (b *Writer) WriteString(s string) (int, os.Error) {
|
||||
func (b *Writer) WriteString(s string) (int, error) {
|
||||
nn := 0
|
||||
for len(s) > b.Available() && b.err == nil {
|
||||
n := copy(b.buf[b.n:], s)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue