|  | // Copyright 2024 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | package reflection_test | 
|  |  | 
|  | import ( | 
|  | "fmt" | 
|  | "testing" | 
|  |  | 
|  | testpb "google.golang.org/protobuf/internal/testprotos/testeditions/testeditions_opaque" | 
|  | "google.golang.org/protobuf/reflect/protoreflect" | 
|  | ) | 
|  |  | 
|  | func TestLargeOpaqueConcrete(t *testing.T) { | 
|  | for _, tt := range lazyCombinations { | 
|  | t.Run(tt.desc, func(t *testing.T) { | 
|  | tt.ptm.Test(t, newTestMessageLargeOpaque(nil).ProtoReflect().Type()) | 
|  | }) | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestLargeOpaqueReflection(t *testing.T) { | 
|  | for _, tt := range lazyCombinations { | 
|  | t.Run(tt.desc, func(t *testing.T) { | 
|  | tt.ptm.Test(t, (*testpb.TestManyMessageFieldsMessage)(nil).ProtoReflect().Type()) | 
|  | }) | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestLargeOpaqueShadow_GetConcrete_SetReflection(t *testing.T) { | 
|  | for _, tt := range lazyCombinations { | 
|  | t.Run(tt.desc, func(t *testing.T) { | 
|  | tt.ptm.Test(t, newShadow(func() (get, set protoreflect.ProtoMessage) { | 
|  | m := &testpb.TestManyMessageFieldsMessage{} | 
|  | return newTestMessageLargeOpaque(m), m | 
|  | }).ProtoReflect().Type()) | 
|  | }) | 
|  | } | 
|  | } | 
|  |  | 
|  | func TestLargeOpaqueShadow_GetReflection_SetConcrete(t *testing.T) { | 
|  | for _, tt := range lazyCombinations { | 
|  | t.Run(tt.desc, func(t *testing.T) { | 
|  | tt.ptm.Test(t, newShadow(func() (get, set protoreflect.ProtoMessage) { | 
|  | m := &testpb.TestManyMessageFieldsMessage{} | 
|  | return m, newTestMessageLargeOpaque(m) | 
|  | }).ProtoReflect().Type()) | 
|  | }) | 
|  | } | 
|  | } | 
|  |  | 
|  | func newTestMessageLargeOpaque(m *testpb.TestManyMessageFieldsMessage) protoreflect.ProtoMessage { | 
|  | return &testProtoMessage{ | 
|  | m:  m, | 
|  | md: m.ProtoReflect().Descriptor(), | 
|  | new: func() protoreflect.Message { | 
|  | return newTestMessageLargeOpaque(&testpb.TestManyMessageFieldsMessage{}).ProtoReflect() | 
|  | }, | 
|  | has: func(num protoreflect.FieldNumber) bool { | 
|  | switch num { | 
|  | case largeFieldF1: | 
|  | return m.HasF1() | 
|  | case largeFieldF2: | 
|  | return m.HasF2() | 
|  | case largeFieldF3: | 
|  | return m.HasF3() | 
|  | case largeFieldF4: | 
|  | return m.HasF4() | 
|  | case largeFieldF5: | 
|  | return m.HasF5() | 
|  | case largeFieldF6: | 
|  | return m.HasF6() | 
|  | case largeFieldF7: | 
|  | return m.HasF7() | 
|  | case largeFieldF8: | 
|  | return m.HasF8() | 
|  | case largeFieldF9: | 
|  | return m.HasF9() | 
|  | case largeFieldF10: | 
|  | return m.HasF10() | 
|  | case largeFieldF11: | 
|  | return m.HasF11() | 
|  | case largeFieldF12: | 
|  | return m.HasF12() | 
|  | case largeFieldF13: | 
|  | return m.HasF13() | 
|  | case largeFieldF14: | 
|  | return m.HasF14() | 
|  | case largeFieldF15: | 
|  | return m.HasF15() | 
|  | case largeFieldF16: | 
|  | return m.HasF16() | 
|  | case largeFieldF17: | 
|  | return m.HasF17() | 
|  | case largeFieldF18: | 
|  | return m.HasF18() | 
|  | case largeFieldF19: | 
|  | return m.HasF19() | 
|  | case largeFieldF20: | 
|  | return m.HasF20() | 
|  | case largeFieldF21: | 
|  | return m.HasF21() | 
|  | case largeFieldF22: | 
|  | return m.HasF22() | 
|  | case largeFieldF23: | 
|  | return m.HasF23() | 
|  | case largeFieldF24: | 
|  | return m.HasF24() | 
|  | case largeFieldF25: | 
|  | return m.HasF25() | 
|  | case largeFieldF26: | 
|  | return m.HasF26() | 
|  | case largeFieldF27: | 
|  | return m.HasF27() | 
|  | case largeFieldF28: | 
|  | return m.HasF28() | 
|  | case largeFieldF29: | 
|  | return m.HasF29() | 
|  | case largeFieldF30: | 
|  | return m.HasF30() | 
|  | case largeFieldF31: | 
|  | return m.HasF31() | 
|  | case largeFieldF32: | 
|  | return m.HasF32() | 
|  | case largeFieldF33: | 
|  | return m.HasF33() | 
|  | case largeFieldF34: | 
|  | return m.HasF34() | 
|  | case largeFieldF35: | 
|  | return m.HasF35() | 
|  | case largeFieldF36: | 
|  | return m.HasF36() | 
|  | case largeFieldF37: | 
|  | return m.HasF37() | 
|  | case largeFieldF38: | 
|  | return m.HasF38() | 
|  | case largeFieldF39: | 
|  | return m.HasF39() | 
|  | case largeFieldF40: | 
|  | return m.HasF40() | 
|  | case largeFieldF41: | 
|  | return m.HasF41() | 
|  | case largeFieldF42: | 
|  | return m.HasF42() | 
|  | case largeFieldF43: | 
|  | return m.HasF43() | 
|  | case largeFieldF44: | 
|  | return m.HasF44() | 
|  | case largeFieldF45: | 
|  | return m.HasF45() | 
|  | case largeFieldF46: | 
|  | return m.HasF46() | 
|  | case largeFieldF47: | 
|  | return m.HasF47() | 
|  | case largeFieldF48: | 
|  | return m.HasF48() | 
|  | case largeFieldF49: | 
|  | return m.HasF49() | 
|  | case largeFieldF50: | 
|  | return m.HasF50() | 
|  | case largeFieldF51: | 
|  | return m.HasF51() | 
|  | case largeFieldF52: | 
|  | return m.HasF52() | 
|  | case largeFieldF53: | 
|  | return m.HasF53() | 
|  | case largeFieldF54: | 
|  | return m.HasF54() | 
|  | case largeFieldF55: | 
|  | return m.HasF55() | 
|  | case largeFieldF56: | 
|  | return m.HasF56() | 
|  | case largeFieldF57: | 
|  | return m.HasF57() | 
|  | case largeFieldF58: | 
|  | return m.HasF58() | 
|  | case largeFieldF59: | 
|  | return m.HasF59() | 
|  | case largeFieldF60: | 
|  | return m.HasF60() | 
|  | case largeFieldF60: | 
|  | return m.HasF60() | 
|  | case largeFieldF61: | 
|  | return m.HasF61() | 
|  | case largeFieldF62: | 
|  | return m.HasF62() | 
|  | case largeFieldF63: | 
|  | return m.HasF63() | 
|  | case largeFieldF64: | 
|  | return m.HasF64() | 
|  | case largeFieldF65: | 
|  | return m.HasF65() | 
|  | case largeFieldF66: | 
|  | return m.HasF66() | 
|  | case largeFieldF67: | 
|  | return m.HasF67() | 
|  | case largeFieldF68: | 
|  | return m.HasF68() | 
|  | case largeFieldF69: | 
|  | return m.HasF69() | 
|  | case largeFieldF70: | 
|  | return m.HasF70() | 
|  | case largeFieldF71: | 
|  | return m.HasF71() | 
|  | case largeFieldF72: | 
|  | return m.HasF72() | 
|  | case largeFieldF73: | 
|  | return m.HasF73() | 
|  | case largeFieldF74: | 
|  | return m.HasF74() | 
|  | case largeFieldF75: | 
|  | return m.HasF75() | 
|  | case largeFieldF76: | 
|  | return m.HasF76() | 
|  | case largeFieldF77: | 
|  | return m.HasF77() | 
|  | case largeFieldF78: | 
|  | return m.HasF78() | 
|  | case largeFieldF79: | 
|  | return m.HasF79() | 
|  | case largeFieldF80: | 
|  | return m.HasF80() | 
|  | case largeFieldF81: | 
|  | return m.HasF81() | 
|  | case largeFieldF82: | 
|  | return m.HasF82() | 
|  | case largeFieldF83: | 
|  | return m.HasF83() | 
|  | case largeFieldF84: | 
|  | return m.HasF84() | 
|  | case largeFieldF85: | 
|  | return m.HasF85() | 
|  | case largeFieldF86: | 
|  | return m.HasF86() | 
|  | case largeFieldF87: | 
|  | return m.HasF87() | 
|  | case largeFieldF88: | 
|  | return m.HasF88() | 
|  | case largeFieldF89: | 
|  | return m.HasF89() | 
|  | case largeFieldF90: | 
|  | return m.HasF90() | 
|  | case largeFieldF91: | 
|  | return m.HasF91() | 
|  | case largeFieldF92: | 
|  | return m.HasF92() | 
|  | case largeFieldF93: | 
|  | return m.HasF93() | 
|  | case largeFieldF94: | 
|  | return m.HasF94() | 
|  | case largeFieldF95: | 
|  | return m.HasF95() | 
|  | case largeFieldF96: | 
|  | return m.HasF96() | 
|  | case largeFieldF97: | 
|  | return m.HasF97() | 
|  | case largeFieldF98: | 
|  | return m.HasF98() | 
|  | case largeFieldF99: | 
|  | return m.HasF99() | 
|  | case largeFieldF100: | 
|  | return m.HasF100() | 
|  |  | 
|  | default: | 
|  | panic(fmt.Sprintf("has: unknown field %d", num)) | 
|  | } | 
|  | }, | 
|  | get: func(num protoreflect.FieldNumber) any { | 
|  | switch num { | 
|  | case largeFieldF1: | 
|  | return m.GetF1() | 
|  | case largeFieldF2: | 
|  | return m.GetF2() | 
|  | case largeFieldF3: | 
|  | return m.GetF3() | 
|  | case largeFieldF4: | 
|  | return m.GetF4() | 
|  | case largeFieldF5: | 
|  | return m.GetF5() | 
|  | case largeFieldF6: | 
|  | return m.GetF6() | 
|  | case largeFieldF7: | 
|  | return m.GetF7() | 
|  | case largeFieldF8: | 
|  | return m.GetF8() | 
|  | case largeFieldF9: | 
|  | return m.GetF9() | 
|  | case largeFieldF10: | 
|  | return m.GetF10() | 
|  | case largeFieldF11: | 
|  | return m.GetF11() | 
|  | case largeFieldF12: | 
|  | return m.GetF12() | 
|  | case largeFieldF13: | 
|  | return m.GetF13() | 
|  | case largeFieldF14: | 
|  | return m.GetF14() | 
|  | case largeFieldF15: | 
|  | return m.GetF15() | 
|  | case largeFieldF16: | 
|  | return m.GetF16() | 
|  | case largeFieldF17: | 
|  | return m.GetF17() | 
|  | case largeFieldF18: | 
|  | return m.GetF18() | 
|  | case largeFieldF19: | 
|  | return m.GetF19() | 
|  | case largeFieldF20: | 
|  | return m.GetF20() | 
|  | case largeFieldF21: | 
|  | return m.GetF21() | 
|  | case largeFieldF22: | 
|  | return m.GetF22() | 
|  | case largeFieldF23: | 
|  | return m.GetF23() | 
|  | case largeFieldF24: | 
|  | return m.GetF24() | 
|  | case largeFieldF25: | 
|  | return m.GetF25() | 
|  | case largeFieldF26: | 
|  | return m.GetF26() | 
|  | case largeFieldF27: | 
|  | return m.GetF27() | 
|  | case largeFieldF28: | 
|  | return m.GetF28() | 
|  | case largeFieldF29: | 
|  | return m.GetF29() | 
|  | case largeFieldF30: | 
|  | return m.GetF30() | 
|  | case largeFieldF31: | 
|  | return m.GetF31() | 
|  | case largeFieldF32: | 
|  | return m.GetF32() | 
|  | case largeFieldF33: | 
|  | return m.GetF33() | 
|  | case largeFieldF34: | 
|  | return m.GetF34() | 
|  | case largeFieldF35: | 
|  | return m.GetF35() | 
|  | case largeFieldF36: | 
|  | return m.GetF36() | 
|  | case largeFieldF37: | 
|  | return m.GetF37() | 
|  | case largeFieldF38: | 
|  | return m.GetF38() | 
|  | case largeFieldF39: | 
|  | return m.GetF39() | 
|  | case largeFieldF40: | 
|  | return m.GetF40() | 
|  | case largeFieldF41: | 
|  | return m.GetF41() | 
|  | case largeFieldF42: | 
|  | return m.GetF42() | 
|  | case largeFieldF43: | 
|  | return m.GetF43() | 
|  | case largeFieldF44: | 
|  | return m.GetF44() | 
|  | case largeFieldF45: | 
|  | return m.GetF45() | 
|  | case largeFieldF46: | 
|  | return m.GetF46() | 
|  | case largeFieldF47: | 
|  | return m.GetF47() | 
|  | case largeFieldF48: | 
|  | return m.GetF48() | 
|  | case largeFieldF49: | 
|  | return m.GetF49() | 
|  | case largeFieldF50: | 
|  | return m.GetF50() | 
|  | case largeFieldF51: | 
|  | return m.GetF51() | 
|  | case largeFieldF52: | 
|  | return m.GetF52() | 
|  | case largeFieldF53: | 
|  | return m.GetF53() | 
|  | case largeFieldF54: | 
|  | return m.GetF54() | 
|  | case largeFieldF55: | 
|  | return m.GetF55() | 
|  | case largeFieldF56: | 
|  | return m.GetF56() | 
|  | case largeFieldF57: | 
|  | return m.GetF57() | 
|  | case largeFieldF58: | 
|  | return m.GetF58() | 
|  | case largeFieldF59: | 
|  | return m.GetF59() | 
|  | case largeFieldF60: | 
|  | return m.GetF60() | 
|  | case largeFieldF61: | 
|  | return m.GetF61() | 
|  | case largeFieldF62: | 
|  | return m.GetF62() | 
|  | case largeFieldF63: | 
|  | return m.GetF63() | 
|  | case largeFieldF64: | 
|  | return m.GetF64() | 
|  | case largeFieldF65: | 
|  | return m.GetF65() | 
|  | case largeFieldF66: | 
|  | return m.GetF66() | 
|  | case largeFieldF67: | 
|  | return m.GetF67() | 
|  | case largeFieldF68: | 
|  | return m.GetF68() | 
|  | case largeFieldF69: | 
|  | return m.GetF69() | 
|  | case largeFieldF70: | 
|  | return m.GetF70() | 
|  | case largeFieldF71: | 
|  | return m.GetF71() | 
|  | case largeFieldF72: | 
|  | return m.GetF72() | 
|  | case largeFieldF73: | 
|  | return m.GetF73() | 
|  | case largeFieldF74: | 
|  | return m.GetF74() | 
|  | case largeFieldF75: | 
|  | return m.GetF75() | 
|  | case largeFieldF76: | 
|  | return m.GetF76() | 
|  | case largeFieldF77: | 
|  | return m.GetF77() | 
|  | case largeFieldF78: | 
|  | return m.GetF78() | 
|  | case largeFieldF79: | 
|  | return m.GetF79() | 
|  | case largeFieldF80: | 
|  | return m.GetF80() | 
|  | case largeFieldF81: | 
|  | return m.GetF81() | 
|  | case largeFieldF82: | 
|  | return m.GetF82() | 
|  | case largeFieldF83: | 
|  | return m.GetF83() | 
|  | case largeFieldF84: | 
|  | return m.GetF84() | 
|  | case largeFieldF85: | 
|  | return m.GetF85() | 
|  | case largeFieldF86: | 
|  | return m.GetF86() | 
|  | case largeFieldF87: | 
|  | return m.GetF87() | 
|  | case largeFieldF88: | 
|  | return m.GetF88() | 
|  | case largeFieldF89: | 
|  | return m.GetF89() | 
|  | case largeFieldF90: | 
|  | return m.GetF90() | 
|  | case largeFieldF91: | 
|  | return m.GetF91() | 
|  | case largeFieldF92: | 
|  | return m.GetF92() | 
|  | case largeFieldF93: | 
|  | return m.GetF93() | 
|  | case largeFieldF94: | 
|  | return m.GetF94() | 
|  | case largeFieldF95: | 
|  | return m.GetF95() | 
|  | case largeFieldF96: | 
|  | return m.GetF96() | 
|  | case largeFieldF97: | 
|  | return m.GetF97() | 
|  | case largeFieldF98: | 
|  | return m.GetF98() | 
|  | case largeFieldF99: | 
|  | return m.GetF99() | 
|  | case largeFieldF100: | 
|  | return m.GetF100() | 
|  |  | 
|  | default: | 
|  | panic(fmt.Sprintf("get: unknown field %d", num)) | 
|  | } | 
|  | }, | 
|  | set: func(num protoreflect.FieldNumber, v any) { | 
|  | switch num { | 
|  | case largeFieldF1: | 
|  | m.SetF1(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF2: | 
|  | m.SetF2(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF3: | 
|  | m.SetF3(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF4: | 
|  | m.SetF4(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF5: | 
|  | m.SetF5(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF6: | 
|  | m.SetF6(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF7: | 
|  | m.SetF7(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF8: | 
|  | m.SetF8(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF9: | 
|  | m.SetF9(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF10: | 
|  | m.SetF10(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF11: | 
|  | m.SetF11(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF12: | 
|  | m.SetF12(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF13: | 
|  | m.SetF13(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF14: | 
|  | m.SetF14(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF15: | 
|  | m.SetF15(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF16: | 
|  | m.SetF16(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF17: | 
|  | m.SetF17(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF18: | 
|  | m.SetF18(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF19: | 
|  | m.SetF19(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF20: | 
|  | m.SetF20(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF21: | 
|  | m.SetF21(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF22: | 
|  | m.SetF22(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF23: | 
|  | m.SetF23(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF24: | 
|  | m.SetF24(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF25: | 
|  | m.SetF25(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF26: | 
|  | m.SetF26(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF27: | 
|  | m.SetF27(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF28: | 
|  | m.SetF28(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF29: | 
|  | m.SetF29(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF30: | 
|  | m.SetF30(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF31: | 
|  | m.SetF31(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF32: | 
|  | m.SetF32(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF33: | 
|  | m.SetF33(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF34: | 
|  | m.SetF34(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF35: | 
|  | m.SetF35(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF36: | 
|  | m.SetF36(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF37: | 
|  | m.SetF37(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF38: | 
|  | m.SetF38(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF39: | 
|  | m.SetF39(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF40: | 
|  | m.SetF40(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF41: | 
|  | m.SetF41(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF42: | 
|  | m.SetF42(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF43: | 
|  | m.SetF43(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF44: | 
|  | m.SetF44(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF45: | 
|  | m.SetF45(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF46: | 
|  | m.SetF46(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF47: | 
|  | m.SetF47(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF48: | 
|  | m.SetF48(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF49: | 
|  | m.SetF49(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF50: | 
|  | m.SetF50(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF51: | 
|  | m.SetF51(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF52: | 
|  | m.SetF52(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF53: | 
|  | m.SetF53(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF54: | 
|  | m.SetF54(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF55: | 
|  | m.SetF55(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF56: | 
|  | m.SetF56(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF57: | 
|  | m.SetF57(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF58: | 
|  | m.SetF58(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF59: | 
|  | m.SetF59(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF60: | 
|  | m.SetF60(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF61: | 
|  | m.SetF61(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF62: | 
|  | m.SetF62(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF63: | 
|  | m.SetF63(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF64: | 
|  | m.SetF64(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF65: | 
|  | m.SetF65(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF66: | 
|  | m.SetF66(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF67: | 
|  | m.SetF67(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF68: | 
|  | m.SetF68(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF69: | 
|  | m.SetF69(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF70: | 
|  | m.SetF70(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF71: | 
|  | m.SetF71(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF72: | 
|  | m.SetF72(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF73: | 
|  | m.SetF73(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF74: | 
|  | m.SetF74(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF75: | 
|  | m.SetF75(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF76: | 
|  | m.SetF76(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF77: | 
|  | m.SetF77(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF78: | 
|  | m.SetF78(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF79: | 
|  | m.SetF79(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF80: | 
|  | m.SetF80(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF81: | 
|  | m.SetF81(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF82: | 
|  | m.SetF82(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF83: | 
|  | m.SetF83(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF84: | 
|  | m.SetF84(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF85: | 
|  | m.SetF85(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF86: | 
|  | m.SetF86(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF87: | 
|  | m.SetF87(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF88: | 
|  | m.SetF88(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF89: | 
|  | m.SetF89(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF90: | 
|  | m.SetF90(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF91: | 
|  | m.SetF91(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF92: | 
|  | m.SetF92(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF93: | 
|  | m.SetF93(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF94: | 
|  | m.SetF94(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF95: | 
|  | m.SetF95(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF96: | 
|  | m.SetF96(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF97: | 
|  | m.SetF97(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF98: | 
|  | m.SetF98(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF99: | 
|  | m.SetF99(v.(*testpb.TestAllTypes)) | 
|  | case largeFieldF100: | 
|  | m.SetF100(v.(*testpb.TestAllTypes)) | 
|  |  | 
|  | default: | 
|  | panic(fmt.Sprintf("set: unknown field %d", num)) | 
|  | } | 
|  | }, | 
|  | clear: func(num protoreflect.FieldNumber) { | 
|  | switch num { | 
|  | case largeFieldF1: | 
|  | m.ClearF1() | 
|  | case largeFieldF2: | 
|  | m.ClearF2() | 
|  | case largeFieldF3: | 
|  | m.ClearF3() | 
|  | case largeFieldF4: | 
|  | m.ClearF4() | 
|  | case largeFieldF5: | 
|  | m.ClearF5() | 
|  | case largeFieldF6: | 
|  | m.ClearF6() | 
|  | case largeFieldF7: | 
|  | m.ClearF7() | 
|  | case largeFieldF8: | 
|  | m.ClearF8() | 
|  | case largeFieldF9: | 
|  | m.ClearF9() | 
|  | case largeFieldF10: | 
|  | m.ClearF10() | 
|  | case largeFieldF11: | 
|  | m.ClearF11() | 
|  | case largeFieldF12: | 
|  | m.ClearF12() | 
|  | case largeFieldF13: | 
|  | m.ClearF13() | 
|  | case largeFieldF14: | 
|  | m.ClearF14() | 
|  | case largeFieldF15: | 
|  | m.ClearF15() | 
|  | case largeFieldF16: | 
|  | m.ClearF16() | 
|  | case largeFieldF17: | 
|  | m.ClearF17() | 
|  | case largeFieldF18: | 
|  | m.ClearF18() | 
|  | case largeFieldF19: | 
|  | m.ClearF19() | 
|  | case largeFieldF20: | 
|  | m.ClearF20() | 
|  | case largeFieldF21: | 
|  | m.ClearF21() | 
|  | case largeFieldF22: | 
|  | m.ClearF22() | 
|  | case largeFieldF23: | 
|  | m.ClearF23() | 
|  | case largeFieldF24: | 
|  | m.ClearF24() | 
|  | case largeFieldF25: | 
|  | m.ClearF25() | 
|  | case largeFieldF26: | 
|  | m.ClearF26() | 
|  | case largeFieldF27: | 
|  | m.ClearF27() | 
|  | case largeFieldF28: | 
|  | m.ClearF28() | 
|  | case largeFieldF29: | 
|  | m.ClearF29() | 
|  | case largeFieldF30: | 
|  | m.ClearF30() | 
|  | case largeFieldF31: | 
|  | m.ClearF31() | 
|  | case largeFieldF32: | 
|  | m.ClearF32() | 
|  | case largeFieldF33: | 
|  | m.ClearF33() | 
|  | case largeFieldF34: | 
|  | m.ClearF34() | 
|  | case largeFieldF35: | 
|  | m.ClearF35() | 
|  | case largeFieldF36: | 
|  | m.ClearF36() | 
|  | case largeFieldF37: | 
|  | m.ClearF37() | 
|  | case largeFieldF38: | 
|  | m.ClearF38() | 
|  | case largeFieldF39: | 
|  | m.ClearF39() | 
|  | case largeFieldF40: | 
|  | m.ClearF40() | 
|  | case largeFieldF41: | 
|  | m.ClearF41() | 
|  | case largeFieldF42: | 
|  | m.ClearF42() | 
|  | case largeFieldF43: | 
|  | m.ClearF43() | 
|  | case largeFieldF44: | 
|  | m.ClearF44() | 
|  | case largeFieldF45: | 
|  | m.ClearF45() | 
|  | case largeFieldF46: | 
|  | m.ClearF46() | 
|  | case largeFieldF47: | 
|  | m.ClearF47() | 
|  | case largeFieldF48: | 
|  | m.ClearF48() | 
|  | case largeFieldF49: | 
|  | m.ClearF49() | 
|  | case largeFieldF50: | 
|  | m.ClearF50() | 
|  | case largeFieldF51: | 
|  | m.ClearF51() | 
|  | case largeFieldF52: | 
|  | m.ClearF52() | 
|  | case largeFieldF53: | 
|  | m.ClearF53() | 
|  | case largeFieldF54: | 
|  | m.ClearF54() | 
|  | case largeFieldF55: | 
|  | m.ClearF55() | 
|  | case largeFieldF56: | 
|  | m.ClearF56() | 
|  | case largeFieldF57: | 
|  | m.ClearF57() | 
|  | case largeFieldF58: | 
|  | m.ClearF58() | 
|  | case largeFieldF59: | 
|  | m.ClearF59() | 
|  | case largeFieldF60: | 
|  | m.ClearF60() | 
|  | case largeFieldF60: | 
|  | m.ClearF60() | 
|  | case largeFieldF61: | 
|  | m.ClearF61() | 
|  | case largeFieldF62: | 
|  | m.ClearF62() | 
|  | case largeFieldF63: | 
|  | m.ClearF63() | 
|  | case largeFieldF64: | 
|  | m.ClearF64() | 
|  | case largeFieldF65: | 
|  | m.ClearF65() | 
|  | case largeFieldF66: | 
|  | m.ClearF66() | 
|  | case largeFieldF67: | 
|  | m.ClearF67() | 
|  | case largeFieldF68: | 
|  | m.ClearF68() | 
|  | case largeFieldF69: | 
|  | m.ClearF69() | 
|  | case largeFieldF70: | 
|  | m.ClearF70() | 
|  | case largeFieldF71: | 
|  | m.ClearF71() | 
|  | case largeFieldF72: | 
|  | m.ClearF72() | 
|  | case largeFieldF73: | 
|  | m.ClearF73() | 
|  | case largeFieldF74: | 
|  | m.ClearF74() | 
|  | case largeFieldF75: | 
|  | m.ClearF75() | 
|  | case largeFieldF76: | 
|  | m.ClearF76() | 
|  | case largeFieldF77: | 
|  | m.ClearF77() | 
|  | case largeFieldF78: | 
|  | m.ClearF78() | 
|  | case largeFieldF79: | 
|  | m.ClearF79() | 
|  | case largeFieldF80: | 
|  | m.ClearF80() | 
|  | case largeFieldF81: | 
|  | m.ClearF81() | 
|  | case largeFieldF82: | 
|  | m.ClearF82() | 
|  | case largeFieldF83: | 
|  | m.ClearF83() | 
|  | case largeFieldF84: | 
|  | m.ClearF84() | 
|  | case largeFieldF85: | 
|  | m.ClearF85() | 
|  | case largeFieldF86: | 
|  | m.ClearF86() | 
|  | case largeFieldF87: | 
|  | m.ClearF87() | 
|  | case largeFieldF88: | 
|  | m.ClearF88() | 
|  | case largeFieldF89: | 
|  | m.ClearF89() | 
|  | case largeFieldF90: | 
|  | m.ClearF90() | 
|  | case largeFieldF91: | 
|  | m.ClearF91() | 
|  | case largeFieldF92: | 
|  | m.ClearF92() | 
|  | case largeFieldF93: | 
|  | m.ClearF93() | 
|  | case largeFieldF94: | 
|  | m.ClearF94() | 
|  | case largeFieldF95: | 
|  | m.ClearF95() | 
|  | case largeFieldF96: | 
|  | m.ClearF96() | 
|  | case largeFieldF97: | 
|  | m.ClearF97() | 
|  | case largeFieldF98: | 
|  | m.ClearF98() | 
|  | case largeFieldF99: | 
|  | m.ClearF99() | 
|  | case largeFieldF100: | 
|  | m.ClearF100() | 
|  |  | 
|  | default: | 
|  | panic(fmt.Sprintf("clear: unknown field %d", num)) | 
|  | } | 
|  | }, | 
|  | } | 
|  | } |