Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Unified Diff: sync/syncable/entry_kernel.cc

Issue 1258863007: [Sync] Add more info for invalid position check (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove change from directory since too much test failures Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sync/syncable/entry_kernel.cc
diff --git a/sync/syncable/entry_kernel.cc b/sync/syncable/entry_kernel.cc
index d73acafd850f76d58590ed2a70cb17fe976b0fb9..a60dead16926b060b5ecca9e550441e1711fed80 100644
--- a/sync/syncable/entry_kernel.cc
+++ b/sync/syncable/entry_kernel.cc
@@ -4,6 +4,7 @@
#include "sync/syncable/entry_kernel.h"
+#include "base/json/string_escape.h"
#include "base/strings/string_number_conversions.h"
#include "sync/protocol/proto_value_conversions.h"
#include "sync/syncable/syncable_enum_conversions.h"
@@ -236,5 +237,54 @@ base::DictionaryValue* EntryKernelMutationToValue(
return dict;
}
+std::ostream& operator<<(std::ostream& os, const EntryKernel& entry_kernel) {
+ int i;
+ EntryKernel* const kernel = const_cast<EntryKernel*>(&entry_kernel);
+ for (i = BEGIN_FIELDS; i < INT64_FIELDS_END; ++i) {
+ os << g_metas_columns[i].name << ": "
+ << kernel->ref(static_cast<Int64Field>(i)) << ", ";
+ }
+ for (; i < TIME_FIELDS_END; ++i) {
+ os << g_metas_columns[i].name << ": "
+ << GetTimeDebugString(kernel->ref(static_cast<TimeField>(i))) << ", ";
+ }
+ for (; i < ID_FIELDS_END; ++i) {
+ os << g_metas_columns[i].name << ": "
+ << kernel->ref(static_cast<IdField>(i)) << ", ";
+ }
+ os << "Flags: ";
+ for (; i < BIT_FIELDS_END; ++i) {
+ if (kernel->ref(static_cast<BitField>(i)))
+ os << g_metas_columns[i].name << ", ";
+ }
+ for (; i < STRING_FIELDS_END; ++i) {
+ const std::string& field = kernel->ref(static_cast<StringField>(i));
+ os << g_metas_columns[i].name << ": " << field << ", ";
+ }
+ for (; i < PROTO_FIELDS_END; ++i) {
+ std::string escaped_str = base::EscapeBytesAsInvalidJSONString(
+ kernel->ref(static_cast<ProtoField>(i)).SerializeAsString(), false);
+ os << g_metas_columns[i].name << ": " << escaped_str << ", ";
+ }
+ for (; i < UNIQUE_POSITION_FIELDS_END; ++i) {
+ os << g_metas_columns[i].name << ": "
+ << kernel->ref(static_cast<UniquePositionField>(i)).ToDebugString()
+ << ", ";
+ }
+ for (; i < ATTACHMENT_METADATA_FIELDS_END; ++i) {
+ std::string escaped_str = base::EscapeBytesAsInvalidJSONString(
+ kernel->ref(static_cast<AttachmentMetadataField>(i))
+ .SerializeAsString(),
+ false);
+ os << g_metas_columns[i].name << ": " << escaped_str << ", ";
+ }
+ os << "TempFlags: ";
+ for (; i < BIT_TEMPS_END; ++i) {
+ if (kernel->ref(static_cast<BitTemp>(i)))
+ os << "#" << i - BIT_TEMPS_BEGIN << ", ";
+ }
+ return os;
+}
+
} // namespace syncer
} // namespace syncable

Powered by Google App Engine
This is Rietveld 408576698