blob: 8e95289504a4d0c204818aac173760573a121069 [file] [edit]
// Protocol Buffers - Google's data interchange format
// Copyright 2026 Google Inc. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd
// Two extension "shards" (GPBTestExtensionLinkShardReferenced.m and
// GPBTestExtensionLinkShardUnreferenced.m), each with one hand written
// extension section entry, in the same form the generator emits with the
// `experimental_global_extension_registry` option. They are built into a
// static library that is NOT always linked, and the tests only reference the
// referenced shard's function, so the linker only loads that shard's object
// file: only its entry is in the test binary's extension section.
#import "GPBDescriptor.h"
NS_ASSUME_NONNULL_BEGIN
// Extensions of TestAllExtensions. The field numbers are not used by any
// extension in the test protos.
enum {
kGPBTestExtensionLinkShardReferencedFieldNumber = 30005,
kGPBTestExtensionLinkShardUnreferencedFieldNumber = 30006,
};
// The extension in GPBTestExtensionLinkShardReferenced.m, like a generated
// extension function.
GPBExtensionDescriptor *GPBTestExtensionLinkShardReferencedExtension(void);
// The extension in GPBTestExtensionLinkShardUnreferenced.m. Must not be
// referenced by any test.
GPBExtensionDescriptor *GPBTestExtensionLinkShardUnreferencedExtension(void);
NS_ASSUME_NONNULL_END