Source File
presence.go
Belonging Package
google.golang.org/protobuf/internal/filedesc
// Copyright 2025 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 filedescimport// UsePresenceForField reports whether the presence bitmap should be used for// the specified field.func ( protoreflect.FieldDescriptor) (, bool) {switch {case .ContainingOneof() != nil && !.ContainingOneof().IsSynthetic():// Oneof fields never use the presence bitmap.//// Synthetic oneofs are an exception: Those are used to implement proto3// optional fields and hence should follow non-oneof field semantics.return false, falsecase .IsMap():// Map-typed fields never use the presence bitmap.return false, falsecase .Kind() == protoreflect.MessageKind || .Kind() == protoreflect.GroupKind:// Lazy fields always use the presence bitmap (only messages can be lazy).:= .(interface{ () bool }).()return ,default:// If the field has presence, use the presence bitmap.return .HasPresence(), false}}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |