Revert "Move CompoundType definitions to headers."
This reverts commit f29457e0f9b94ac8b095a25f62435b2ffe7029a0.
Reason for revert: on top of change that breaks prebuilts
Change-Id: I376751e5ad6af8811ac5ed5331461431f03c9e0b
diff --git a/CompoundType.cpp b/CompoundType.cpp
index 583152b..6eddb34 100644
--- a/CompoundType.cpp
+++ b/CompoundType.cpp
@@ -445,25 +445,13 @@
}).endl().endl();
if (canCheckEquality()) {
- out << "static inline bool operator==("
- << getCppArgumentType() << " " << (mFields->empty() ? "/* lhs */" : "lhs") << ", "
- << getCppArgumentType() << " " << (mFields->empty() ? "/* rhs */" : "rhs") << ") ";
- out.block([&] {
- for (const auto &field : *mFields) {
- out.sIf("lhs." + field->name() + " != rhs." + field->name(), [&] {
- out << "return false;\n";
- }).endl();
- }
- out << "return true;\n";
- }).endl().endl();
+ out << "bool operator==("
+ << getCppArgumentType() << ", " << getCppArgumentType() << ");\n\n";
- out << "static inline bool operator!=("
- << getCppArgumentType() << " lhs," << getCppArgumentType() << " rhs)";
- out.block([&] {
- out << "return !(lhs == rhs);\n";
- }).endl().endl();
+ out << "bool operator!=("
+ << getCppArgumentType() << ", " << getCppArgumentType() << ");\n\n";
} else {
- out << "// operator== and operator!= are not generated for " << localName() << "\n";
+ out << "// operator== and operator!= are not generated for " << localName() << "\n\n";
}
return OK;
@@ -531,6 +519,28 @@
emitResolveReferenceDef(out, prefix, false /* isReader */);
}
+ if (canCheckEquality()) {
+ out << "bool operator==("
+ << getCppArgumentType() << " " << (mFields->empty() ? "/* lhs */" : "lhs") << ", "
+ << getCppArgumentType() << " " << (mFields->empty() ? "/* rhs */" : "rhs") << ") ";
+ out.block([&] {
+ for (const auto &field : *mFields) {
+ out.sIf("lhs." + field->name() + " != rhs." + field->name(), [&] {
+ out << "return false;\n";
+ }).endl();
+ }
+ out << "return true;\n";
+ }).endl().endl();
+
+ out << "bool operator!=("
+ << getCppArgumentType() << " lhs," << getCppArgumentType() << " rhs)";
+ out.block([&] {
+ out << "return !(lhs == rhs);\n";
+ }).endl().endl();
+ } else {
+ out << "// operator== and operator!= are not generated for " << localName() << "\n";
+ }
+
return OK;
}