diff options
author | Unknwon <u@gogs.io> | 2018-06-09 17:34:38 +0800 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2018-06-09 17:34:38 +0800 |
commit | 5e158b51db1022318e95d1998d2fc9fc50f061f1 (patch) | |
tree | 817eea5ca0944c4d07bbf22a8b5e20a0b163aaa6 /vendor/github.com/modern-go/reflect2/safe_struct.go | |
parent | fbecc18e2e4d4eb863a990a57218305f190ae6db (diff) |
vendor: add new dependencies
Diffstat (limited to 'vendor/github.com/modern-go/reflect2/safe_struct.go')
-rw-r--r-- | vendor/github.com/modern-go/reflect2/safe_struct.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/github.com/modern-go/reflect2/safe_struct.go b/vendor/github.com/modern-go/reflect2/safe_struct.go new file mode 100644 index 00000000..e5fb9b31 --- /dev/null +++ b/vendor/github.com/modern-go/reflect2/safe_struct.go @@ -0,0 +1,29 @@ +package reflect2 + +type safeStructType struct { + safeType +} + +func (type2 *safeStructType) FieldByName(name string) StructField { + field, found := type2.Type.FieldByName(name) + if !found { + panic("field " + name + " not found") + } + return &safeField{StructField: field} +} + +func (type2 *safeStructType) Field(i int) StructField { + return &safeField{StructField: type2.Type.Field(i)} +} + +func (type2 *safeStructType) FieldByIndex(index []int) StructField { + return &safeField{StructField: type2.Type.FieldByIndex(index)} +} + +func (type2 *safeStructType) FieldByNameFunc(match func(string) bool) StructField { + field, found := type2.Type.FieldByNameFunc(match) + if !found { + panic("field match condition not found in " + type2.Type.String()) + } + return &safeField{StructField: field} +} |