reflect.Type.Implements (method)
84 uses
reflect (current package)
type.go#L107: Implements(u Type) bool
database/sql
convert.go#L558: rv.Type().Elem().Implements(valuerReflectType) {
database/sql/driver
types.go#L235: rv.Type().Elem().Implements(valuerReflectType) {
encoding/json
decode.go#L637: if !reflect.PointerTo(t.Key()).Implements(textUnmarshalerType) {
decode.go#L772: if reflect.PointerTo(kt).Implements(textUnmarshalerType) {
encode.go#L395: if t.Kind() != reflect.Pointer && allowAddr && reflect.PointerTo(t).Implements(marshalerType) {
encode.go#L398: if t.Implements(marshalerType) {
encode.go#L401: if t.Kind() != reflect.Pointer && allowAddr && reflect.PointerTo(t).Implements(textMarshalerType) {
encode.go#L404: if t.Implements(textMarshalerType) {
encode.go#L796: if !t.Key().Implements(textMarshalerType) {
encode.go#L851: if !p.Implements(marshalerType) && !p.Implements(textMarshalerType) {
encode.go#L1191: case t.Kind() == reflect.Interface && t.Implements(isZeroerType):
encode.go#L1199: case t.Kind() == reflect.Pointer && t.Implements(isZeroerType):
encode.go#L1204: case t.Implements(isZeroerType):
encode.go#L1208: case reflect.PointerTo(t).Implements(isZeroerType):
encoding/xml
marshal.go#L453: if val.CanInterface() && typ.Implements(marshalerType) {
marshal.go#L458: if pv.CanInterface() && pv.Type().Implements(marshalerType) {
marshal.go#L464: if val.CanInterface() && typ.Implements(textMarshalerType) {
marshal.go#L469: if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
marshal.go#L583: if val.CanInterface() && val.Type().Implements(marshalerAttrType) {
marshal.go#L596: if pv.CanInterface() && pv.Type().Implements(marshalerAttrType) {
marshal.go#L608: if val.CanInterface() && val.Type().Implements(textMarshalerType) {
marshal.go#L619: if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
marshal.go#L857: if vf.CanInterface() && vf.Type().Implements(textMarshalerType) {
marshal.go#L869: if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
read.go#L258: if val.CanInterface() && val.Type().Implements(unmarshalerAttrType) {
read.go#L265: if pv.CanInterface() && pv.Type().Implements(unmarshalerAttrType) {
read.go#L271: if val.CanInterface() && val.Type().Implements(textUnmarshalerType) {
read.go#L278: if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
read.go#L355: if val.CanInterface() && val.Type().Implements(unmarshalerType) {
read.go#L363: if pv.CanInterface() && pv.Type().Implements(unmarshalerType) {
read.go#L368: if val.CanInterface() && val.Type().Implements(textUnmarshalerType) {
read.go#L374: if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
read.go#L581: if saveData.IsValid() && saveData.CanInterface() && saveData.Type().Implements(textUnmarshalerType) {
read.go#L590: if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
github.com/go-pg/pg/v10/orm
table.go#L106: if typ.Implements(beforeScanHookType) {
table.go#L109: if typ.Implements(afterScanHookType) {
table.go#L112: if typ.Implements(afterSelectHookType) {
table.go#L115: if typ.Implements(beforeInsertHookType) {
table.go#L118: if typ.Implements(afterInsertHookType) {
table.go#L121: if typ.Implements(beforeUpdateHookType) {
table.go#L124: if typ.Implements(afterUpdateHookType) {
table.go#L127: if typ.Implements(beforeDeleteHookType) {
table.go#L130: if typ.Implements(afterDeleteHookType) {
table.go#L1198: return typ.Implements(scannerType) || reflect.PtrTo(typ).Implements(scannerType)
github.com/go-pg/pg/v10/types
append_value.go#L98: if typ.Implements(appenderType) {
append_value.go#L101: if typ.Implements(driverValuerType) {
array_scan.go#L20: if typ.Implements(arrayValueScannerType) {
scan_value.go#L101: if typ.Implements(valueScannerType) {
scan_value.go#L104: if reflect.PtrTo(typ).Implements(valueScannerType) {
scan_value.go#L108: if typ.Implements(sqlScannerType) {
scan_value.go#L111: if reflect.PtrTo(typ).Implements(sqlScannerType) {
github.com/go-pg/zerochecker
zerochecker.go#L23: if typ.Implements(isZeroerType) {
zerochecker.go#L47: if typ.Implements(appenderType) {
zerochecker.go#L50: if typ.Implements(driverValuerType) {
github.com/vmihailenco/msgpack/v5
decode_value.go#L66: if typ.Implements(customDecoderType) {
decode_value.go#L69: if typ.Implements(unmarshalerType) {
decode_value.go#L72: if typ.Implements(binaryUnmarshalerType) {
decode_value.go#L75: if typ.Implements(textUnmarshalerType) {
decode_value.go#L82: if ptr.Implements(customDecoderType) {
decode_value.go#L85: if ptr.Implements(unmarshalerType) {
decode_value.go#L88: if ptr.Implements(binaryUnmarshalerType) {
decode_value.go#L91: if ptr.Implements(textUnmarshalerType) {
encode_value.go#L60: if typ.Implements(customEncoderType) {
encode_value.go#L63: if typ.Implements(marshalerType) {
encode_value.go#L66: if typ.Implements(binaryMarshalerType) {
encode_value.go#L69: if typ.Implements(textMarshalerType) {
encode_value.go#L76: if ptr.Implements(customEncoderType) {
encode_value.go#L79: if ptr.Implements(marshalerType) {
encode_value.go#L82: if ptr.Implements(binaryMarshalerType) {
encode_value.go#L85: if ptr.Implements(textMarshalerType) {
google.golang.org/grpc
server.go#L671: if !st.Implements(ht) {
google.golang.org/protobuf/internal/impl
legacy_message.go#L252: if t.Implements(f.Type) {
message_reflect_field.go#L72: if !reflect.PtrTo(ot).Implements(ft) {
gotest.tools/v3/assert/cmp
compare.go#L364: if errValue.Type().Implements(expectedType) {
html/template
content.go#L143: for !v.Type().Implements(fmtStringerType) && !v.Type().Implements(errorType) && v.Kind() == reflect.Pointer && !v.IsNil() {
js.go#L142: for !v.Type().Implements(jsonMarshalType) && v.Kind() == reflect.Pointer && !v.IsNil() {
text/template
exec.go#L1123: if !v.Type().Implements(errorType) && !v.Type().Implements(fmtStringerType) {
exec.go#L1124: if v.CanAddr() && (reflect.PointerTo(v.Type()).Implements(errorType) || reflect.PointerTo(v.Type()).Implements(fmtStringerType)) {
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)