Internal Change.

PiperOrigin-RevId: 719398638
diff --git a/src/google/protobuf/message_lite.h b/src/google/protobuf/message_lite.h
index a95db71..9de5490 100644
--- a/src/google/protobuf/message_lite.h
+++ b/src/google/protobuf/message_lite.h
@@ -941,6 +941,25 @@
     return tc_table;
   }
 
+  // TODO: b/393403510 - For now, we return a void* to avoid taking a dependency
+  // to the V2 parse table header. This will require an additional
+  // reinterpret_cast in the V2 parse loop. When we start feeling confident in
+  // the V2 implementation, we can work on making this function return the
+  // proper type (should be internal::v2::ParseTableBase*).
+  const void* GetV2ParseTable() const {
+    auto* data = GetClassData();
+    ABSL_DCHECK_NE(data, nullptr);
+
+    auto* table = data->v2_parse_table;
+    // TODO: b/393403284 - The V1 implementation has a descriptor method that
+    // can get the parse table for dynamic messages:
+    // http://google3/third_party/protobuf/message_lite.h;l=490;rcl=718025165
+    //
+    // Eventually, we should also support that for V2 parse.
+    ABSL_DCHECK_NE(table, nullptr);
+    return table;
+  }
+
 #if defined(PROTOBUF_CUSTOM_VTABLE)
   explicit constexpr MessageLite(const internal::ClassData* data)
       : _class_data_(data) {}