aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Moreland <smoreland@google.com>2019-10-25 09:58:20 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-10-25 09:58:20 -0700
commit501b3b07776bb411f281a4cd4f89b47c0ce68414 (patch)
tree43ceb81188314c2c7b2583e008d5c81c4b8fbb6b
parent6684bef9cb0c5d2a9732883672e609a0fad99695 (diff)
parent6d17d44eb2e881ee84a670529e36a84315156a2b (diff)
downloadhidl-501b3b07776bb411f281a4cd4f89b47c0ce68414.tar.gz
Merge "EnumType: forEachValueFromRoot const" am: 01cc1984c7
am: 6d17d44eb2 Change-Id: Iea02061d11d01e5f64fd24801bf3003b556d71f4
-rw-r--r--EnumType.cpp12
-rw-r--r--EnumType.h2
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
diff --git a/EnumType.h b/EnumType.h
index 98ed8182..2093c37e 100644
--- a/EnumType.h
+++ b/EnumType.h
@@ -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;