Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Christoph Conrads
objx
Commits
d0444fcb
Unverified
Commit
d0444fcb
authored
Aug 25, 2018
by
Hanzei
Committed by
GitHub
Aug 25, 2018
Browse files
Update dependencies (#82)
parent
b8b73a35
Changes
7
Hide whitespace changes
Inline
Side-by-side
Gopkg.lock
View file @
d0444fcb
...
...
@@ -2,29 +2,38 @@
[[projects]]
digest = "1:ffe9824d294da03b391f44e1ae8281281b4afc1bdaa9588c9097785e3af10cec"
name = "github.com/davecgh/go-spew"
packages = ["spew"]
revision = "346938d642f2ec3594ed81d874461961cd0faa76"
version = "v1.1.0"
pruneopts = "NUT"
revision = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"
version = "v1.1.1"
[[projects]]
digest = "1:0028cb19b2e4c3112225cd871870f2d9cf49b9b4276531f03438a88e94be86fe"
name = "github.com/pmezard/go-difflib"
packages = ["difflib"]
pruneopts = "NUT"
revision = "792786c7400a136282c1664665ae0a8db921c6c2"
version = "v1.0.0"
[[projects]]
digest = "1:0331452965d8695c0a5633e0f509012987681a654f388f2ad0c3b2d7f7004b1c"
name = "github.com/stretchr/testify"
packages = [
"assert",
"require"
"require"
,
]
pruneopts = "NUT"
revision = "f35b8ab0b5a2cef36673838d662e249dd9c94686"
version = "v1.2.2"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "2d160a7dea4ffd13c6c31dab40373822f9d78c73beba016d662bef8f7a998876"
input-imports = [
"github.com/stretchr/testify/assert",
"github.com/stretchr/testify/require",
]
solver-name = "gps-cdcl"
solver-version = 1
vendor/github.com/davecgh/go-spew/LICENSE
View file @
d0444fcb
...
...
@@ -2,7 +2,7 @@ ISC License
Copyright (c) 2012-2016 Dave Collins <dave@davec.name>
Permission to use, copy, modify, and distribute this software for any
Permission to use, copy, modify, and
/or
distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
...
...
vendor/github.com/davecgh/go-spew/spew/bypass.go
View file @
d0444fcb
...
...
@@ -16,7 +16,9 @@
// when the code is not running on Google App Engine, compiled by GopherJS, and
// "-tags safe" is not added to the go build command line. The "disableunsafe"
// tag is deprecated and thus should not be used.
// +build !js,!appengine,!safe,!disableunsafe
// Go versions prior to 1.4 are disabled because they use a different layout
// for interfaces which make the implementation of unsafeReflectValue more complex.
// +build !js,!appengine,!safe,!disableunsafe,go1.4
package
spew
...
...
@@ -34,80 +36,49 @@ const (
ptrSize
=
unsafe
.
Sizeof
((
*
byte
)(
nil
))
)
type
flag
uintptr
var
(
// offsetPtr, offsetScalar, and offsetFlag are the offsets for the
// internal reflect.Value fields. These values are valid before golang
// commit ecccf07e7f9d which changed the format. The are also valid
// after commit 82f48826c6c7 which changed the format again to mirror
// the original format. Code in the init function updates these offsets
// as necessary.
offsetPtr
=
uintptr
(
ptrSize
)
offsetScalar
=
uintptr
(
0
)
offsetFlag
=
uintptr
(
ptrSize
*
2
)
// flagKindWidth and flagKindShift indicate various bits that the
// reflect package uses internally to track kind information.
//
// flagRO indicates whether or not the value field of a reflect.Value is
// read-only.
//
// flagIndir indicates whether the value field of a reflect.Value is
// the actual data or a pointer to the data.
//
// These values are valid before golang commit 90a7c3c86944 which
// changed their positions. Code in the init function updates these
// flags as necessary.
flagKindWidth
=
uintptr
(
5
)
flagKindShift
=
uintptr
(
flagKindWidth
-
1
)
flagRO
=
uintptr
(
1
<<
0
)
flagIndir
=
uintptr
(
1
<<
1
)
// flagRO indicates whether the value field of a reflect.Value
// is read-only.
flagRO
flag
// flagAddr indicates whether the address of the reflect.Value's
// value may be taken.
flagAddr
flag
)
func
init
()
{
// Older versions of reflect.Value stored small integers directly in the
// ptr field (which is named val in the older versions). Versions
// between commits ecccf07e7f9d and 82f48826c6c7 added a new field named
// scalar for this purpose which unfortunately came before the flag
// field, so the offset of the flag field is different for those
// versions.
//
// This code constructs a new reflect.Value from a known small integer
// and checks if the size of the reflect.Value struct indicates it has
// the scalar field. When it does, the offsets are updated accordingly.
vv
:=
reflect
.
ValueOf
(
0xf00
)
if
unsafe
.
Sizeof
(
vv
)
==
(
ptrSize
*
4
)
{
offsetScalar
=
ptrSize
*
2
offsetFlag
=
ptrSize
*
3
}
// flagKindMask holds the bits that make up the kind
// part of the flags field. In all the supported versions,
// it is in the lower 5 bits.
const
flagKindMask
=
flag
(
0x1f
)
// Commit 90a7c3c86944 changed the flag positions such that the low
// order bits are the kind. This code extracts the kind from the flags
// field and ensures it's the correct type. When it's not, the flag
// order has been changed to the newer format, so the flags are updated
// accordingly.
upf
:=
unsafe
.
Pointer
(
uintptr
(
unsafe
.
Pointer
(
&
vv
))
+
offsetFlag
)
upfv
:=
*
(
*
uintptr
)(
upf
)
flagKindMask
:=
uintptr
((
1
<<
flagKindWidth
-
1
)
<<
flagKindShift
)
if
(
upfv
&
flagKindMask
)
>>
flagKindShift
!=
uintptr
(
reflect
.
Int
)
{
flagKindShift
=
0
flagRO
=
1
<<
5
flagIndir
=
1
<<
6
// Commit adf9b30e5594 modified the flags to separate the
// flagRO flag into two bits which specifies whether or not the
// field is embedded. This causes flagIndir to move over a bit
// and means that flagRO is the combination of either of the
// original flagRO bit and the new bit.
//
// This code detects the change by extracting what used to be
// the indirect bit to ensure it's set. When it's not, the flag
// order has been changed to the newer format, so the flags are
// updated accordingly.
if
upfv
&
flagIndir
==
0
{
flagRO
=
3
<<
5
flagIndir
=
1
<<
7
}
// Different versions of Go have used different
// bit layouts for the flags type. This table
// records the known combinations.
var
okFlags
=
[]
struct
{
ro
,
addr
flag
}{{
// From Go 1.4 to 1.5
ro
:
1
<<
5
,
addr
:
1
<<
7
,
},
{
// Up to Go tip.
ro
:
1
<<
5
|
1
<<
6
,
addr
:
1
<<
8
,
}}
var
flagValOffset
=
func
()
uintptr
{
field
,
ok
:=
reflect
.
TypeOf
(
reflect
.
Value
{})
.
FieldByName
(
"flag"
)
if
!
ok
{
panic
(
"reflect.Value has no flag field"
)
}
return
field
.
Offset
}()
// flagField returns a pointer to the flag field of a reflect.Value.
func
flagField
(
v
*
reflect
.
Value
)
*
flag
{
return
(
*
flag
)(
unsafe
.
Pointer
(
uintptr
(
unsafe
.
Pointer
(
v
))
+
flagValOffset
))
}
// unsafeReflectValue converts the passed reflect.Value into a one that bypasses
...
...
@@ -119,34 +90,56 @@ func init() {
// This allows us to check for implementations of the Stringer and error
// interfaces to be used for pretty printing ordinarily unaddressable and
// inaccessible values such as unexported struct fields.
func
unsafeReflectValue
(
v
reflect
.
Value
)
(
rv
reflect
.
Value
)
{
indirects
:=
1
vt
:=
v
.
Type
()
upv
:=
unsafe
.
Pointer
(
uintptr
(
unsafe
.
Pointer
(
&
v
))
+
offsetPtr
)
rvf
:=
*
(
*
uintptr
)(
unsafe
.
Pointer
(
uintptr
(
unsafe
.
Pointer
(
&
v
))
+
offsetFlag
))
if
rvf
&
flagIndir
!=
0
{
vt
=
reflect
.
PtrTo
(
v
.
Type
())
indirects
++
}
else
if
offsetScalar
!=
0
{
// The value is in the scalar field when it's not one of the
// reference types.
switch
vt
.
Kind
()
{
case
reflect
.
Uintptr
:
case
reflect
.
Chan
:
case
reflect
.
Func
:
case
reflect
.
Map
:
case
reflect
.
Ptr
:
case
reflect
.
UnsafePointer
:
default
:
upv
=
unsafe
.
Pointer
(
uintptr
(
unsafe
.
Pointer
(
&
v
))
+
offsetScalar
)
}
func
unsafeReflectValue
(
v
reflect
.
Value
)
reflect
.
Value
{
if
!
v
.
IsValid
()
||
(
v
.
CanInterface
()
&&
v
.
CanAddr
())
{
return
v
}
flagFieldPtr
:=
flagField
(
&
v
)
*
flagFieldPtr
&^=
flagRO
*
flagFieldPtr
|=
flagAddr
return
v
}
pv
:=
reflect
.
NewAt
(
vt
,
upv
)
rv
=
pv
for
i
:=
0
;
i
<
indirects
;
i
++
{
rv
=
rv
.
Elem
()
// Sanity checks against future reflect package changes
// to the type or semantics of the Value.flag field.
func
init
()
{
field
,
ok
:=
reflect
.
TypeOf
(
reflect
.
Value
{})
.
FieldByName
(
"flag"
)
if
!
ok
{
panic
(
"reflect.Value has no flag field"
)
}
if
field
.
Type
.
Kind
()
!=
reflect
.
TypeOf
(
flag
(
0
))
.
Kind
()
{
panic
(
"reflect.Value flag field has changed kind"
)
}
type
t0
int
var
t
struct
{
A
t0
// t0 will have flagEmbedRO set.
t0
// a will have flagStickyRO set
a
t0
}
vA
:=
reflect
.
ValueOf
(
t
)
.
FieldByName
(
"A"
)
va
:=
reflect
.
ValueOf
(
t
)
.
FieldByName
(
"a"
)
vt0
:=
reflect
.
ValueOf
(
t
)
.
FieldByName
(
"t0"
)
// Infer flagRO from the difference between the flags
// for the (otherwise identical) fields in t.
flagPublic
:=
*
flagField
(
&
vA
)
flagWithRO
:=
*
flagField
(
&
va
)
|
*
flagField
(
&
vt0
)
flagRO
=
flagPublic
^
flagWithRO
// Infer flagAddr from the difference between a value
// taken from a pointer and not.
vPtrA
:=
reflect
.
ValueOf
(
&
t
)
.
Elem
()
.
FieldByName
(
"A"
)
flagNoPtr
:=
*
flagField
(
&
vA
)
flagPtr
:=
*
flagField
(
&
vPtrA
)
flagAddr
=
flagNoPtr
^
flagPtr
// Check that the inferred flags tally with one of the known versions.
for
_
,
f
:=
range
okFlags
{
if
flagRO
==
f
.
ro
&&
flagAddr
==
f
.
addr
{
return
}
}
return
rv
panic
(
"reflect.Value read-only flag has changed semantics"
)
}
vendor/github.com/davecgh/go-spew/spew/bypasssafe.go
View file @
d0444fcb
...
...
@@ -16,7 +16,7 @@
// when the code is running on Google App Engine, compiled by GopherJS, or
// "-tags safe" is added to the go build command line. The "disableunsafe"
// tag is deprecated and thus should not be used.
// +build js appengine safe disableunsafe
// +build js appengine safe disableunsafe
!go1.4
package
spew
...
...
vendor/github.com/davecgh/go-spew/spew/common.go
View file @
d0444fcb
...
...
@@ -180,7 +180,7 @@ func printComplex(w io.Writer, c complex128, floatPrecision int) {
w
.
Write
(
closeParenBytes
)
}
// printHexPtr outputs a uintptr formatted as hex
i
decimal with a leading '0x'
// printHexPtr outputs a uintptr formatted as hex
a
decimal with a leading '0x'
// prefix to Writer w.
func
printHexPtr
(
w
io
.
Writer
,
p
uintptr
)
{
// Null pointer.
...
...
vendor/github.com/davecgh/go-spew/spew/dump.go
View file @
d0444fcb
...
...
@@ -35,16 +35,16 @@ var (
// cCharRE is a regular expression that matches a cgo char.
// It is used to detect character arrays to hexdump them.
cCharRE
=
regexp
.
MustCompile
(
"
^.*
\
\
._Ctype_char$
"
)
cCharRE
=
regexp
.
MustCompile
(
`
^.*\._Ctype_char$
`
)
// cUnsignedCharRE is a regular expression that matches a cgo unsigned
// char. It is used to detect unsigned character arrays to hexdump
// them.
cUnsignedCharRE
=
regexp
.
MustCompile
(
"
^.*
\
\
._Ctype_unsignedchar$
"
)
cUnsignedCharRE
=
regexp
.
MustCompile
(
`
^.*\._Ctype_unsignedchar$
`
)
// cUint8tCharRE is a regular expression that matches a cgo uint8_t.
// It is used to detect uint8_t arrays to hexdump them.
cUint8tCharRE
=
regexp
.
MustCompile
(
"
^.*
\
\
._Ctype_uint8_t$
"
)
cUint8tCharRE
=
regexp
.
MustCompile
(
`
^.*\._Ctype_uint8_t$
`
)
)
// dumpState contains information about the state of a dump operation.
...
...
@@ -143,10 +143,10 @@ func (d *dumpState) dumpPtr(v reflect.Value) {
// Display dereferenced value.
d
.
w
.
Write
(
openParenBytes
)
switch
{
case
nilFound
==
true
:
case
nilFound
:
d
.
w
.
Write
(
nilAngleBytes
)
case
cycleFound
==
true
:
case
cycleFound
:
d
.
w
.
Write
(
circularBytes
)
default
:
...
...
vendor/github.com/davecgh/go-spew/spew/format.go
View file @
d0444fcb
...
...
@@ -182,10 +182,10 @@ func (f *formatState) formatPtr(v reflect.Value) {
// Display dereferenced value.
switch
{
case
nilFound
==
true
:
case
nilFound
:
f
.
fs
.
Write
(
nilAngleBytes
)
case
cycleFound
==
true
:
case
cycleFound
:
f
.
fs
.
Write
(
circularShortBytes
)
default
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment