diff options
author | Steven Moreland <smoreland@google.com> | 2019-10-25 09:58:20 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-10-25 09:58:20 -0700 |
commit | 501b3b07776bb411f281a4cd4f89b47c0ce68414 (patch) | |
tree | 43ceb81188314c2c7b2583e008d5c81c4b8fbb6b | |
parent | 6684bef9cb0c5d2a9732883672e609a0fad99695 (diff) | |
parent | 6d17d44eb2e881ee84a670529e36a84315156a2b (diff) | |
download | hidl-501b3b07776bb411f281a4cd4f89b47c0ce68414.tar.gz |
Merge "EnumType: forEachValueFromRoot const" am: 01cc1984c7
am: 6d17d44eb2
Change-Id: Iea02061d11d01e5f64fd24801bf3003b556d71f4
-rw-r--r-- | EnumType.cpp | 12 | ||||
-rw-r--r-- | EnumType.h | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/EnumType.cpp b/EnumType.cpp index b01e5b19..7c5ed070 100644 --- a/EnumType.cpp +++ b/EnumType.cpp @@ -40,11 +40,11 @@ const std::vector<EnumValue *> &EnumType::values() const { return mValues; } -void EnumType::forEachValueFromRoot(const std::function<void(EnumValue*)> f) const { +void EnumType::forEachValueFromRoot(const std::function<void(const EnumValue*)> f) const { std::vector<const EnumType*> chain = typeChain(); for (auto it = chain.rbegin(); it != chain.rend(); ++it) { const auto& type = *it; - for (EnumValue* v : type->values()) { + for (const EnumValue* v : type->values()) { f(v); } } @@ -449,7 +449,7 @@ void EnumType::emitPackageTypeHeaderDefinitions(Formatter& out) const { << "std::string os;\n" << getBitfieldCppType(StorageMode_Stack) << " flipped = 0;\n" << "bool first = true;\n"; - forEachValueFromRoot([&](EnumValue* value) { + forEachValueFromRoot([&](const EnumValue* value) { std::string valueName = fullName() + "::" + value->name(); out.sIf("(o & " + valueName + ")" + " == static_cast<" + scalarType->getCppStackType() + @@ -476,7 +476,7 @@ void EnumType::emitPackageTypeHeaderDefinitions(Formatter& out) const { out.block([&] { out << "using ::android::hardware::details::toHexString;\n"; - forEachValueFromRoot([&](EnumValue* value) { + forEachValueFromRoot([&](const EnumValue* value) { out.sIf("o == " + fullName() + "::" + value->name(), [&] { out << "return \"" << value->name() << "\";\n"; }).endl(); @@ -523,7 +523,7 @@ void EnumType::emitJavaTypeDeclarations(Formatter& out, bool atTopLevel) const { out << "public static final String toString(" << typeName << " o) "; out.block([&] { - forEachValueFromRoot([&](EnumValue* value) { + forEachValueFromRoot([&](const EnumValue* value) { out.sIf("o == " + value->name(), [&] { out << "return \"" << value->name() << "\";\n"; }).endl(); @@ -540,7 +540,7 @@ void EnumType::emitJavaTypeDeclarations(Formatter& out, bool atTopLevel) const { out.block([&] { out << "java.util.ArrayList<String> list = new java.util.ArrayList<>();\n"; out << bitfieldType << " flipped = 0;\n"; - forEachValueFromRoot([&](EnumValue* value) { + forEachValueFromRoot([&](const EnumValue* value) { if (value->constExpr()->castSizeT() == 0) { out << "list.add(\"" << value->name() << "\"); // " << value->name() << " == 0\n"; return; // continue to next value @@ -38,7 +38,7 @@ struct EnumType : public Scope { const std::vector<EnumValue *> &values() const; void addValue(EnumValue *value); - void forEachValueFromRoot(const std::function<void(EnumValue*)> f) const; + void forEachValueFromRoot(const std::function<void(const EnumValue*)> f) const; // This is the number of distinct keys (even if they have colliding values) size_t numValueNames() const; |