Lines Matching full:reflect
14 "reflect"
23 type decHelper func(state *decoderState, v reflect.Value, length int, ovfl error) bool
197 type decOp func(i *decInstr, state *decoderState, v reflect.Value)
208 func ignoreUint(i *decInstr, state *decoderState, v reflect.Value) {
214 func ignoreTwoUints(i *decInstr, state *decoderState, v reflect.Value) {
230 func decAlloc(v reflect.Value) reflect.Value {
231 for v.Kind() == reflect.Ptr {
233 v.Set(reflect.New(v.Type().Elem()))
241 func decBool(i *decInstr, state *decoderState, value reflect.Value) {
246 func decInt8(i *decInstr, state *decoderState, value reflect.Value) {
255 func decUint8(i *decInstr, state *decoderState, value reflect.Value) {
264 func decInt16(i *decInstr, state *decoderState, value reflect.Value) {
273 func decUint16(i *decInstr, state *decoderState, value reflect.Value) {
282 func decInt32(i *decInstr, state *decoderState, value reflect.Value) {
291 func decUint32(i *decInstr, state *decoderState, value reflect.Value) {
300 func decInt64(i *decInstr, state *decoderState, value reflect.Value) {
306 func decUint64(i *decInstr, state *decoderState, value reflect.Value) {
345 func decFloat32(i *decInstr, state *decoderState, value reflect.Value) {
351 func decFloat64(i *decInstr, state *decoderState, value reflect.Value) {
358 func decComplex64(i *decInstr, state *decoderState, value reflect.Value) {
367 func decComplex128(i *decInstr, state *decoderState, value reflect.Value) {
376 func decUint8Slice(i *decInstr, state *decoderState, value reflect.Value) {
382 value.Set(reflect.MakeSlice(value.Type(), n, n))
394 func decString(i *decInstr, state *decoderState, value reflect.Value) {
408 func ignoreUint8Array(i *decInstr, state *decoderState, value reflect.Value) {
429 func (dec *Decoder) decodeSingle(engine *decEngine, ut *userTypeInfo, value reflect.Value) {
445 func (dec *Decoder) decodeStruct(engine *decEngine, ut *userTypeInfo, value reflect.Value) {
463 var field reflect.Value
467 if field.Kind() == reflect.Ptr {
476 var noValue reflect.Value
516 func (dec *Decoder) decodeArrayHelper(state *decoderState, value reflect.Value, elemOp decOp, length int, ovfl error, helper decHelper) {
521 isPtr := value.Type().Elem().Kind() == reflect.Ptr
537 func (dec *Decoder) decodeArray(atyp reflect.Type, state *decoderState, value reflect.Value, elemOp decOp, length int, ovfl error, helper decHelper) {
545 func decodeIntoValue(state *decoderState, op decOp, isPtr bool, value reflect.Value, ovfl error) reflect.Value {
559 func (dec *Decoder) decodeMap(mtyp reflect.Type, state *decoderState, value reflect.Value, keyOp, elemOp decOp, ovfl error) {
562 value.Set(reflect.MakeMap(mtyp))
565 keyIsPtr := mtyp.Key().Kind() == reflect.Ptr
566 elemIsPtr := mtyp.Elem().Kind() == reflect.Ptr
606 func (dec *Decoder) decodeSlice(state *decoderState, value reflect.Value, elemOp decOp, ovfl error, helper decHelper) {
619 value.Set(reflect.MakeSlice(typ, n, n))
634 func (dec *Decoder) decodeInterface(ityp reflect.Type, state *decoderState, value reflect.Value) {
649 value.Set(reflect.Zero(value.Type()))
711 func (dec *Decoder) decodeGobDecoder(ut *userTypeInfo, state *decoderState, value reflect.Value) {
752 reflect.Bool: decBool,
753 reflect.Int8: decInt8,
754 reflect.Int16: decInt16,
755 reflect.Int32: decInt32,
756 reflect.Int64: decInt64,
757 reflect.Uint8: decUint8,
758 reflect.Uint16: decUint16,
759 reflect.Uint32: decUint32,
760 reflect.Uint64: decUint64,
761 reflect.Float32: decFloat32,
762 reflect.Float64: decFloat64,
763 reflect.Complex64: decComplex64,
764 reflect.Complex128: decComplex128,
765 reflect.String: decString,
781 func (dec *Decoder) decOpFor(wireId typeId, rt reflect.Type, name string, inProgress map[reflect.Type]*decOp) *decOp {
803 case reflect.Array:
809 op = func(i *decInstr, state *decoderState, value reflect.Value) {
813 case reflect.Map:
819 op = func(i *decInstr, state *decoderState, value reflect.Value) {
823 case reflect.Slice:
825 if t.Elem().Kind() == reflect.Uint8 {
838 op = func(i *decInstr, state *decoderState, value reflect.Value) {
842 case reflect.Struct:
849 op = func(i *decInstr, state *decoderState, value reflect.Value) {
853 case reflect.Interface:
854 op = func(i *decInstr, state *decoderState, value reflect.Value) {
878 op = func(i *decInstr, state *decoderState, value reflect.Value) {
891 op = func(i *decInstr, state *decoderState, value reflect.Value) {
900 op = func(i *decInstr, state *decoderState, value reflect.Value) {
907 op = func(i *decInstr, state *decoderState, value reflect.Value) {
917 op = func(i *decInstr, state *decoderState, value reflect.Value) {
923 op = func(i *decInstr, state *decoderState, value reflect.Value) {
939 rcvrType = reflect.PtrTo(rcvrType)
946 op = func(i *decInstr, state *decoderState, value reflect.Value) {
948 if value.Kind() != reflect.Ptr && rcvrType.Kind() == reflect.Ptr {
960 func (dec *Decoder) compatibleType(fr reflect.Type, fw typeId, inProgress map[reflect.Type]typeId) bool {
985 case reflect.Bool:
987 case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
989 case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
991 case reflect.Float32, reflect.Float64:
993 case reflect.Complex64, reflect.Complex128:
995 case reflect.String:
997 case reflect.Interface:
999 case reflect.Array:
1005 case reflect.Map:
1011 case reflect.Slice:
1013 if t.Elem().Kind() == reflect.Uint8 {
1025 case reflect.Struct:
1046 if !dec.compatibleType(rt, remoteId, make(map[reflect
1049 if ut.base.Kind() == reflect.Interface && remoteId != tInterface {
1054 op := dec.decOpFor(remoteId, rt, name, make(map[reflect.Type]*decOp))
1078 if srt.Kind() != reflect.Struct || ut.externalDec != 0 {
1098 seen := make(map[reflect.Type]*decOp)
1114 if !dec.compatibleType(localField.Type, wireField.Id, make(map[reflect.Type]typeId)) {
1147 var emptyStructType = reflect.TypeOf(emptyStruct{})
1170 func (dec *Decoder) decodeValue(wireId typeId, value reflect.Value) {
1187 if st := base; st.Kind() == reflect.Struct && ut.externalDec == 0 {
1217 switch reflect.TypeOf(int(0)).Bits() {
1227 decOpTable[reflect.Int] = iop
1228 decOpTable[reflect.Uint] = uop
1231 switch reflect.TypeOf(uintptr(0)).Bits() {
1239 decOpTable[reflect.Uintptr] = uop
1244 // of the standard reflect.Zero.
1246 func allocValue(t reflect.Type) reflect.Value {
1247 return reflect.New(t).Elem()