upb: dedup upb/message/

Remove message/message.h as a hdr from :message_internal
Lock down the visibility of :message_types to upb-only

message/types.h is not an internal header because the definitions there are part of the public surface. But the fact that it needs to exist is an implementation detail that should remain opaque, so make it a private dep.

PiperOrigin-RevId: 558960776
pull/13675/head^2
Eric Salo 2 years ago committed by Copybara-Service
parent 28659e20f2
commit 6d458db48b
  1. 14
      BUILD
  2. 7
      protos/BUILD
  3. 1
      protos/protos.cc
  4. 2
      protos/protos_internal.h
  5. 18
      upb/message/BUILD
  6. 1
      upb/message/copy.c
  7. 1
      upb/message/message.h
  8. 2
      upb/message/tagged_ptr.h
  9. 8
      upb/message/types.h
  10. 4
      upb/mini_table/BUILD
  11. 2
      upb/mini_table/internal/message.h
  12. 3
      upb/wire/BUILD

14
BUILD

@ -119,6 +119,7 @@ cc_library(
":collections",
":collections_internal",
":mem",
":message",
":message_accessors",
":message_accessors_internal",
":message_internal",
@ -387,8 +388,8 @@ alias(
)
alias(
name = "message_typedef",
actual = "//upb/message:typedef",
name = "message_types",
actual = "//upb/message:types",
visibility = ["//visibility:public"],
)
@ -523,11 +524,12 @@ upb_amalgamation(
":lex",
":mem",
":mem_internal",
":message",
":message_accessors",
":message_internal",
":message_rep_internal",
":message_tagged_ptr",
":message_typedef",
":message_types",
":mini_descriptor",
":mini_descriptor_internal",
":mini_table",
@ -569,11 +571,12 @@ upb_amalgamation(
":lex",
":mem",
":mem_internal",
":message",
":message_accessors",
":message_internal",
":message_rep_internal",
":message_tagged_ptr",
":message_typedef",
":message_types",
":mini_descriptor",
":mini_descriptor_internal",
":mini_table",
@ -616,11 +619,12 @@ upb_amalgamation(
":lex",
":mem",
":mem_internal",
":message",
":message_accessors",
":message_internal",
":message_rep_internal",
":message_tagged_ptr",
":message_typedef",
":message_types",
":mini_descriptor",
":mini_descriptor_internal",
":mini_table",

@ -79,7 +79,6 @@ cc_library(
"//:message_copy",
"//:message_internal",
"//:message_promote",
"//:message_typedef",
"//:mini_table",
"//:wire",
"@com_google_absl//absl/base:core_headers",
@ -108,7 +107,7 @@ cc_library(
deps = [
":protos",
"//:mem",
"//:message_typedef",
"//:message",
"//:mini_table",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
@ -123,7 +122,7 @@ cc_library(
copts = UPB_DEFAULT_CPPOPTS,
visibility = ["//visibility:public"],
deps = [
"//:message_typedef",
"//:message",
"@com_google_absl//absl/base:core_headers",
"@com_google_absl//absl/synchronization",
],
@ -142,7 +141,7 @@ cc_library(
":protos_internal",
":repeated_field",
"//:mem",
"//:message_typedef",
"//:message",
],
)

@ -42,7 +42,6 @@
#include "upb/message/copy.h"
#include "upb/message/internal/extension.h"
#include "upb/message/promote.h"
#include "upb/message/typedef.h"
#include "upb/mini_table/extension.h"
#include "upb/mini_table/extension_registry.h"
#include "upb/mini_table/message.h"

@ -32,7 +32,7 @@
#define UPB_PROTOS_PROTOS_INTERNAL_H_
#include "upb/mem/arena.h"
#include "upb/message/typedef.h"
#include "upb/message/message.h"
namespace protos::internal {

@ -43,6 +43,7 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
":internal",
":message",
"//:base",
"//:collections",
"//:collections_internal",
@ -83,7 +84,8 @@ cc_library(
deps = [
":accessors",
":internal",
":typedef",
":message",
":types",
"//:base",
"//:collections_internal",
"//:mem",
@ -97,15 +99,16 @@ cc_library(
name = "internal",
srcs = [
"message.c",
"message.h",
],
hdrs = [
"internal/extension.h",
"internal/message.h",
"message.h",
],
copts = UPB_DEFAULT_COPTS,
visibility = ["//visibility:public"],
deps = [
":types",
"//:base",
"//:base_internal",
"//:hash",
@ -124,6 +127,7 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
":internal",
":types",
"//:base",
"//:mem",
"//:mini_table",
@ -144,7 +148,8 @@ cc_library(
deps = [
":accessors",
":internal",
":typedef",
":message",
":types",
"//:base",
"//:collections",
"//:collections_internal",
@ -190,15 +195,15 @@ cc_library(
copts = UPB_DEFAULT_COPTS,
visibility = ["//visibility:public"],
deps = [
":typedef",
":types",
"//:port",
],
)
cc_library(
name = "typedef",
name = "types",
hdrs = [
"typedef.h",
"types.h",
],
copts = UPB_DEFAULT_COPTS,
visibility = ["//visibility:public"],
@ -254,6 +259,7 @@ cc_test(
":accessors",
":copy",
":internal",
":message",
"//:base",
"//:collections",
"//:mem",

@ -39,7 +39,6 @@
#include "upb/message/accessors.h"
#include "upb/message/internal/message.h"
#include "upb/message/message.h"
#include "upb/message/typedef.h"
#include "upb/mini_table/field.h"
#include "upb/mini_table/internal/field.h"

@ -36,6 +36,7 @@
#define UPB_MESSAGE_MESSAGE_H_
#include "upb/mem/arena.h"
#include "upb/message/types.h"
#include "upb/mini_table/message.h"
// Must be last.

@ -33,7 +33,7 @@
#include <stdint.h>
#include "upb/message/typedef.h"
#include "upb/message/types.h"
// Must be last.
#include "upb/port/def.inc"

@ -28,11 +28,11 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef UPB_MESSAGE_TYPEDEF_H_
#define UPB_MESSAGE_TYPEDEF_H_
#ifndef UPB_MESSAGE_TYPES_H_
#define UPB_MESSAGE_TYPES_H_
// This typedef needs its own header to resolve a circular dependency between
// This typedef is in a leaf header to resolve a circular dependency between
// messages and mini tables.
typedef void upb_Message;
#endif /* UPB_MESSAGE_TYPEDEF_H_ */
#endif /* UPB_MESSAGE_TYPES_H_ */

@ -50,7 +50,7 @@ cc_library(
"//:base",
"//:hash",
"//:mem",
"//:message_typedef",
"//:message_types",
"//:port",
],
)
@ -71,7 +71,7 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
"//:base",
"//:message_typedef",
"//:message_types",
"//:port",
],
)

@ -31,7 +31,7 @@
#ifndef UPB_MINI_TABLE_INTERNAL_MESSAGE_H_
#define UPB_MINI_TABLE_INTERNAL_MESSAGE_H_
#include "upb/message/typedef.h"
#include "upb/message/types.h"
#include "upb/mini_table/internal/field.h"
// Must be last.

@ -39,7 +39,7 @@ cc_library(
deps = [
":internal",
"//:mem",
"//:message_internal",
"//:message",
"//:mini_table",
"//:port",
],
@ -71,6 +71,7 @@ cc_library(
"//:collections_internal",
"//:mem",
"//:mem_internal",
"//:message",
"//:message_accessors_internal",
"//:message_internal",
"//:message_rep_internal",

Loading…
Cancel
Save