AAPT2: Rename to match new style

Use Google3 naming style to match new
projects' and open source google projects' style.

Preferred to do this in a massive CL so as to avoid
style inconsistencies that plague legacy code bases.
This is a relatively NEW code base, may as well keep
it up to date.

Test: name/style refactor - existing tests pass
Change-Id: Ie80ecb78d46ec53efdfca2336bb57d96cbb7fb87
diff --git a/tools/aapt2/link/AutoVersioner.cpp b/tools/aapt2/link/AutoVersioner.cpp
index 5ba9819..77471ea 100644
--- a/tools/aapt2/link/AutoVersioner.cpp
+++ b/tools/aapt2/link/AutoVersioner.cpp
@@ -14,34 +14,36 @@
  * limitations under the License.
  */
 
+#include "link/Linkers.h"
+
+#include <algorithm>
+
+#include "android-base/logging.h"
+
 #include "ConfigDescription.h"
 #include "ResourceTable.h"
 #include "SdkConstants.h"
 #include "ValueVisitor.h"
-#include "link/Linkers.h"
-
-#include <algorithm>
-#include <cassert>
 
 namespace aapt {
 
-bool shouldGenerateVersionedResource(const ResourceEntry* entry,
+bool ShouldGenerateVersionedResource(const ResourceEntry* entry,
                                      const ConfigDescription& config,
-                                     const int sdkVersionToGenerate) {
+                                     const int sdk_version_to_generate) {
   // We assume the caller is trying to generate a version greater than the
   // current configuration.
-  assert(sdkVersionToGenerate > config.sdkVersion);
+  CHECK(sdk_version_to_generate > config.sdkVersion);
 
-  const auto endIter = entry->values.end();
+  const auto end_iter = entry->values.end();
   auto iter = entry->values.begin();
-  for (; iter != endIter; ++iter) {
+  for (; iter != end_iter; ++iter) {
     if ((*iter)->config == config) {
       break;
     }
   }
 
   // The source config came from this list, so it should be here.
-  assert(iter != entry->values.end());
+  CHECK(iter != entry->values.end());
   ++iter;
 
   // The next configuration either only varies in sdkVersion, or it is
@@ -53,12 +55,12 @@
   // than other
   // qualifiers, so we need to iterate through the entire list to be sure there
   // are no higher sdk level versions of this resource.
-  ConfigDescription tempConfig(config);
-  for (; iter != endIter; ++iter) {
-    tempConfig.sdkVersion = (*iter)->config.sdkVersion;
-    if (tempConfig == (*iter)->config) {
+  ConfigDescription temp_config(config);
+  for (; iter != end_iter; ++iter) {
+    temp_config.sdkVersion = (*iter)->config.sdkVersion;
+    if (temp_config == (*iter)->config) {
       // The two configs are the same, check the sdk version.
-      return sdkVersionToGenerate < (*iter)->config.sdkVersion;
+      return sdk_version_to_generate < (*iter)->config.sdkVersion;
     }
   }
 
@@ -66,7 +68,7 @@
   return true;
 }
 
-bool AutoVersioner::consume(IAaptContext* context, ResourceTable* table) {
+bool AutoVersioner::Consume(IAaptContext* context, ResourceTable* table) {
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
       if (type->type != ResourceType::kStyle) {
@@ -75,36 +77,37 @@
 
       for (auto& entry : type->entries) {
         for (size_t i = 0; i < entry->values.size(); i++) {
-          ResourceConfigValue* configValue = entry->values[i].get();
-          if (configValue->config.sdkVersion >= SDK_LOLLIPOP_MR1) {
+          ResourceConfigValue* config_value = entry->values[i].get();
+          if (config_value->config.sdkVersion >= SDK_LOLLIPOP_MR1) {
             // If this configuration is only used on L-MR1 then we don't need
             // to do anything since we use private attributes since that
             // version.
             continue;
           }
 
-          if (Style* style = valueCast<Style>(configValue->value.get())) {
-            Maybe<size_t> minSdkStripped;
+          if (Style* style = ValueCast<Style>(config_value->value.get())) {
+            Maybe<size_t> min_sdk_stripped;
             std::vector<Style::Entry> stripped;
 
             auto iter = style->entries.begin();
             while (iter != style->entries.end()) {
-              assert(iter->key.id && "IDs must be assigned and linked");
+              CHECK(bool(iter->key.id)) << "IDs must be assigned and linked";
 
               // Find the SDK level that is higher than the configuration
               // allows.
-              const size_t sdkLevel =
-                  findAttributeSdkLevel(iter->key.id.value());
-              if (sdkLevel >
-                  std::max<size_t>(configValue->config.sdkVersion, 1)) {
+              const size_t sdk_level =
+                  FindAttributeSdkLevel(iter->key.id.value());
+              if (sdk_level >
+                  std::max<size_t>(config_value->config.sdkVersion, 1)) {
                 // Record that we are about to strip this.
                 stripped.emplace_back(std::move(*iter));
 
                 // We use the smallest SDK level to generate the new style.
-                if (minSdkStripped) {
-                  minSdkStripped = std::min(minSdkStripped.value(), sdkLevel);
+                if (min_sdk_stripped) {
+                  min_sdk_stripped =
+                      std::min(min_sdk_stripped.value(), sdk_level);
                 } else {
-                  minSdkStripped = sdkLevel;
+                  min_sdk_stripped = sdk_level;
                 }
 
                 // Erase this from this style.
@@ -114,31 +117,31 @@
               ++iter;
             }
 
-            if (minSdkStripped && !stripped.empty()) {
+            if (min_sdk_stripped && !stripped.empty()) {
               // We found attributes from a higher SDK level. Check that
               // there is no other defined resource for the version we want to
               // generate.
-              if (shouldGenerateVersionedResource(entry.get(),
-                                                  configValue->config,
-                                                  minSdkStripped.value())) {
+              if (ShouldGenerateVersionedResource(entry.get(),
+                                                  config_value->config,
+                                                  min_sdk_stripped.value())) {
                 // Let's create a new Style for this versioned resource.
-                ConfigDescription newConfig(configValue->config);
-                newConfig.sdkVersion = minSdkStripped.value();
+                ConfigDescription new_config(config_value->config);
+                new_config.sdkVersion = min_sdk_stripped.value();
 
-                std::unique_ptr<Style> newStyle(
-                    style->clone(&table->stringPool));
-                newStyle->setComment(style->getComment());
-                newStyle->setSource(style->getSource());
+                std::unique_ptr<Style> new_style(
+                    style->Clone(&table->string_pool));
+                new_style->SetComment(style->GetComment());
+                new_style->SetSource(style->GetSource());
 
                 // Move the previously stripped attributes into this style.
-                newStyle->entries.insert(
-                    newStyle->entries.end(),
+                new_style->entries.insert(
+                    new_style->entries.end(),
                     std::make_move_iterator(stripped.begin()),
                     std::make_move_iterator(stripped.end()));
 
                 // Insert the new Resource into the correct place.
-                entry->findOrCreateValue(newConfig, {})->value =
-                    std::move(newStyle);
+                entry->FindOrCreateValue(new_config, {})->value =
+                    std::move(new_style);
               }
             }
           }
diff --git a/tools/aapt2/link/AutoVersioner_test.cpp b/tools/aapt2/link/AutoVersioner_test.cpp
index 04bf9cd..755af0a 100644
--- a/tools/aapt2/link/AutoVersioner_test.cpp
+++ b/tools/aapt2/link/AutoVersioner_test.cpp
@@ -14,121 +14,124 @@
  * limitations under the License.
  */
 
-#include "ConfigDescription.h"
 #include "link/Linkers.h"
+
+#include "ConfigDescription.h"
 #include "test/Test.h"
 
 namespace aapt {
 
 TEST(AutoVersionerTest, GenerateVersionedResources) {
-  const ConfigDescription defaultConfig = {};
-  const ConfigDescription landConfig = test::parseConfigOrDie("land");
-  const ConfigDescription sw600dpLandConfig =
-      test::parseConfigOrDie("sw600dp-land");
+  const ConfigDescription land_config = test::ParseConfigOrDie("land");
+  const ConfigDescription sw600dp_land_config =
+      test::ParseConfigOrDie("sw600dp-land");
 
   ResourceEntry entry("foo");
+  entry.values.push_back(util::make_unique<ResourceConfigValue>(
+      ConfigDescription::DefaultConfig(), ""));
   entry.values.push_back(
-      util::make_unique<ResourceConfigValue>(defaultConfig, ""));
+      util::make_unique<ResourceConfigValue>(land_config, ""));
   entry.values.push_back(
-      util::make_unique<ResourceConfigValue>(landConfig, ""));
-  entry.values.push_back(
-      util::make_unique<ResourceConfigValue>(sw600dpLandConfig, ""));
+      util::make_unique<ResourceConfigValue>(sw600dp_land_config, ""));
 
-  EXPECT_TRUE(shouldGenerateVersionedResource(&entry, defaultConfig, 17));
-  EXPECT_TRUE(shouldGenerateVersionedResource(&entry, landConfig, 17));
+  EXPECT_TRUE(ShouldGenerateVersionedResource(
+      &entry, ConfigDescription::DefaultConfig(), 17));
+  EXPECT_TRUE(ShouldGenerateVersionedResource(&entry, land_config, 17));
 }
 
 TEST(AutoVersionerTest, GenerateVersionedResourceWhenHigherVersionExists) {
-  const ConfigDescription defaultConfig = {};
-  const ConfigDescription sw600dpV13Config =
-      test::parseConfigOrDie("sw600dp-v13");
-  const ConfigDescription v21Config = test::parseConfigOrDie("v21");
+  const ConfigDescription sw600dp_v13_config =
+      test::ParseConfigOrDie("sw600dp-v13");
+  const ConfigDescription v21_config = test::ParseConfigOrDie("v21");
 
   ResourceEntry entry("foo");
+  entry.values.push_back(util::make_unique<ResourceConfigValue>(
+      ConfigDescription::DefaultConfig(), ""));
   entry.values.push_back(
-      util::make_unique<ResourceConfigValue>(defaultConfig, ""));
+      util::make_unique<ResourceConfigValue>(sw600dp_v13_config, ""));
   entry.values.push_back(
-      util::make_unique<ResourceConfigValue>(sw600dpV13Config, ""));
-  entry.values.push_back(util::make_unique<ResourceConfigValue>(v21Config, ""));
+      util::make_unique<ResourceConfigValue>(v21_config, ""));
 
-  EXPECT_TRUE(shouldGenerateVersionedResource(&entry, defaultConfig, 17));
-  EXPECT_FALSE(shouldGenerateVersionedResource(&entry, defaultConfig, 22));
+  EXPECT_TRUE(ShouldGenerateVersionedResource(
+      &entry, ConfigDescription::DefaultConfig(), 17));
+  EXPECT_FALSE(ShouldGenerateVersionedResource(
+      &entry, ConfigDescription::DefaultConfig(), 22));
 }
 
 TEST(AutoVersionerTest, VersionStylesForTable) {
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .setPackageId("app", 0x7f)
-          .addValue(
-              "app:style/Foo", test::parseConfigOrDie("v4"),
+          .SetPackageId("app", 0x7f)
+          .AddValue(
+              "app:style/Foo", test::ParseConfigOrDie("v4"),
               ResourceId(0x7f020000),
               test::StyleBuilder()
-                  .addItem("android:attr/onClick", ResourceId(0x0101026f),
+                  .AddItem("android:attr/onClick", ResourceId(0x0101026f),
                            util::make_unique<Id>())
-                  .addItem("android:attr/paddingStart", ResourceId(0x010103b3),
+                  .AddItem("android:attr/paddingStart", ResourceId(0x010103b3),
                            util::make_unique<Id>())
-                  .addItem("android:attr/requiresSmallestWidthDp",
+                  .AddItem("android:attr/requiresSmallestWidthDp",
                            ResourceId(0x01010364), util::make_unique<Id>())
-                  .addItem("android:attr/colorAccent", ResourceId(0x01010435),
+                  .AddItem("android:attr/colorAccent", ResourceId(0x01010435),
                            util::make_unique<Id>())
-                  .build())
-          .addValue(
-              "app:style/Foo", test::parseConfigOrDie("v21"),
+                  .Build())
+          .AddValue(
+              "app:style/Foo", test::ParseConfigOrDie("v21"),
               ResourceId(0x7f020000),
               test::StyleBuilder()
-                  .addItem("android:attr/paddingEnd", ResourceId(0x010103b4),
+                  .AddItem("android:attr/paddingEnd", ResourceId(0x010103b4),
                            util::make_unique<Id>())
-                  .build())
-          .build();
+                  .Build())
+          .Build();
 
   std::unique_ptr<IAaptContext> context = test::ContextBuilder()
-                                              .setCompilationPackage("app")
-                                              .setPackageId(0x7f)
-                                              .build();
+                                              .SetCompilationPackage("app")
+                                              .SetPackageId(0x7f)
+                                              .Build();
 
   AutoVersioner versioner;
-  ASSERT_TRUE(versioner.consume(context.get(), table.get()));
+  ASSERT_TRUE(versioner.Consume(context.get(), table.get()));
 
-  Style* style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
-                                                test::parseConfigOrDie("v4"));
+  Style* style = test::GetValueForConfig<Style>(table.get(), "app:style/Foo",
+                                                test::ParseConfigOrDie("v4"));
   ASSERT_NE(style, nullptr);
   ASSERT_EQ(style->entries.size(), 1u);
   AAPT_ASSERT_TRUE(style->entries.front().key.name);
   EXPECT_EQ(style->entries.front().key.name.value(),
-            test::parseNameOrDie("android:attr/onClick"));
+            test::ParseNameOrDie("android:attr/onClick"));
 
-  style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
-                                         test::parseConfigOrDie("v13"));
+  style = test::GetValueForConfig<Style>(table.get(), "app:style/Foo",
+                                         test::ParseConfigOrDie("v13"));
   ASSERT_NE(style, nullptr);
   ASSERT_EQ(style->entries.size(), 2u);
   AAPT_ASSERT_TRUE(style->entries[0].key.name);
   EXPECT_EQ(style->entries[0].key.name.value(),
-            test::parseNameOrDie("android:attr/onClick"));
+            test::ParseNameOrDie("android:attr/onClick"));
   AAPT_ASSERT_TRUE(style->entries[1].key.name);
   EXPECT_EQ(style->entries[1].key.name.value(),
-            test::parseNameOrDie("android:attr/requiresSmallestWidthDp"));
+            test::ParseNameOrDie("android:attr/requiresSmallestWidthDp"));
 
-  style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
-                                         test::parseConfigOrDie("v17"));
+  style = test::GetValueForConfig<Style>(table.get(), "app:style/Foo",
+                                         test::ParseConfigOrDie("v17"));
   ASSERT_NE(style, nullptr);
   ASSERT_EQ(style->entries.size(), 3u);
   AAPT_ASSERT_TRUE(style->entries[0].key.name);
   EXPECT_EQ(style->entries[0].key.name.value(),
-            test::parseNameOrDie("android:attr/onClick"));
+            test::ParseNameOrDie("android:attr/onClick"));
   AAPT_ASSERT_TRUE(style->entries[1].key.name);
   EXPECT_EQ(style->entries[1].key.name.value(),
-            test::parseNameOrDie("android:attr/requiresSmallestWidthDp"));
+            test::ParseNameOrDie("android:attr/requiresSmallestWidthDp"));
   AAPT_ASSERT_TRUE(style->entries[2].key.name);
   EXPECT_EQ(style->entries[2].key.name.value(),
-            test::parseNameOrDie("android:attr/paddingStart"));
+            test::ParseNameOrDie("android:attr/paddingStart"));
 
-  style = test::getValueForConfig<Style>(table.get(), "app:style/Foo",
-                                         test::parseConfigOrDie("v21"));
+  style = test::GetValueForConfig<Style>(table.get(), "app:style/Foo",
+                                         test::ParseConfigOrDie("v21"));
   ASSERT_NE(style, nullptr);
   ASSERT_EQ(style->entries.size(), 1u);
   AAPT_ASSERT_TRUE(style->entries.front().key.name);
   EXPECT_EQ(style->entries.front().key.name.value(),
-            test::parseNameOrDie("android:attr/paddingEnd"));
+            test::ParseNameOrDie("android:attr/paddingEnd"));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/Link.cpp b/tools/aapt2/link/Link.cpp
index 6dd34e3..717978ea 100644
--- a/tools/aapt2/link/Link.cpp
+++ b/tools/aapt2/link/Link.cpp
@@ -14,6 +14,17 @@
  * limitations under the License.
  */
 
+#include <sys/stat.h>
+
+#include <fstream>
+#include <queue>
+#include <unordered_map>
+#include <vector>
+
+#include "android-base/errors.h"
+#include "android-base/file.h"
+#include "google/protobuf/io/coded_stream.h"
+
 #include "AppInfo.h"
 #include "Debug.h"
 #include "Flags.h"
@@ -32,7 +43,6 @@
 #include "java/ProguardRules.h"
 #include "link/Linkers.h"
 #include "link/ManifestFixer.h"
-#include "link/ProductFilter.h"
 #include "link/ReferenceLinker.h"
 #include "link/TableMerger.h"
 #include "process/IResourceTableConsumer.h"
@@ -44,179 +54,179 @@
 #include "util/StringPiece.h"
 #include "xml/XmlDom.h"
 
-#include <android-base/file.h>
-#include <google/protobuf/io/coded_stream.h>
-
-#include <sys/stat.h>
-#include <fstream>
-#include <queue>
-#include <unordered_map>
-#include <vector>
-
-using google::protobuf::io::CopyingOutputStreamAdaptor;
+using ::google::protobuf::io::CopyingOutputStreamAdaptor;
 
 namespace aapt {
 
 struct LinkOptions {
-  std::string outputPath;
-  std::string manifestPath;
-  std::vector<std::string> includePaths;
-  std::vector<std::string> overlayFiles;
+  std::string output_path;
+  std::string manifest_path;
+  std::vector<std::string> include_paths;
+  std::vector<std::string> overlay_files;
+  bool output_to_directory = false;
+  bool auto_add_overlay = false;
 
   // Java/Proguard options.
-  Maybe<std::string> generateJavaClassPath;
-  Maybe<std::string> customJavaPackage;
-  std::set<std::string> extraJavaPackages;
-  Maybe<std::string> generateProguardRulesPath;
-  Maybe<std::string> generateMainDexProguardRulesPath;
+  Maybe<std::string> generate_java_class_path;
+  Maybe<std::string> custom_java_package;
+  std::set<std::string> extra_java_packages;
+  Maybe<std::string> generate_proguard_rules_path;
+  Maybe<std::string> generate_main_dex_proguard_rules_path;
+  bool generate_non_final_ids = false;
+  std::vector<std::string> javadoc_annotations;
+  Maybe<std::string> private_symbols;
 
-  bool noAutoVersion = false;
-  bool noVersionVectors = false;
-  bool noResourceDeduping = false;
-  bool staticLib = false;
-  bool noStaticLibPackages = false;
-  bool generateNonFinalIds = false;
-  std::vector<std::string> javadocAnnotations;
-  bool outputToDirectory = false;
-  bool noXmlNamespaces = false;
-  bool autoAddOverlay = false;
-  bool doNotCompressAnything = false;
-  std::unordered_set<std::string> extensionsToNotCompress;
-  Maybe<std::string> privateSymbols;
-  ManifestFixerOptions manifestFixerOptions;
+  // Optimizations/features.
+  bool no_auto_version = false;
+  bool no_version_vectors = false;
+  bool no_resource_deduping = false;
+  bool no_xml_namespaces = false;
+  bool do_not_compress_anything = false;
+  std::unordered_set<std::string> extensions_to_not_compress;
+
+  // Static lib options.
+  bool static_lib = false;
+  bool no_static_lib_packages = false;
+
+  // AndroidManifest.xml massaging options.
+  ManifestFixerOptions manifest_fixer_options;
+
+  // Products to use/filter on.
   std::unordered_set<std::string> products;
 
   // Split APK options.
-  TableSplitterOptions tableSplitterOptions;
-  std::vector<SplitConstraints> splitConstraints;
-  std::vector<std::string> splitPaths;
+  TableSplitterOptions table_splitter_options;
+  std::vector<SplitConstraints> split_constraints;
+  std::vector<std::string> split_paths;
 
   // Stable ID options.
-  std::unordered_map<ResourceName, ResourceId> stableIdMap;
-  Maybe<std::string> resourceIdMapPath;
+  std::unordered_map<ResourceName, ResourceId> stable_id_map;
+  Maybe<std::string> resource_id_map_path;
 };
 
 class LinkContext : public IAaptContext {
  public:
-  LinkContext() : mNameMangler({}) {}
+  LinkContext() : name_mangler_({}) {}
 
-  IDiagnostics* getDiagnostics() override { return &mDiagnostics; }
+  IDiagnostics* GetDiagnostics() override { return &diagnostics_; }
 
-  NameMangler* getNameMangler() override { return &mNameMangler; }
+  NameMangler* GetNameMangler() override { return &name_mangler_; }
 
-  void setNameManglerPolicy(const NameManglerPolicy& policy) {
-    mNameMangler = NameMangler(policy);
+  void SetNameManglerPolicy(const NameManglerPolicy& policy) {
+    name_mangler_ = NameMangler(policy);
   }
 
-  const std::string& getCompilationPackage() override {
-    return mCompilationPackage;
+  const std::string& GetCompilationPackage() override {
+    return compilation_package_;
   }
 
-  void setCompilationPackage(const StringPiece& packageName) {
-    mCompilationPackage = packageName.toString();
+  void SetCompilationPackage(const StringPiece& package_name) {
+    compilation_package_ = package_name.ToString();
   }
 
-  uint8_t getPackageId() override { return mPackageId; }
+  uint8_t GetPackageId() override { return package_id_; }
 
-  void setPackageId(uint8_t id) { mPackageId = id; }
+  void SetPackageId(uint8_t id) { package_id_ = id; }
 
-  SymbolTable* getExternalSymbols() override { return &mSymbols; }
+  SymbolTable* GetExternalSymbols() override { return &symbols_; }
 
-  bool verbose() override { return mVerbose; }
+  bool IsVerbose() override { return verbose_; }
 
-  void setVerbose(bool val) { mVerbose = val; }
+  void SetVerbose(bool val) { verbose_ = val; }
 
-  int getMinSdkVersion() override { return mMinSdkVersion; }
+  int GetMinSdkVersion() override { return min_sdk_version_; }
 
-  void setMinSdkVersion(int minSdk) { mMinSdkVersion = minSdk; }
+  void SetMinSdkVersion(int minSdk) { min_sdk_version_ = minSdk; }
 
  private:
-  StdErrDiagnostics mDiagnostics;
-  NameMangler mNameMangler;
-  std::string mCompilationPackage;
-  uint8_t mPackageId = 0x0;
-  SymbolTable mSymbols;
-  bool mVerbose = false;
-  int mMinSdkVersion = 0;
+  DISALLOW_COPY_AND_ASSIGN(LinkContext);
+
+  StdErrDiagnostics diagnostics_;
+  NameMangler name_mangler_;
+  std::string compilation_package_;
+  uint8_t package_id_ = 0x0;
+  SymbolTable symbols_;
+  bool verbose_ = false;
+  int min_sdk_version_ = 0;
 };
 
-static bool copyFileToArchive(io::IFile* file, const std::string& outPath,
-                              uint32_t compressionFlags, IArchiveWriter* writer,
-                              IAaptContext* context) {
-  std::unique_ptr<io::IData> data = file->openAsData();
+static bool CopyFileToArchive(io::IFile* file, const std::string& out_path,
+                              uint32_t compression_flags,
+                              IArchiveWriter* writer, IAaptContext* context) {
+  std::unique_ptr<io::IData> data = file->OpenAsData();
   if (!data) {
-    context->getDiagnostics()->error(DiagMessage(file->getSource())
+    context->GetDiagnostics()->Error(DiagMessage(file->GetSource())
                                      << "failed to open file");
     return false;
   }
 
   const uint8_t* buffer = reinterpret_cast<const uint8_t*>(data->data());
-  const size_t bufferSize = data->size();
+  const size_t buffer_size = data->size();
 
-  if (context->verbose()) {
-    context->getDiagnostics()->note(DiagMessage() << "writing " << outPath
+  if (context->IsVerbose()) {
+    context->GetDiagnostics()->Note(DiagMessage() << "writing " << out_path
                                                   << " to archive");
   }
 
-  if (writer->startEntry(outPath, compressionFlags)) {
-    if (writer->writeEntry(buffer, bufferSize)) {
-      if (writer->finishEntry()) {
+  if (writer->StartEntry(out_path, compression_flags)) {
+    if (writer->WriteEntry(buffer, buffer_size)) {
+      if (writer->FinishEntry()) {
         return true;
       }
     }
   }
 
-  context->getDiagnostics()->error(DiagMessage() << "failed to write file "
-                                                 << outPath);
+  context->GetDiagnostics()->Error(DiagMessage() << "failed to write file "
+                                                 << out_path);
   return false;
 }
 
-static bool flattenXml(xml::XmlResource* xmlRes, const StringPiece& path,
-                       Maybe<size_t> maxSdkLevel, bool keepRawValues,
+static bool FlattenXml(xml::XmlResource* xml_res, const StringPiece& path,
+                       Maybe<size_t> max_sdk_level, bool keep_raw_values,
                        IArchiveWriter* writer, IAaptContext* context) {
   BigBuffer buffer(1024);
   XmlFlattenerOptions options = {};
-  options.keepRawValues = keepRawValues;
-  options.maxSdkLevel = maxSdkLevel;
+  options.keep_raw_values = keep_raw_values;
+  options.max_sdk_level = max_sdk_level;
   XmlFlattener flattener(&buffer, options);
-  if (!flattener.consume(context, xmlRes)) {
+  if (!flattener.Consume(context, xml_res)) {
     return false;
   }
 
-  if (context->verbose()) {
+  if (context->IsVerbose()) {
     DiagMessage msg;
     msg << "writing " << path << " to archive";
-    if (maxSdkLevel) {
-      msg << " maxSdkLevel=" << maxSdkLevel.value()
-          << " keepRawValues=" << keepRawValues;
+    if (max_sdk_level) {
+      msg << " maxSdkLevel=" << max_sdk_level.value()
+          << " keepRawValues=" << keep_raw_values;
     }
-    context->getDiagnostics()->note(msg);
+    context->GetDiagnostics()->Note(msg);
   }
 
-  if (writer->startEntry(path, ArchiveEntry::kCompress)) {
-    if (writer->writeEntry(buffer)) {
-      if (writer->finishEntry()) {
+  if (writer->StartEntry(path, ArchiveEntry::kCompress)) {
+    if (writer->WriteEntry(buffer)) {
+      if (writer->FinishEntry()) {
         return true;
       }
     }
   }
-  context->getDiagnostics()->error(DiagMessage() << "failed to write " << path
+  context->GetDiagnostics()->Error(DiagMessage() << "failed to write " << path
                                                  << " to archive");
   return false;
 }
 
-static std::unique_ptr<ResourceTable> loadTableFromPb(const Source& source,
+static std::unique_ptr<ResourceTable> LoadTableFromPb(const Source& source,
                                                       const void* data,
                                                       size_t len,
                                                       IDiagnostics* diag) {
-  pb::ResourceTable pbTable;
-  if (!pbTable.ParseFromArray(data, len)) {
-    diag->error(DiagMessage(source) << "invalid compiled table");
+  pb::ResourceTable pb_table;
+  if (!pb_table.ParseFromArray(data, len)) {
+    diag->Error(DiagMessage(source) << "invalid compiled table");
     return {};
   }
 
   std::unique_ptr<ResourceTable> table =
-      deserializeTableFromPb(pbTable, source, diag);
+      DeserializeTableFromPb(pb_table, source, diag);
   if (!table) {
     return {};
   }
@@ -226,33 +236,33 @@
 /**
  * Inflates an XML file from the source path.
  */
-static std::unique_ptr<xml::XmlResource> loadXml(const std::string& path,
+static std::unique_ptr<xml::XmlResource> LoadXml(const std::string& path,
                                                  IDiagnostics* diag) {
   std::ifstream fin(path, std::ifstream::binary);
   if (!fin) {
-    diag->error(DiagMessage(path) << strerror(errno));
+    diag->Error(DiagMessage(path) << strerror(errno));
     return {};
   }
-  return xml::inflate(&fin, diag, Source(path));
+  return xml::Inflate(&fin, diag, Source(path));
 }
 
 struct ResourceFileFlattenerOptions {
-  bool noAutoVersion = false;
-  bool noVersionVectors = false;
-  bool noXmlNamespaces = false;
-  bool keepRawValues = false;
-  bool doNotCompressAnything = false;
-  bool updateProguardSpec = false;
-  std::unordered_set<std::string> extensionsToNotCompress;
+  bool no_auto_version = false;
+  bool no_version_vectors = false;
+  bool no_xml_namespaces = false;
+  bool keep_raw_values = false;
+  bool do_not_compress_anything = false;
+  bool update_proguard_spec = false;
+  std::unordered_set<std::string> extensions_to_not_compress;
 };
 
 class ResourceFileFlattener {
  public:
   ResourceFileFlattener(const ResourceFileFlattenerOptions& options,
-                        IAaptContext* context, proguard::KeepSet* keepSet)
-      : mOptions(options), mContext(context), mKeepSet(keepSet) {}
+                        IAaptContext* context, proguard::KeepSet* keep_set)
+      : options_(options), context_(context), keep_set_(keep_set) {}
 
-  bool flatten(ResourceTable* table, IArchiveWriter* archiveWriter);
+  bool Flatten(ResourceTable* table, IArchiveWriter* archive_writer);
 
  private:
   struct FileOperation {
@@ -262,118 +272,119 @@
     const ResourceEntry* entry;
 
     // The file to copy as-is.
-    io::IFile* fileToCopy;
+    io::IFile* file_to_copy;
 
     // The XML to process and flatten.
-    std::unique_ptr<xml::XmlResource> xmlToFlatten;
+    std::unique_ptr<xml::XmlResource> xml_to_flatten;
 
     // The destination to write this file to.
-    std::string dstPath;
-    bool skipVersion = false;
+    std::string dst_path;
+    bool skip_version = false;
   };
 
-  uint32_t getCompressionFlags(const StringPiece& str);
+  uint32_t GetCompressionFlags(const StringPiece& str);
 
-  bool linkAndVersionXmlFile(ResourceTable* table, FileOperation* fileOp,
-                             std::queue<FileOperation>* outFileOpQueue);
+  bool LinkAndVersionXmlFile(ResourceTable* table, FileOperation* file_op,
+                             std::queue<FileOperation>* out_file_op_queue);
 
-  ResourceFileFlattenerOptions mOptions;
-  IAaptContext* mContext;
-  proguard::KeepSet* mKeepSet;
+  ResourceFileFlattenerOptions options_;
+  IAaptContext* context_;
+  proguard::KeepSet* keep_set_;
 };
 
-uint32_t ResourceFileFlattener::getCompressionFlags(const StringPiece& str) {
-  if (mOptions.doNotCompressAnything) {
+uint32_t ResourceFileFlattener::GetCompressionFlags(const StringPiece& str) {
+  if (options_.do_not_compress_anything) {
     return 0;
   }
 
-  for (const std::string& extension : mOptions.extensionsToNotCompress) {
-    if (util::stringEndsWith(str, extension)) {
+  for (const std::string& extension : options_.extensions_to_not_compress) {
+    if (util::EndsWith(str, extension)) {
       return 0;
     }
   }
   return ArchiveEntry::kCompress;
 }
 
-bool ResourceFileFlattener::linkAndVersionXmlFile(
-    ResourceTable* table, FileOperation* fileOp,
-    std::queue<FileOperation>* outFileOpQueue) {
-  xml::XmlResource* doc = fileOp->xmlToFlatten.get();
+bool ResourceFileFlattener::LinkAndVersionXmlFile(
+    ResourceTable* table, FileOperation* file_op,
+    std::queue<FileOperation>* out_file_op_queue) {
+  xml::XmlResource* doc = file_op->xml_to_flatten.get();
   const Source& src = doc->file.source;
 
-  if (mContext->verbose()) {
-    mContext->getDiagnostics()->note(DiagMessage() << "linking " << src.path);
+  if (context_->IsVerbose()) {
+    context_->GetDiagnostics()->Note(DiagMessage() << "linking " << src.path);
   }
 
-  XmlReferenceLinker xmlLinker;
-  if (!xmlLinker.consume(mContext, doc)) {
+  XmlReferenceLinker xml_linker;
+  if (!xml_linker.Consume(context_, doc)) {
     return false;
   }
 
-  if (mOptions.updateProguardSpec &&
-      !proguard::collectProguardRules(src, doc, mKeepSet)) {
+  if (options_.update_proguard_spec &&
+      !proguard::CollectProguardRules(src, doc, keep_set_)) {
     return false;
   }
 
-  if (mOptions.noXmlNamespaces) {
-    XmlNamespaceRemover namespaceRemover;
-    if (!namespaceRemover.consume(mContext, doc)) {
+  if (options_.no_xml_namespaces) {
+    XmlNamespaceRemover namespace_remover;
+    if (!namespace_remover.Consume(context_, doc)) {
       return false;
     }
   }
 
-  if (!mOptions.noAutoVersion) {
-    if (mOptions.noVersionVectors) {
+  if (!options_.no_auto_version) {
+    if (options_.no_version_vectors) {
       // Skip this if it is a vector or animated-vector.
-      xml::Element* el = xml::findRootElement(doc);
-      if (el && el->namespaceUri.empty()) {
+      xml::Element* el = xml::FindRootElement(doc);
+      if (el && el->namespace_uri.empty()) {
         if (el->name == "vector" || el->name == "animated-vector") {
           // We are NOT going to version this file.
-          fileOp->skipVersion = true;
+          file_op->skip_version = true;
           return true;
         }
       }
     }
 
-    const ConfigDescription& config = fileOp->config;
+    const ConfigDescription& config = file_op->config;
 
     // Find the first SDK level used that is higher than this defined config and
     // not superseded by a lower or equal SDK level resource.
-    const int minSdkVersion = mContext->getMinSdkVersion();
-    for (int sdkLevel : xmlLinker.getSdkLevels()) {
-      if (sdkLevel > minSdkVersion && sdkLevel > config.sdkVersion) {
-        if (!shouldGenerateVersionedResource(fileOp->entry, config, sdkLevel)) {
+    const int min_sdk_version = context_->GetMinSdkVersion();
+    for (int sdk_level : xml_linker.sdk_levels()) {
+      if (sdk_level > min_sdk_version && sdk_level > config.sdkVersion) {
+        if (!ShouldGenerateVersionedResource(file_op->entry, config,
+                                             sdk_level)) {
           // If we shouldn't generate a versioned resource, stop checking.
           break;
         }
 
-        ResourceFile versionedFileDesc = doc->file;
-        versionedFileDesc.config.sdkVersion = (uint16_t)sdkLevel;
+        ResourceFile versioned_file_desc = doc->file;
+        versioned_file_desc.config.sdkVersion = (uint16_t)sdk_level;
 
-        FileOperation newFileOp;
-        newFileOp.xmlToFlatten = util::make_unique<xml::XmlResource>(
-            versionedFileDesc, doc->root->clone());
-        newFileOp.config = versionedFileDesc.config;
-        newFileOp.entry = fileOp->entry;
-        newFileOp.dstPath = ResourceUtils::buildResourceFileName(
-            versionedFileDesc, mContext->getNameMangler());
+        FileOperation new_file_op;
+        new_file_op.xml_to_flatten = util::make_unique<xml::XmlResource>(
+            versioned_file_desc, doc->root->Clone());
+        new_file_op.config = versioned_file_desc.config;
+        new_file_op.entry = file_op->entry;
+        new_file_op.dst_path = ResourceUtils::BuildResourceFileName(
+            versioned_file_desc, context_->GetNameMangler());
 
-        if (mContext->verbose()) {
-          mContext->getDiagnostics()->note(
-              DiagMessage(versionedFileDesc.source)
+        if (context_->IsVerbose()) {
+          context_->GetDiagnostics()->Note(
+              DiagMessage(versioned_file_desc.source)
               << "auto-versioning resource from config '" << config << "' -> '"
-              << versionedFileDesc.config << "'");
+              << versioned_file_desc.config << "'");
         }
 
-        bool added = table->addFileReferenceAllowMangled(
-            versionedFileDesc.name, versionedFileDesc.config,
-            versionedFileDesc.source, newFileOp.dstPath, nullptr,
-            mContext->getDiagnostics());
+        bool added = table->AddFileReferenceAllowMangled(
+            versioned_file_desc.name, versioned_file_desc.config,
+            versioned_file_desc.source, new_file_op.dst_path, nullptr,
+            context_->GetDiagnostics());
         if (!added) {
           return false;
         }
 
-        outFileOpQueue->push(std::move(newFileOp));
+        out_file_op_queue->push(std::move(new_file_op));
         break;
       }
     }
@@ -386,100 +397,96 @@
  * will
  * corrupt the iteration order.
  */
-bool ResourceFileFlattener::flatten(ResourceTable* table,
-                                    IArchiveWriter* archiveWriter) {
+bool ResourceFileFlattener::Flatten(ResourceTable* table,
+                                    IArchiveWriter* archive_writer) {
   bool error = false;
   std::map<std::pair<ConfigDescription, StringPiece>, FileOperation>
-      configSortedFiles;
+      config_sorted_files;
 
   for (auto& pkg : table->packages) {
     for (auto& type : pkg->types) {
       // Sort by config and name, so that we get better locality in the zip
       // file.
-      configSortedFiles.clear();
-      std::queue<FileOperation> fileOperations;
+      config_sorted_files.clear();
+      std::queue<FileOperation> file_operations;
 
       // Populate the queue with all files in the ResourceTable.
       for (auto& entry : type->entries) {
-        for (auto& configValue : entry->values) {
-          FileReference* fileRef =
-              valueCast<FileReference>(configValue->value.get());
-          if (!fileRef) {
+        for (auto& config_value : entry->values) {
+          FileReference* file_ref =
+              ValueCast<FileReference>(config_value->value.get());
+          if (!file_ref) {
             continue;
           }
 
-          io::IFile* file = fileRef->file;
+          io::IFile* file = file_ref->file;
           if (!file) {
-            mContext->getDiagnostics()->error(DiagMessage(fileRef->getSource())
+            context_->GetDiagnostics()->Error(DiagMessage(file_ref->GetSource())
                                               << "file not found");
             return false;
           }
 
-          FileOperation fileOp;
-          fileOp.entry = entry.get();
-          fileOp.dstPath = *fileRef->path;
-          fileOp.config = configValue->config;
+          FileOperation file_op;
+          file_op.entry = entry.get();
+          file_op.dst_path = *file_ref->path;
+          file_op.config = config_value->config;
 
-          const StringPiece srcPath = file->getSource().path;
+          const StringPiece src_path = file->GetSource().path;
           if (type->type != ResourceType::kRaw &&
-              (util::stringEndsWith(srcPath, ".xml.flat") ||
-               util::stringEndsWith(srcPath, ".xml"))) {
-            std::unique_ptr<io::IData> data = file->openAsData();
+              (util::EndsWith(src_path, ".xml.flat") ||
+               util::EndsWith(src_path, ".xml"))) {
+            std::unique_ptr<io::IData> data = file->OpenAsData();
             if (!data) {
-              mContext->getDiagnostics()->error(DiagMessage(file->getSource())
+              context_->GetDiagnostics()->Error(DiagMessage(file->GetSource())
                                                 << "failed to open file");
               return false;
             }
 
-            fileOp.xmlToFlatten =
-                xml::inflate(data->data(), data->size(),
-                             mContext->getDiagnostics(), file->getSource());
+            file_op.xml_to_flatten =
+                xml::Inflate(data->data(), data->size(),
+                             context_->GetDiagnostics(), file->GetSource());
 
-            if (!fileOp.xmlToFlatten) {
+            if (!file_op.xml_to_flatten) {
               return false;
             }
 
-            fileOp.xmlToFlatten->file.config = configValue->config;
-            fileOp.xmlToFlatten->file.source = fileRef->getSource();
-            fileOp.xmlToFlatten->file.name =
+            file_op.xml_to_flatten->file.config = config_value->config;
+            file_op.xml_to_flatten->file.source = file_ref->GetSource();
+            file_op.xml_to_flatten->file.name =
                 ResourceName(pkg->name, type->type, entry->name);
 
             // Enqueue the XML files to be processed.
-            fileOperations.push(std::move(fileOp));
+            file_operations.push(std::move(file_op));
           } else {
-            fileOp.fileToCopy = file;
+            file_op.file_to_copy = file;
 
             // NOTE(adamlesinski): Explicitly construct a StringPiece here, or
-            // else
-            // we end up copying the string in the std::make_pair() method, then
-            // creating a StringPiece from the copy, which would cause us to end
-            // up
-            // referencing garbage in the map.
-            const StringPiece entryName(entry->name);
-            configSortedFiles[std::make_pair(configValue->config, entryName)] =
-                std::move(fileOp);
+            // else we end up copying the string in the std::make_pair() method,
+            // then creating a StringPiece from the copy, which would cause us
+            // to end up referencing garbage in the map.
+            const StringPiece entry_name(entry->name);
+            config_sorted_files[std::make_pair(
+                config_value->config, entry_name)] = std::move(file_op);
           }
         }
       }
 
       // Now process the XML queue
-      for (; !fileOperations.empty(); fileOperations.pop()) {
-        FileOperation& fileOp = fileOperations.front();
+      for (; !file_operations.empty(); file_operations.pop()) {
+        FileOperation& file_op = file_operations.front();
 
-        if (!linkAndVersionXmlFile(table, &fileOp, &fileOperations)) {
+        if (!LinkAndVersionXmlFile(table, &file_op, &file_operations)) {
           error = true;
           continue;
         }
 
         // NOTE(adamlesinski): Explicitly construct a StringPiece here, or else
         // we end up copying the string in the std::make_pair() method, then
-        // creating
-        // a StringPiece from the copy, which would cause us to end up
-        // referencing
-        // garbage in the map.
-        const StringPiece entryName(fileOp.entry->name);
-        configSortedFiles[std::make_pair(fileOp.config, entryName)] =
-            std::move(fileOp);
+        // creating a StringPiece from the copy, which would cause us to end up
+        // referencing garbage in the map.
+        const StringPiece entry_name(file_op.entry->name);
+        config_sorted_files[std::make_pair(file_op.config, entry_name)] =
+            std::move(file_op);
       }
 
       if (error) {
@@ -487,28 +494,28 @@
       }
 
       // Now flatten the sorted values.
-      for (auto& mapEntry : configSortedFiles) {
-        const ConfigDescription& config = mapEntry.first.first;
-        const FileOperation& fileOp = mapEntry.second;
+      for (auto& map_entry : config_sorted_files) {
+        const ConfigDescription& config = map_entry.first.first;
+        const FileOperation& file_op = map_entry.second;
 
-        if (fileOp.xmlToFlatten) {
-          Maybe<size_t> maxSdkLevel;
-          if (!mOptions.noAutoVersion && !fileOp.skipVersion) {
-            maxSdkLevel =
+        if (file_op.xml_to_flatten) {
+          Maybe<size_t> max_sdk_level;
+          if (!options_.no_auto_version && !file_op.skip_version) {
+            max_sdk_level =
                 std::max<size_t>(std::max<size_t>(config.sdkVersion, 1u),
-                                 mContext->getMinSdkVersion());
+                                 context_->GetMinSdkVersion());
           }
 
-          bool result =
-              flattenXml(fileOp.xmlToFlatten.get(), fileOp.dstPath, maxSdkLevel,
-                         mOptions.keepRawValues, archiveWriter, mContext);
+          bool result = FlattenXml(
+              file_op.xml_to_flatten.get(), file_op.dst_path, max_sdk_level,
+              options_.keep_raw_values, archive_writer, context_);
           if (!result) {
             error = true;
           }
         } else {
-          bool result = copyFileToArchive(fileOp.fileToCopy, fileOp.dstPath,
-                                          getCompressionFlags(fileOp.dstPath),
-                                          archiveWriter, mContext);
+          bool result = CopyFileToArchive(
+              file_op.file_to_copy, file_op.dst_path,
+              GetCompressionFlags(file_op.dst_path), archive_writer, context_);
           if (!result) {
             error = true;
           }
@@ -519,136 +526,136 @@
   return !error;
 }
 
-static bool writeStableIdMapToPath(
+static bool WriteStableIdMapToPath(
     IDiagnostics* diag,
-    const std::unordered_map<ResourceName, ResourceId>& idMap,
-    const std::string& idMapPath) {
-  std::ofstream fout(idMapPath, std::ofstream::binary);
+    const std::unordered_map<ResourceName, ResourceId>& id_map,
+    const std::string& id_map_path) {
+  std::ofstream fout(id_map_path, std::ofstream::binary);
   if (!fout) {
-    diag->error(DiagMessage(idMapPath) << strerror(errno));
+    diag->Error(DiagMessage(id_map_path) << strerror(errno));
     return false;
   }
 
-  for (const auto& entry : idMap) {
+  for (const auto& entry : id_map) {
     const ResourceName& name = entry.first;
     const ResourceId& id = entry.second;
     fout << name << " = " << id << "\n";
   }
 
   if (!fout) {
-    diag->error(DiagMessage(idMapPath) << "failed writing to file: "
-                                       << strerror(errno));
+    diag->Error(DiagMessage(id_map_path)
+                << "failed writing to file: "
+                << android::base::SystemErrorCodeToString(errno));
     return false;
   }
 
   return true;
 }
 
-static bool loadStableIdMap(
+static bool LoadStableIdMap(
     IDiagnostics* diag, const std::string& path,
-    std::unordered_map<ResourceName, ResourceId>* outIdMap) {
+    std::unordered_map<ResourceName, ResourceId>* out_id_map) {
   std::string content;
   if (!android::base::ReadFileToString(path, &content)) {
-    diag->error(DiagMessage(path) << "failed reading stable ID file");
+    diag->Error(DiagMessage(path) << "failed reading stable ID file");
     return false;
   }
 
-  outIdMap->clear();
-  size_t lineNo = 0;
-  for (StringPiece line : util::tokenize(content, '\n')) {
-    lineNo++;
-    line = util::trimWhitespace(line);
+  out_id_map->clear();
+  size_t line_no = 0;
+  for (StringPiece line : util::Tokenize(content, '\n')) {
+    line_no++;
+    line = util::TrimWhitespace(line);
     if (line.empty()) {
       continue;
     }
 
     auto iter = std::find(line.begin(), line.end(), '=');
     if (iter == line.end()) {
-      diag->error(DiagMessage(Source(path, lineNo)) << "missing '='");
+      diag->Error(DiagMessage(Source(path, line_no)) << "missing '='");
       return false;
     }
 
     ResourceNameRef name;
-    StringPiece resNameStr =
-        util::trimWhitespace(line.substr(0, std::distance(line.begin(), iter)));
-    if (!ResourceUtils::parseResourceName(resNameStr, &name)) {
-      diag->error(DiagMessage(Source(path, lineNo)) << "invalid resource name '"
-                                                    << resNameStr << "'");
+    StringPiece res_name_str =
+        util::TrimWhitespace(line.substr(0, std::distance(line.begin(), iter)));
+    if (!ResourceUtils::ParseResourceName(res_name_str, &name)) {
+      diag->Error(DiagMessage(Source(path, line_no))
+                  << "invalid resource name '" << res_name_str << "'");
       return false;
     }
 
-    const size_t resIdStartIdx = std::distance(line.begin(), iter) + 1;
-    const size_t resIdStrLen = line.size() - resIdStartIdx;
-    StringPiece resIdStr =
-        util::trimWhitespace(line.substr(resIdStartIdx, resIdStrLen));
+    const size_t res_id_start_idx = std::distance(line.begin(), iter) + 1;
+    const size_t res_id_str_len = line.size() - res_id_start_idx;
+    StringPiece res_id_str =
+        util::TrimWhitespace(line.substr(res_id_start_idx, res_id_str_len));
 
-    Maybe<ResourceId> maybeId = ResourceUtils::parseResourceId(resIdStr);
-    if (!maybeId) {
-      diag->error(DiagMessage(Source(path, lineNo)) << "invalid resource ID '"
-                                                    << resIdStr << "'");
+    Maybe<ResourceId> maybe_id = ResourceUtils::ParseResourceId(res_id_str);
+    if (!maybe_id) {
+      diag->Error(DiagMessage(Source(path, line_no)) << "invalid resource ID '"
+                                                     << res_id_str << "'");
       return false;
     }
 
-    (*outIdMap)[name.toResourceName()] = maybeId.value();
+    (*out_id_map)[name.ToResourceName()] = maybe_id.value();
   }
   return true;
 }
 
-static bool parseSplitParameter(const StringPiece& arg, IDiagnostics* diag,
-                                std::string* outPath,
-                                SplitConstraints* outSplit) {
-  std::vector<std::string> parts = util::split(arg, ':');
+static bool ParseSplitParameter(const StringPiece& arg, IDiagnostics* diag,
+                                std::string* out_path,
+                                SplitConstraints* out_split) {
+  std::vector<std::string> parts = util::Split(arg, ':');
   if (parts.size() != 2) {
-    diag->error(DiagMessage() << "invalid split parameter '" << arg << "'");
-    diag->note(
+    diag->Error(DiagMessage() << "invalid split parameter '" << arg << "'");
+    diag->Note(
         DiagMessage()
         << "should be --split path/to/output.apk:<config>[,<config>...]");
     return false;
   }
-  *outPath = parts[0];
+  *out_path = parts[0];
   std::vector<ConfigDescription> configs;
-  for (const StringPiece& configStr : util::tokenize(parts[1], ',')) {
+  for (const StringPiece& config_str : util::Tokenize(parts[1], ',')) {
     configs.push_back({});
-    if (!ConfigDescription::parse(configStr, &configs.back())) {
-      diag->error(DiagMessage() << "invalid config '" << configStr
+    if (!ConfigDescription::Parse(config_str, &configs.back())) {
+      diag->Error(DiagMessage() << "invalid config '" << config_str
                                 << "' in split parameter '" << arg << "'");
       return false;
     }
   }
-  outSplit->configs.insert(configs.begin(), configs.end());
+  out_split->configs.insert(configs.begin(), configs.end());
   return true;
 }
 
 class LinkCommand {
  public:
   LinkCommand(LinkContext* context, const LinkOptions& options)
-      : mOptions(options),
-        mContext(context),
-        mFinalTable(),
-        mFileCollection(util::make_unique<io::FileCollection>()) {}
+      : options_(options),
+        context_(context),
+        final_table_(),
+        file_collection_(util::make_unique<io::FileCollection>()) {}
 
   /**
    * Creates a SymbolTable that loads symbols from the various APKs and caches
-   * the
-   * results for faster lookup.
+   * the results for faster lookup.
    */
-  bool loadSymbolsFromIncludePaths() {
-    std::unique_ptr<AssetManagerSymbolSource> assetSource =
+  bool LoadSymbolsFromIncludePaths() {
+    std::unique_ptr<AssetManagerSymbolSource> asset_source =
         util::make_unique<AssetManagerSymbolSource>();
-    for (const std::string& path : mOptions.includePaths) {
-      if (mContext->verbose()) {
-        mContext->getDiagnostics()->note(DiagMessage(path)
+    for (const std::string& path : options_.include_paths) {
+      if (context_->IsVerbose()) {
+        context_->GetDiagnostics()->Note(DiagMessage(path)
                                          << "loading include path");
       }
 
       // First try to load the file as a static lib.
-      std::string errorStr;
-      std::unique_ptr<ResourceTable> staticInclude =
-          loadStaticLibrary(path, &errorStr);
-      if (staticInclude) {
-        if (!mOptions.staticLib) {
+      std::string error_str;
+      std::unique_ptr<ResourceTable> static_include =
+          LoadStaticLibrary(path, &error_str);
+      if (static_include) {
+        if (!options_.static_lib) {
           // Can't include static libraries when not building a static library.
-          mContext->getDiagnostics()->error(
+          context_->GetDiagnostics()->Error(
               DiagMessage(path)
               << "can't include static library when building app");
           return false;
@@ -657,92 +664,92 @@
         // If we are using --no-static-lib-packages, we need to rename the
         // package of this
         // table to our compilation package.
-        if (mOptions.noStaticLibPackages) {
+        if (options_.no_static_lib_packages) {
           if (ResourceTablePackage* pkg =
-                  staticInclude->findPackageById(0x7f)) {
-            pkg->name = mContext->getCompilationPackage();
+                  static_include->FindPackageById(0x7f)) {
+            pkg->name = context_->GetCompilationPackage();
           }
         }
 
-        mContext->getExternalSymbols()->appendSource(
-            util::make_unique<ResourceTableSymbolSource>(staticInclude.get()));
+        context_->GetExternalSymbols()->AppendSource(
+            util::make_unique<ResourceTableSymbolSource>(static_include.get()));
 
-        mStaticTableIncludes.push_back(std::move(staticInclude));
+        static_table_includes_.push_back(std::move(static_include));
 
-      } else if (!errorStr.empty()) {
+      } else if (!error_str.empty()) {
         // We had an error with reading, so fail.
-        mContext->getDiagnostics()->error(DiagMessage(path) << errorStr);
+        context_->GetDiagnostics()->Error(DiagMessage(path) << error_str);
         return false;
       }
 
-      if (!assetSource->addAssetPath(path)) {
-        mContext->getDiagnostics()->error(DiagMessage(path)
+      if (!asset_source->AddAssetPath(path)) {
+        context_->GetDiagnostics()->Error(DiagMessage(path)
                                           << "failed to load include path");
         return false;
       }
     }
 
-    mContext->getExternalSymbols()->appendSource(std::move(assetSource));
+    context_->GetExternalSymbols()->AppendSource(std::move(asset_source));
     return true;
   }
 
-  Maybe<AppInfo> extractAppInfoFromManifest(xml::XmlResource* xmlRes,
+  Maybe<AppInfo> ExtractAppInfoFromManifest(xml::XmlResource* xml_res,
                                             IDiagnostics* diag) {
     // Make sure the first element is <manifest> with package attribute.
-    if (xml::Element* manifestEl = xml::findRootElement(xmlRes->root.get())) {
-      AppInfo appInfo;
+    if (xml::Element* manifest_el = xml::FindRootElement(xml_res->root.get())) {
+      AppInfo app_info;
 
-      if (!manifestEl->namespaceUri.empty() || manifestEl->name != "manifest") {
-        diag->error(DiagMessage(xmlRes->file.source)
+      if (!manifest_el->namespace_uri.empty() ||
+          manifest_el->name != "manifest") {
+        diag->Error(DiagMessage(xml_res->file.source)
                     << "root tag must be <manifest>");
         return {};
       }
 
-      xml::Attribute* packageAttr = manifestEl->findAttribute({}, "package");
-      if (!packageAttr) {
-        diag->error(DiagMessage(xmlRes->file.source)
+      xml::Attribute* package_attr = manifest_el->FindAttribute({}, "package");
+      if (!package_attr) {
+        diag->Error(DiagMessage(xml_res->file.source)
                     << "<manifest> must have a 'package' attribute");
         return {};
       }
 
-      appInfo.package = packageAttr->value;
+      app_info.package = package_attr->value;
 
-      if (xml::Attribute* versionCodeAttr =
-              manifestEl->findAttribute(xml::kSchemaAndroid, "versionCode")) {
-        Maybe<uint32_t> maybeCode =
-            ResourceUtils::parseInt(versionCodeAttr->value);
-        if (!maybeCode) {
-          diag->error(
-              DiagMessage(xmlRes->file.source.withLine(manifestEl->lineNumber))
-              << "invalid android:versionCode '" << versionCodeAttr->value
-              << "'");
+      if (xml::Attribute* version_code_attr =
+              manifest_el->FindAttribute(xml::kSchemaAndroid, "versionCode")) {
+        Maybe<uint32_t> maybe_code =
+            ResourceUtils::ParseInt(version_code_attr->value);
+        if (!maybe_code) {
+          diag->Error(DiagMessage(xml_res->file.source.WithLine(
+                          manifest_el->line_number))
+                      << "invalid android:versionCode '"
+                      << version_code_attr->value << "'");
           return {};
         }
-        appInfo.versionCode = maybeCode.value();
+        app_info.version_code = maybe_code.value();
       }
 
-      if (xml::Attribute* revisionCodeAttr =
-              manifestEl->findAttribute(xml::kSchemaAndroid, "revisionCode")) {
-        Maybe<uint32_t> maybeCode =
-            ResourceUtils::parseInt(revisionCodeAttr->value);
-        if (!maybeCode) {
-          diag->error(
-              DiagMessage(xmlRes->file.source.withLine(manifestEl->lineNumber))
-              << "invalid android:revisionCode '" << revisionCodeAttr->value
-              << "'");
+      if (xml::Attribute* revision_code_attr =
+              manifest_el->FindAttribute(xml::kSchemaAndroid, "revisionCode")) {
+        Maybe<uint32_t> maybe_code =
+            ResourceUtils::ParseInt(revision_code_attr->value);
+        if (!maybe_code) {
+          diag->Error(DiagMessage(xml_res->file.source.WithLine(
+                          manifest_el->line_number))
+                      << "invalid android:revisionCode '"
+                      << revision_code_attr->value << "'");
           return {};
         }
-        appInfo.revisionCode = maybeCode.value();
+        app_info.revision_code = maybe_code.value();
       }
 
-      if (xml::Element* usesSdkEl = manifestEl->findChild({}, "uses-sdk")) {
-        if (xml::Attribute* minSdk = usesSdkEl->findAttribute(
+      if (xml::Element* uses_sdk_el = manifest_el->FindChild({}, "uses-sdk")) {
+        if (xml::Attribute* min_sdk = uses_sdk_el->FindAttribute(
                 xml::kSchemaAndroid, "minSdkVersion")) {
-          appInfo.minSdkVersion = minSdk->value;
+          app_info.min_sdk_version = min_sdk->value;
         }
       }
-
-      return appInfo;
+      return app_info;
     }
     return {};
   }
@@ -751,38 +758,36 @@
    * Precondition: ResourceTable doesn't have any IDs assigned yet, nor is it
    * linked.
    * Postcondition: ResourceTable has only one package left. All others are
-   * stripped, or there
-   *                is an error and false is returned.
+   * stripped, or there is an error and false is returned.
    */
-  bool verifyNoExternalPackages() {
-    auto isExtPackageFunc =
+  bool VerifyNoExternalPackages() {
+    auto is_ext_package_func =
         [&](const std::unique_ptr<ResourceTablePackage>& pkg) -> bool {
-      return mContext->getCompilationPackage() != pkg->name || !pkg->id ||
-             pkg->id.value() != mContext->getPackageId();
+      return context_->GetCompilationPackage() != pkg->name || !pkg->id ||
+             pkg->id.value() != context_->GetPackageId();
     };
 
     bool error = false;
-    for (const auto& package : mFinalTable.packages) {
-      if (isExtPackageFunc(package)) {
+    for (const auto& package : final_table_.packages) {
+      if (is_ext_package_func(package)) {
         // We have a package that is not related to the one we're building!
         for (const auto& type : package->types) {
           for (const auto& entry : type->entries) {
-            ResourceNameRef resName(package->name, type->type, entry->name);
+            ResourceNameRef res_name(package->name, type->type, entry->name);
 
-            for (const auto& configValue : entry->values) {
+            for (const auto& config_value : entry->values) {
               // Special case the occurrence of an ID that is being generated
-              // for the
-              // 'android' package. This is due to legacy reasons.
-              if (valueCast<Id>(configValue->value.get()) &&
+              // for the 'android' package. This is due to legacy reasons.
+              if (ValueCast<Id>(config_value->value.get()) &&
                   package->name == "android") {
-                mContext->getDiagnostics()->warn(
-                    DiagMessage(configValue->value->getSource())
-                    << "generated id '" << resName << "' for external package '"
-                    << package->name << "'");
+                context_->GetDiagnostics()->Warn(
+                    DiagMessage(config_value->value->GetSource())
+                    << "generated id '" << res_name
+                    << "' for external package '" << package->name << "'");
               } else {
-                mContext->getDiagnostics()->error(
-                    DiagMessage(configValue->value->getSource())
-                    << "defined resource '" << resName
+                context_->GetDiagnostics()->Error(
+                    DiagMessage(config_value->value->GetSource())
+                    << "defined resource '" << res_name
                     << "' for external package '" << package->name << "'");
                 error = true;
               }
@@ -792,21 +797,21 @@
       }
     }
 
-    auto newEndIter =
-        std::remove_if(mFinalTable.packages.begin(), mFinalTable.packages.end(),
-                       isExtPackageFunc);
-    mFinalTable.packages.erase(newEndIter, mFinalTable.packages.end());
+    auto new_end_iter =
+        std::remove_if(final_table_.packages.begin(),
+                       final_table_.packages.end(), is_ext_package_func);
+    final_table_.packages.erase(new_end_iter, final_table_.packages.end());
     return !error;
   }
 
   /**
    * Returns true if no IDs have been set, false otherwise.
    */
-  bool verifyNoIdsSet() {
-    for (const auto& package : mFinalTable.packages) {
+  bool VerifyNoIdsSet() {
+    for (const auto& package : final_table_.packages) {
       for (const auto& type : package->types) {
         if (type->id) {
-          mContext->getDiagnostics()->error(
+          context_->GetDiagnostics()->Error(
               DiagMessage() << "type " << type->type << " has ID " << std::hex
                             << (int)type->id.value() << std::dec
                             << " assigned");
@@ -815,9 +820,9 @@
 
         for (const auto& entry : type->entries) {
           if (entry->id) {
-            ResourceNameRef resName(package->name, type->type, entry->name);
-            mContext->getDiagnostics()->error(
-                DiagMessage() << "entry " << resName << " has ID " << std::hex
+            ResourceNameRef res_name(package->name, type->type, entry->name);
+            context_->GetDiagnostics()->Error(
+                DiagMessage() << "entry " << res_name << " has ID " << std::hex
                               << (int)entry->id.value() << std::dec
                               << " assigned");
             return false;
@@ -828,265 +833,261 @@
     return true;
   }
 
-  std::unique_ptr<IArchiveWriter> makeArchiveWriter(const StringPiece& out) {
-    if (mOptions.outputToDirectory) {
-      return createDirectoryArchiveWriter(mContext->getDiagnostics(), out);
+  std::unique_ptr<IArchiveWriter> MakeArchiveWriter(const StringPiece& out) {
+    if (options_.output_to_directory) {
+      return CreateDirectoryArchiveWriter(context_->GetDiagnostics(), out);
     } else {
-      return createZipFileArchiveWriter(mContext->getDiagnostics(), out);
+      return CreateZipFileArchiveWriter(context_->GetDiagnostics(), out);
     }
   }
 
-  bool flattenTable(ResourceTable* table, IArchiveWriter* writer) {
+  bool FlattenTable(ResourceTable* table, IArchiveWriter* writer) {
     BigBuffer buffer(1024);
     TableFlattener flattener(&buffer);
-    if (!flattener.consume(mContext, table)) {
+    if (!flattener.Consume(context_, table)) {
       return false;
     }
 
-    if (writer->startEntry("resources.arsc", ArchiveEntry::kAlign)) {
-      if (writer->writeEntry(buffer)) {
-        if (writer->finishEntry()) {
+    if (writer->StartEntry("resources.arsc", ArchiveEntry::kAlign)) {
+      if (writer->WriteEntry(buffer)) {
+        if (writer->FinishEntry()) {
           return true;
         }
       }
     }
 
-    mContext->getDiagnostics()->error(
+    context_->GetDiagnostics()->Error(
         DiagMessage() << "failed to write resources.arsc to archive");
     return false;
   }
 
-  bool flattenTableToPb(ResourceTable* table, IArchiveWriter* writer) {
+  bool FlattenTableToPb(ResourceTable* table, IArchiveWriter* writer) {
     // Create the file/zip entry.
-    if (!writer->startEntry("resources.arsc.flat", 0)) {
-      mContext->getDiagnostics()->error(DiagMessage() << "failed to open");
+    if (!writer->StartEntry("resources.arsc.flat", 0)) {
+      context_->GetDiagnostics()->Error(DiagMessage() << "failed to open");
       return false;
     }
 
     // Make sure CopyingOutputStreamAdaptor is deleted before we call
-    // writer->finishEntry().
+    // writer->FinishEntry().
     {
       // Wrap our IArchiveWriter with an adaptor that implements the
-      // ZeroCopyOutputStream
-      // interface.
+      // ZeroCopyOutputStream interface.
       CopyingOutputStreamAdaptor adaptor(writer);
 
-      std::unique_ptr<pb::ResourceTable> pbTable = serializeTableToPb(table);
-      if (!pbTable->SerializeToZeroCopyStream(&adaptor)) {
-        mContext->getDiagnostics()->error(DiagMessage() << "failed to write");
+      std::unique_ptr<pb::ResourceTable> pb_table = SerializeTableToPb(table);
+      if (!pb_table->SerializeToZeroCopyStream(&adaptor)) {
+        context_->GetDiagnostics()->Error(DiagMessage() << "failed to write");
         return false;
       }
     }
 
-    if (!writer->finishEntry()) {
-      mContext->getDiagnostics()->error(DiagMessage()
+    if (!writer->FinishEntry()) {
+      context_->GetDiagnostics()->Error(DiagMessage()
                                         << "failed to finish entry");
       return false;
     }
     return true;
   }
 
-  bool writeJavaFile(ResourceTable* table,
-                     const StringPiece& packageNameToGenerate,
-                     const StringPiece& outPackage,
-                     const JavaClassGeneratorOptions& javaOptions) {
-    if (!mOptions.generateJavaClassPath) {
+  bool WriteJavaFile(ResourceTable* table,
+                     const StringPiece& package_name_to_generate,
+                     const StringPiece& out_package,
+                     const JavaClassGeneratorOptions& java_options) {
+    if (!options_.generate_java_class_path) {
       return true;
     }
 
-    std::string outPath = mOptions.generateJavaClassPath.value();
-    file::appendPath(&outPath, file::packageToPath(outPackage));
-    if (!file::mkdirs(outPath)) {
-      mContext->getDiagnostics()->error(
-          DiagMessage() << "failed to create directory '" << outPath << "'");
+    std::string out_path = options_.generate_java_class_path.value();
+    file::AppendPath(&out_path, file::PackageToPath(out_package));
+    if (!file::mkdirs(out_path)) {
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed to create directory '" << out_path << "'");
       return false;
     }
 
-    file::appendPath(&outPath, "R.java");
+    file::AppendPath(&out_path, "R.java");
 
-    std::ofstream fout(outPath, std::ofstream::binary);
+    std::ofstream fout(out_path, std::ofstream::binary);
     if (!fout) {
-      mContext->getDiagnostics()->error(DiagMessage()
-                                        << "failed writing to '" << outPath
-                                        << "': " << strerror(errno));
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed writing to '" << out_path << "': "
+                        << android::base::SystemErrorCodeToString(errno));
       return false;
     }
 
-    JavaClassGenerator generator(mContext, table, javaOptions);
-    if (!generator.generate(packageNameToGenerate, outPackage, &fout)) {
-      mContext->getDiagnostics()->error(DiagMessage(outPath)
+    JavaClassGenerator generator(context_, table, java_options);
+    if (!generator.Generate(package_name_to_generate, out_package, &fout)) {
+      context_->GetDiagnostics()->Error(DiagMessage(out_path)
                                         << generator.getError());
       return false;
     }
 
     if (!fout) {
-      mContext->getDiagnostics()->error(DiagMessage()
-                                        << "failed writing to '" << outPath
-                                        << "': " << strerror(errno));
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed writing to '" << out_path << "': "
+                        << android::base::SystemErrorCodeToString(errno));
     }
     return true;
   }
 
-  bool writeManifestJavaFile(xml::XmlResource* manifestXml) {
-    if (!mOptions.generateJavaClassPath) {
+  bool WriteManifestJavaFile(xml::XmlResource* manifest_xml) {
+    if (!options_.generate_java_class_path) {
       return true;
     }
 
-    std::unique_ptr<ClassDefinition> manifestClass =
-        generateManifestClass(mContext->getDiagnostics(), manifestXml);
+    std::unique_ptr<ClassDefinition> manifest_class =
+        GenerateManifestClass(context_->GetDiagnostics(), manifest_xml);
 
-    if (!manifestClass) {
+    if (!manifest_class) {
       // Something bad happened, but we already logged it, so exit.
       return false;
     }
 
-    if (manifestClass->empty()) {
+    if (manifest_class->empty()) {
       // Empty Manifest class, no need to generate it.
       return true;
     }
 
     // Add any JavaDoc annotations to the generated class.
-    for (const std::string& annotation : mOptions.javadocAnnotations) {
-      std::string properAnnotation = "@";
-      properAnnotation += annotation;
-      manifestClass->getCommentBuilder()->appendComment(properAnnotation);
+    for (const std::string& annotation : options_.javadoc_annotations) {
+      std::string proper_annotation = "@";
+      proper_annotation += annotation;
+      manifest_class->GetCommentBuilder()->AppendComment(proper_annotation);
     }
 
-    const std::string& packageUtf8 = mContext->getCompilationPackage();
+    const std::string& package_utf8 = context_->GetCompilationPackage();
 
-    std::string outPath = mOptions.generateJavaClassPath.value();
-    file::appendPath(&outPath, file::packageToPath(packageUtf8));
+    std::string out_path = options_.generate_java_class_path.value();
+    file::AppendPath(&out_path, file::PackageToPath(package_utf8));
 
-    if (!file::mkdirs(outPath)) {
-      mContext->getDiagnostics()->error(
-          DiagMessage() << "failed to create directory '" << outPath << "'");
+    if (!file::mkdirs(out_path)) {
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed to create directory '" << out_path << "'");
       return false;
     }
 
-    file::appendPath(&outPath, "Manifest.java");
+    file::AppendPath(&out_path, "Manifest.java");
 
-    std::ofstream fout(outPath, std::ofstream::binary);
+    std::ofstream fout(out_path, std::ofstream::binary);
     if (!fout) {
-      mContext->getDiagnostics()->error(DiagMessage()
-                                        << "failed writing to '" << outPath
-                                        << "': " << strerror(errno));
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed writing to '" << out_path << "': "
+                        << android::base::SystemErrorCodeToString(errno));
       return false;
     }
 
-    if (!ClassDefinition::writeJavaFile(manifestClass.get(), packageUtf8, true,
-                                        &fout)) {
-      mContext->getDiagnostics()->error(DiagMessage()
-                                        << "failed writing to '" << outPath
-                                        << "': " << strerror(errno));
+    if (!ClassDefinition::WriteJavaFile(manifest_class.get(), package_utf8,
+                                        true, &fout)) {
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed writing to '" << out_path << "': "
+                        << android::base::SystemErrorCodeToString(errno));
       return false;
     }
     return true;
   }
 
-  bool writeProguardFile(const Maybe<std::string>& out,
-                         const proguard::KeepSet& keepSet) {
+  bool WriteProguardFile(const Maybe<std::string>& out,
+                         const proguard::KeepSet& keep_set) {
     if (!out) {
       return true;
     }
 
-    const std::string& outPath = out.value();
-    std::ofstream fout(outPath, std::ofstream::binary);
+    const std::string& out_path = out.value();
+    std::ofstream fout(out_path, std::ofstream::binary);
     if (!fout) {
-      mContext->getDiagnostics()->error(DiagMessage()
-                                        << "failed to open '" << outPath
-                                        << "': " << strerror(errno));
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed to open '" << out_path << "': "
+                        << android::base::SystemErrorCodeToString(errno));
       return false;
     }
 
-    proguard::writeKeepSet(&fout, keepSet);
+    proguard::WriteKeepSet(&fout, keep_set);
     if (!fout) {
-      mContext->getDiagnostics()->error(DiagMessage()
-                                        << "failed writing to '" << outPath
-                                        << "': " << strerror(errno));
+      context_->GetDiagnostics()->Error(
+          DiagMessage() << "failed writing to '" << out_path << "': "
+                        << android::base::SystemErrorCodeToString(errno));
       return false;
     }
     return true;
   }
 
-  std::unique_ptr<ResourceTable> loadStaticLibrary(const std::string& input,
-                                                   std::string* outError) {
+  std::unique_ptr<ResourceTable> LoadStaticLibrary(const std::string& input,
+                                                   std::string* out_error) {
     std::unique_ptr<io::ZipFileCollection> collection =
-        io::ZipFileCollection::create(input, outError);
+        io::ZipFileCollection::Create(input, out_error);
     if (!collection) {
       return {};
     }
-    return loadTablePbFromCollection(collection.get());
+    return LoadTablePbFromCollection(collection.get());
   }
 
-  std::unique_ptr<ResourceTable> loadTablePbFromCollection(
+  std::unique_ptr<ResourceTable> LoadTablePbFromCollection(
       io::IFileCollection* collection) {
-    io::IFile* file = collection->findFile("resources.arsc.flat");
+    io::IFile* file = collection->FindFile("resources.arsc.flat");
     if (!file) {
       return {};
     }
 
-    std::unique_ptr<io::IData> data = file->openAsData();
-    return loadTableFromPb(file->getSource(), data->data(), data->size(),
-                           mContext->getDiagnostics());
+    std::unique_ptr<io::IData> data = file->OpenAsData();
+    return LoadTableFromPb(file->GetSource(), data->data(), data->size(),
+                           context_->GetDiagnostics());
   }
 
-  bool mergeStaticLibrary(const std::string& input, bool override) {
-    if (mContext->verbose()) {
-      mContext->getDiagnostics()->note(DiagMessage()
+  bool MergeStaticLibrary(const std::string& input, bool override) {
+    if (context_->IsVerbose()) {
+      context_->GetDiagnostics()->Note(DiagMessage()
                                        << "merging static library " << input);
     }
 
-    std::string errorStr;
+    std::string error_str;
     std::unique_ptr<io::ZipFileCollection> collection =
-        io::ZipFileCollection::create(input, &errorStr);
+        io::ZipFileCollection::Create(input, &error_str);
     if (!collection) {
-      mContext->getDiagnostics()->error(DiagMessage(input) << errorStr);
+      context_->GetDiagnostics()->Error(DiagMessage(input) << error_str);
       return false;
     }
 
     std::unique_ptr<ResourceTable> table =
-        loadTablePbFromCollection(collection.get());
+        LoadTablePbFromCollection(collection.get());
     if (!table) {
-      mContext->getDiagnostics()->error(DiagMessage(input)
+      context_->GetDiagnostics()->Error(DiagMessage(input)
                                         << "invalid static library");
       return false;
     }
 
-    ResourceTablePackage* pkg = table->findPackageById(0x7f);
+    ResourceTablePackage* pkg = table->FindPackageById(0x7f);
     if (!pkg) {
-      mContext->getDiagnostics()->error(DiagMessage(input)
+      context_->GetDiagnostics()->Error(DiagMessage(input)
                                         << "static library has no package");
       return false;
     }
 
     bool result;
-    if (mOptions.noStaticLibPackages) {
+    if (options_.no_static_lib_packages) {
       // Merge all resources as if they were in the compilation package. This is
-      // the old
-      // behaviour of aapt.
+      // the old behavior of aapt.
 
       // Add the package to the set of --extra-packages so we emit an R.java for
-      // each
-      // library package.
+      // each library package.
       if (!pkg->name.empty()) {
-        mOptions.extraJavaPackages.insert(pkg->name);
+        options_.extra_java_packages.insert(pkg->name);
       }
 
       pkg->name = "";
       if (override) {
-        result = mTableMerger->mergeOverlay(Source(input), table.get(),
-                                            collection.get());
+        result = table_merger_->MergeOverlay(Source(input), table.get(),
+                                             collection.get());
       } else {
         result =
-            mTableMerger->merge(Source(input), table.get(), collection.get());
+            table_merger_->Merge(Source(input), table.get(), collection.get());
       }
 
     } else {
       // This is the proper way to merge libraries, where the package name is
-      // preserved
-      // and resource names are mangled.
-      result = mTableMerger->mergeAndMangle(Source(input), pkg->name,
-                                            table.get(), collection.get());
+      // preserved and resource names are mangled.
+      result = table_merger_->MergeAndMangle(Source(input), pkg->name,
+                                             table.get(), collection.get());
     }
 
     if (!result) {
@@ -1094,52 +1095,52 @@
     }
 
     // Make sure to move the collection into the set of IFileCollections.
-    mCollections.push_back(std::move(collection));
+    collections_.push_back(std::move(collection));
     return true;
   }
 
-  bool mergeResourceTable(io::IFile* file, bool override) {
-    if (mContext->verbose()) {
-      mContext->getDiagnostics()->note(
-          DiagMessage() << "merging resource table " << file->getSource());
+  bool MergeResourceTable(io::IFile* file, bool override) {
+    if (context_->IsVerbose()) {
+      context_->GetDiagnostics()->Note(
+          DiagMessage() << "merging resource table " << file->GetSource());
     }
 
-    std::unique_ptr<io::IData> data = file->openAsData();
+    std::unique_ptr<io::IData> data = file->OpenAsData();
     if (!data) {
-      mContext->getDiagnostics()->error(DiagMessage(file->getSource())
+      context_->GetDiagnostics()->Error(DiagMessage(file->GetSource())
                                         << "failed to open file");
       return false;
     }
 
     std::unique_ptr<ResourceTable> table =
-        loadTableFromPb(file->getSource(), data->data(), data->size(),
-                        mContext->getDiagnostics());
+        LoadTableFromPb(file->GetSource(), data->data(), data->size(),
+                        context_->GetDiagnostics());
     if (!table) {
       return false;
     }
 
     bool result = false;
     if (override) {
-      result = mTableMerger->mergeOverlay(file->getSource(), table.get());
+      result = table_merger_->MergeOverlay(file->GetSource(), table.get());
     } else {
-      result = mTableMerger->merge(file->getSource(), table.get());
+      result = table_merger_->Merge(file->GetSource(), table.get());
     }
     return result;
   }
 
-  bool mergeCompiledFile(io::IFile* file, ResourceFile* fileDesc,
+  bool MergeCompiledFile(io::IFile* file, ResourceFile* file_desc,
                          bool override) {
-    if (mContext->verbose()) {
-      mContext->getDiagnostics()->note(
-          DiagMessage() << "merging '" << fileDesc->name
-                        << "' from compiled file " << file->getSource());
+    if (context_->IsVerbose()) {
+      context_->GetDiagnostics()->Note(
+          DiagMessage() << "merging '" << file_desc->name
+                        << "' from compiled file " << file->GetSource());
     }
 
     bool result = false;
     if (override) {
-      result = mTableMerger->mergeFileOverlay(*fileDesc, file);
+      result = table_merger_->MergeFileOverlay(*file_desc, file);
     } else {
-      result = mTableMerger->mergeFile(*fileDesc, file);
+      result = table_merger_->MergeFile(*file_desc, file);
     }
 
     if (!result) {
@@ -1147,24 +1148,24 @@
     }
 
     // Add the exports of this file to the table.
-    for (SourcedResourceName& exportedSymbol : fileDesc->exportedSymbols) {
-      if (exportedSymbol.name.package.empty()) {
-        exportedSymbol.name.package = mContext->getCompilationPackage();
+    for (SourcedResourceName& exported_symbol : file_desc->exported_symbols) {
+      if (exported_symbol.name.package.empty()) {
+        exported_symbol.name.package = context_->GetCompilationPackage();
       }
 
-      ResourceNameRef resName = exportedSymbol.name;
+      ResourceNameRef res_name = exported_symbol.name;
 
-      Maybe<ResourceName> mangledName =
-          mContext->getNameMangler()->mangleName(exportedSymbol.name);
-      if (mangledName) {
-        resName = mangledName.value();
+      Maybe<ResourceName> mangled_name =
+          context_->GetNameMangler()->MangleName(exported_symbol.name);
+      if (mangled_name) {
+        res_name = mangled_name.value();
       }
 
       std::unique_ptr<Id> id = util::make_unique<Id>();
-      id->setSource(fileDesc->source.withLine(exportedSymbol.line));
-      bool result = mFinalTable.addResourceAllowMangled(
-          resName, ConfigDescription::defaultConfig(), std::string(),
-          std::move(id), mContext->getDiagnostics());
+      id->SetSource(file_desc->source.WithLine(exported_symbol.line));
+      bool result = final_table_.AddResourceAllowMangled(
+          res_name, ConfigDescription::DefaultConfig(), std::string(),
+          std::move(id), context_->GetDiagnostics());
       if (!result) {
         return false;
       }
@@ -1176,35 +1177,34 @@
    * Takes a path to load as a ZIP file and merges the files within into the
    * master ResourceTable.
    * If override is true, conflicting resources are allowed to override each
-   * other, in order of
-   * last seen.
+   * other, in order of last seen.
    *
    * An io::IFileCollection is created from the ZIP file and added to the set of
    * io::IFileCollections that are open.
    */
-  bool mergeArchive(const std::string& input, bool override) {
-    if (mContext->verbose()) {
-      mContext->getDiagnostics()->note(DiagMessage() << "merging archive "
+  bool MergeArchive(const std::string& input, bool override) {
+    if (context_->IsVerbose()) {
+      context_->GetDiagnostics()->Note(DiagMessage() << "merging archive "
                                                      << input);
     }
 
-    std::string errorStr;
+    std::string error_str;
     std::unique_ptr<io::ZipFileCollection> collection =
-        io::ZipFileCollection::create(input, &errorStr);
+        io::ZipFileCollection::Create(input, &error_str);
     if (!collection) {
-      mContext->getDiagnostics()->error(DiagMessage(input) << errorStr);
+      context_->GetDiagnostics()->Error(DiagMessage(input) << error_str);
       return false;
     }
 
     bool error = false;
-    for (auto iter = collection->iterator(); iter->hasNext();) {
-      if (!mergeFile(iter->next(), override)) {
+    for (auto iter = collection->Iterator(); iter->HasNext();) {
+      if (!MergeFile(iter->Next(), override)) {
         error = true;
       }
     }
 
     // Make sure to move the collection into the set of IFileCollections.
-    mCollections.push_back(std::move(collection));
+    collections_.push_back(std::move(collection));
     return !error;
   }
 
@@ -1220,18 +1220,16 @@
    *
    * Otherwise the files is processed on its own.
    */
-  bool mergePath(const std::string& path, bool override) {
-    if (util::stringEndsWith(path, ".flata") ||
-        util::stringEndsWith(path, ".jar") ||
-        util::stringEndsWith(path, ".jack") ||
-        util::stringEndsWith(path, ".zip")) {
-      return mergeArchive(path, override);
-    } else if (util::stringEndsWith(path, ".apk")) {
-      return mergeStaticLibrary(path, override);
+  bool MergePath(const std::string& path, bool override) {
+    if (util::EndsWith(path, ".flata") || util::EndsWith(path, ".jar") ||
+        util::EndsWith(path, ".jack") || util::EndsWith(path, ".zip")) {
+      return MergeArchive(path, override);
+    } else if (util::EndsWith(path, ".apk")) {
+      return MergeStaticLibrary(path, override);
     }
 
-    io::IFile* file = mFileCollection->insertFile(path);
-    return mergeFile(file, override);
+    io::IFile* file = file_collection_->InsertFile(path);
+    return MergeFile(file, override);
   }
 
   /**
@@ -1250,63 +1248,63 @@
    * coming from a zip,
    * where we could have other files like classes.dex.
    */
-  bool mergeFile(io::IFile* file, bool override) {
-    const Source& src = file->getSource();
-    if (util::stringEndsWith(src.path, ".arsc.flat")) {
-      return mergeResourceTable(file, override);
+  bool MergeFile(io::IFile* file, bool override) {
+    const Source& src = file->GetSource();
+    if (util::EndsWith(src.path, ".arsc.flat")) {
+      return MergeResourceTable(file, override);
 
-    } else if (util::stringEndsWith(src.path, ".flat")) {
+    } else if (util::EndsWith(src.path, ".flat")) {
       // Try opening the file and looking for an Export header.
-      std::unique_ptr<io::IData> data = file->openAsData();
+      std::unique_ptr<io::IData> data = file->OpenAsData();
       if (!data) {
-        mContext->getDiagnostics()->error(DiagMessage(src) << "failed to open");
+        context_->GetDiagnostics()->Error(DiagMessage(src) << "failed to open");
         return false;
       }
 
-      CompiledFileInputStream inputStream(data->data(), data->size());
-      uint32_t numFiles = 0;
-      if (!inputStream.ReadLittleEndian32(&numFiles)) {
-        mContext->getDiagnostics()->error(DiagMessage(src)
+      CompiledFileInputStream input_stream(data->data(), data->size());
+      uint32_t num_files = 0;
+      if (!input_stream.ReadLittleEndian32(&num_files)) {
+        context_->GetDiagnostics()->Error(DiagMessage(src)
                                           << "failed read num files");
         return false;
       }
 
-      for (uint32_t i = 0; i < numFiles; i++) {
-        pb::CompiledFile compiledFile;
-        if (!inputStream.ReadCompiledFile(&compiledFile)) {
-          mContext->getDiagnostics()->error(
+      for (uint32_t i = 0; i < num_files; i++) {
+        pb::CompiledFile compiled_file;
+        if (!input_stream.ReadCompiledFile(&compiled_file)) {
+          context_->GetDiagnostics()->Error(
               DiagMessage(src) << "failed to read compiled file header");
           return false;
         }
 
         uint64_t offset, len;
-        if (!inputStream.ReadDataMetaData(&offset, &len)) {
-          mContext->getDiagnostics()->error(DiagMessage(src)
+        if (!input_stream.ReadDataMetaData(&offset, &len)) {
+          context_->GetDiagnostics()->Error(DiagMessage(src)
                                             << "failed to read data meta data");
           return false;
         }
 
-        std::unique_ptr<ResourceFile> resourceFile =
-            deserializeCompiledFileFromPb(compiledFile, file->getSource(),
-                                          mContext->getDiagnostics());
-        if (!resourceFile) {
+        std::unique_ptr<ResourceFile> resource_file =
+            DeserializeCompiledFileFromPb(compiled_file, file->GetSource(),
+                                          context_->GetDiagnostics());
+        if (!resource_file) {
           return false;
         }
 
-        if (!mergeCompiledFile(file->createFileSegment(offset, len),
-                               resourceFile.get(), override)) {
+        if (!MergeCompiledFile(file->CreateFileSegment(offset, len),
+                               resource_file.get(), override)) {
           return false;
         }
       }
       return true;
-    } else if (util::stringEndsWith(src.path, ".xml") ||
-               util::stringEndsWith(src.path, ".png")) {
+    } else if (util::EndsWith(src.path, ".xml") ||
+               util::EndsWith(src.path, ".png")) {
       // Since AAPT compiles these file types and appends .flat to them, seeing
       // their raw extensions is a sign that they weren't compiled.
-      const StringPiece fileType =
-          util::stringEndsWith(src.path, ".xml") ? "XML" : "PNG";
-      mContext->getDiagnostics()->error(DiagMessage(src)
-                                        << "uncompiled " << fileType
+      const StringPiece file_type =
+          util::EndsWith(src.path, ".xml") ? "XML" : "PNG";
+      context_->GetDiagnostics()->Error(DiagMessage(src)
+                                        << "uncompiled " << file_type
                                         << " file passed as argument. Must be "
                                            "compiled first into .flat file.");
       return false;
@@ -1318,95 +1316,95 @@
     return true;
   }
 
-  std::unique_ptr<xml::XmlResource> generateSplitManifest(
-      const AppInfo& appInfo, const SplitConstraints& constraints) {
+  std::unique_ptr<xml::XmlResource> GenerateSplitManifest(
+      const AppInfo& app_info, const SplitConstraints& constraints) {
     std::unique_ptr<xml::XmlResource> doc =
         util::make_unique<xml::XmlResource>();
 
-    std::unique_ptr<xml::Namespace> namespaceAndroid =
+    std::unique_ptr<xml::Namespace> namespace_android =
         util::make_unique<xml::Namespace>();
-    namespaceAndroid->namespaceUri = xml::kSchemaAndroid;
-    namespaceAndroid->namespacePrefix = "android";
+    namespace_android->namespace_uri = xml::kSchemaAndroid;
+    namespace_android->namespace_prefix = "android";
 
-    std::unique_ptr<xml::Element> manifestEl =
+    std::unique_ptr<xml::Element> manifest_el =
         util::make_unique<xml::Element>();
-    manifestEl->name = "manifest";
-    manifestEl->attributes.push_back(
-        xml::Attribute{"", "package", appInfo.package});
+    manifest_el->name = "manifest";
+    manifest_el->attributes.push_back(
+        xml::Attribute{"", "package", app_info.package});
 
-    if (appInfo.versionCode) {
-      manifestEl->attributes.push_back(
+    if (app_info.version_code) {
+      manifest_el->attributes.push_back(
           xml::Attribute{xml::kSchemaAndroid, "versionCode",
-                         std::to_string(appInfo.versionCode.value())});
+                         std::to_string(app_info.version_code.value())});
     }
 
-    if (appInfo.revisionCode) {
-      manifestEl->attributes.push_back(
+    if (app_info.revision_code) {
+      manifest_el->attributes.push_back(
           xml::Attribute{xml::kSchemaAndroid, "revisionCode",
-                         std::to_string(appInfo.revisionCode.value())});
+                         std::to_string(app_info.revision_code.value())});
     }
 
-    std::stringstream splitName;
-    splitName << "config." << util::joiner(constraints.configs, "_");
+    std::stringstream split_name;
+    split_name << "config." << util::Joiner(constraints.configs, "_");
 
-    manifestEl->attributes.push_back(
-        xml::Attribute{"", "split", splitName.str()});
+    manifest_el->attributes.push_back(
+        xml::Attribute{"", "split", split_name.str()});
 
-    std::unique_ptr<xml::Element> applicationEl =
+    std::unique_ptr<xml::Element> application_el =
         util::make_unique<xml::Element>();
-    applicationEl->name = "application";
-    applicationEl->attributes.push_back(
+    application_el->name = "application";
+    application_el->attributes.push_back(
         xml::Attribute{xml::kSchemaAndroid, "hasCode", "false"});
 
-    manifestEl->addChild(std::move(applicationEl));
-    namespaceAndroid->addChild(std::move(manifestEl));
-    doc->root = std::move(namespaceAndroid);
+    manifest_el->AddChild(std::move(application_el));
+    namespace_android->AddChild(std::move(manifest_el));
+    doc->root = std::move(namespace_android);
     return doc;
   }
 
   /**
    * Writes the AndroidManifest, ResourceTable, and all XML files referenced by
-   * the ResourceTable
-   * to the IArchiveWriter.
+   * the ResourceTable to the IArchiveWriter.
    */
-  bool writeApk(IArchiveWriter* writer, proguard::KeepSet* keepSet,
+  bool WriteApk(IArchiveWriter* writer, proguard::KeepSet* keep_set,
                 xml::XmlResource* manifest, ResourceTable* table) {
-    const bool keepRawValues = mOptions.staticLib;
-    bool result = flattenXml(manifest, "AndroidManifest.xml", {}, keepRawValues,
-                             writer, mContext);
+    const bool keep_raw_values = options_.static_lib;
+    bool result = FlattenXml(manifest, "AndroidManifest.xml", {},
+                             keep_raw_values, writer, context_);
     if (!result) {
       return false;
     }
 
-    ResourceFileFlattenerOptions fileFlattenerOptions;
-    fileFlattenerOptions.keepRawValues = keepRawValues;
-    fileFlattenerOptions.doNotCompressAnything = mOptions.doNotCompressAnything;
-    fileFlattenerOptions.extensionsToNotCompress =
-        mOptions.extensionsToNotCompress;
-    fileFlattenerOptions.noAutoVersion = mOptions.noAutoVersion;
-    fileFlattenerOptions.noVersionVectors = mOptions.noVersionVectors;
-    fileFlattenerOptions.noXmlNamespaces = mOptions.noXmlNamespaces;
-    fileFlattenerOptions.updateProguardSpec =
-        static_cast<bool>(mOptions.generateProguardRulesPath);
+    ResourceFileFlattenerOptions file_flattener_options;
+    file_flattener_options.keep_raw_values = keep_raw_values;
+    file_flattener_options.do_not_compress_anything =
+        options_.do_not_compress_anything;
+    file_flattener_options.extensions_to_not_compress =
+        options_.extensions_to_not_compress;
+    file_flattener_options.no_auto_version = options_.no_auto_version;
+    file_flattener_options.no_version_vectors = options_.no_version_vectors;
+    file_flattener_options.no_xml_namespaces = options_.no_xml_namespaces;
+    file_flattener_options.update_proguard_spec =
+        static_cast<bool>(options_.generate_proguard_rules_path);
 
-    ResourceFileFlattener fileFlattener(fileFlattenerOptions, mContext,
-                                        keepSet);
+    ResourceFileFlattener file_flattener(file_flattener_options, context_,
+                                         keep_set);
 
-    if (!fileFlattener.flatten(table, writer)) {
-      mContext->getDiagnostics()->error(DiagMessage()
+    if (!file_flattener.Flatten(table, writer)) {
+      context_->GetDiagnostics()->Error(DiagMessage()
                                         << "failed linking file resources");
       return false;
     }
 
-    if (mOptions.staticLib) {
-      if (!flattenTableToPb(table, writer)) {
-        mContext->getDiagnostics()->error(
+    if (options_.static_lib) {
+      if (!FlattenTableToPb(table, writer)) {
+        context_->GetDiagnostics()->Error(
             DiagMessage() << "failed to write resources.arsc.flat");
         return false;
       }
     } else {
-      if (!flattenTable(table, writer)) {
-        mContext->getDiagnostics()->error(DiagMessage()
+      if (!FlattenTable(table, writer)) {
+        context_->GetDiagnostics()->Error(DiagMessage()
                                           << "failed to write resources.arsc");
         return false;
       }
@@ -1414,118 +1412,118 @@
     return true;
   }
 
-  int run(const std::vector<std::string>& inputFiles) {
+  int Run(const std::vector<std::string>& input_files) {
     // Load the AndroidManifest.xml
-    std::unique_ptr<xml::XmlResource> manifestXml =
-        loadXml(mOptions.manifestPath, mContext->getDiagnostics());
-    if (!manifestXml) {
+    std::unique_ptr<xml::XmlResource> manifest_xml =
+        LoadXml(options_.manifest_path, context_->GetDiagnostics());
+    if (!manifest_xml) {
       return 1;
     }
 
     // First extract the Package name without modifying it (via
     // --rename-manifest-package).
-    if (Maybe<AppInfo> maybeAppInfo = extractAppInfoFromManifest(
-            manifestXml.get(), mContext->getDiagnostics())) {
-      const AppInfo& appInfo = maybeAppInfo.value();
-      mContext->setCompilationPackage(appInfo.package);
+    if (Maybe<AppInfo> maybe_app_info = ExtractAppInfoFromManifest(
+            manifest_xml.get(), context_->GetDiagnostics())) {
+      const AppInfo& app_info = maybe_app_info.value();
+      context_->SetCompilationPackage(app_info.package);
     }
 
-    ManifestFixer manifestFixer(mOptions.manifestFixerOptions);
-    if (!manifestFixer.consume(mContext, manifestXml.get())) {
+    ManifestFixer manifest_fixer(options_.manifest_fixer_options);
+    if (!manifest_fixer.Consume(context_, manifest_xml.get())) {
       return 1;
     }
 
-    Maybe<AppInfo> maybeAppInfo = extractAppInfoFromManifest(
-        manifestXml.get(), mContext->getDiagnostics());
-    if (!maybeAppInfo) {
+    Maybe<AppInfo> maybe_app_info = ExtractAppInfoFromManifest(
+        manifest_xml.get(), context_->GetDiagnostics());
+    if (!maybe_app_info) {
       return 1;
     }
 
-    const AppInfo& appInfo = maybeAppInfo.value();
-    if (appInfo.minSdkVersion) {
-      if (Maybe<int> maybeMinSdkVersion =
-              ResourceUtils::parseSdkVersion(appInfo.minSdkVersion.value())) {
-        mContext->setMinSdkVersion(maybeMinSdkVersion.value());
+    const AppInfo& app_info = maybe_app_info.value();
+    if (app_info.min_sdk_version) {
+      if (Maybe<int> maybe_min_sdk_version = ResourceUtils::ParseSdkVersion(
+              app_info.min_sdk_version.value())) {
+        context_->SetMinSdkVersion(maybe_min_sdk_version.value());
       }
     }
 
-    mContext->setNameManglerPolicy(
-        NameManglerPolicy{mContext->getCompilationPackage()});
-    if (mContext->getCompilationPackage() == "android") {
-      mContext->setPackageId(0x01);
+    context_->SetNameManglerPolicy(
+        NameManglerPolicy{context_->GetCompilationPackage()});
+    if (context_->GetCompilationPackage() == "android") {
+      context_->SetPackageId(0x01);
     } else {
-      mContext->setPackageId(0x7f);
+      context_->SetPackageId(0x7f);
     }
 
-    if (!loadSymbolsFromIncludePaths()) {
+    if (!LoadSymbolsFromIncludePaths()) {
       return 1;
     }
 
-    TableMergerOptions tableMergerOptions;
-    tableMergerOptions.autoAddOverlay = mOptions.autoAddOverlay;
-    mTableMerger = util::make_unique<TableMerger>(mContext, &mFinalTable,
-                                                  tableMergerOptions);
+    TableMergerOptions table_merger_options;
+    table_merger_options.auto_add_overlay = options_.auto_add_overlay;
+    table_merger_ = util::make_unique<TableMerger>(context_, &final_table_,
+                                                   table_merger_options);
 
-    if (mContext->verbose()) {
-      mContext->getDiagnostics()->note(DiagMessage()
+    if (context_->IsVerbose()) {
+      context_->GetDiagnostics()->Note(DiagMessage()
                                        << "linking package '"
-                                       << mContext->getCompilationPackage()
+                                       << context_->GetCompilationPackage()
                                        << "' with package ID " << std::hex
-                                       << (int)mContext->getPackageId());
+                                       << (int)context_->GetPackageId());
     }
 
-    for (const std::string& input : inputFiles) {
-      if (!mergePath(input, false)) {
-        mContext->getDiagnostics()->error(DiagMessage()
+    for (const std::string& input : input_files) {
+      if (!MergePath(input, false)) {
+        context_->GetDiagnostics()->Error(DiagMessage()
                                           << "failed parsing input");
         return 1;
       }
     }
 
-    for (const std::string& input : mOptions.overlayFiles) {
-      if (!mergePath(input, true)) {
-        mContext->getDiagnostics()->error(DiagMessage()
+    for (const std::string& input : options_.overlay_files) {
+      if (!MergePath(input, true)) {
+        context_->GetDiagnostics()->Error(DiagMessage()
                                           << "failed parsing overlays");
         return 1;
       }
     }
 
-    if (!verifyNoExternalPackages()) {
+    if (!VerifyNoExternalPackages()) {
       return 1;
     }
 
-    if (!mOptions.staticLib) {
+    if (!options_.static_lib) {
       PrivateAttributeMover mover;
-      if (!mover.consume(mContext, &mFinalTable)) {
-        mContext->getDiagnostics()->error(
+      if (!mover.Consume(context_, &final_table_)) {
+        context_->GetDiagnostics()->Error(
             DiagMessage() << "failed moving private attributes");
         return 1;
       }
 
       // Assign IDs if we are building a regular app.
-      IdAssigner idAssigner(&mOptions.stableIdMap);
-      if (!idAssigner.consume(mContext, &mFinalTable)) {
-        mContext->getDiagnostics()->error(DiagMessage()
+      IdAssigner id_assigner(&options_.stable_id_map);
+      if (!id_assigner.Consume(context_, &final_table_)) {
+        context_->GetDiagnostics()->Error(DiagMessage()
                                           << "failed assigning IDs");
         return 1;
       }
 
       // Now grab each ID and emit it as a file.
-      if (mOptions.resourceIdMapPath) {
-        for (auto& package : mFinalTable.packages) {
+      if (options_.resource_id_map_path) {
+        for (auto& package : final_table_.packages) {
           for (auto& type : package->types) {
             for (auto& entry : type->entries) {
               ResourceName name(package->name, type->type, entry->name);
               // The IDs are guaranteed to exist.
-              mOptions.stableIdMap[std::move(name)] = ResourceId(
+              options_.stable_id_map[std::move(name)] = ResourceId(
                   package->id.value(), type->id.value(), entry->id.value());
             }
           }
         }
 
-        if (!writeStableIdMapToPath(mContext->getDiagnostics(),
-                                    mOptions.stableIdMap,
-                                    mOptions.resourceIdMapPath.value())) {
+        if (!WriteStableIdMapToPath(context_->GetDiagnostics(),
+                                    options_.stable_id_map,
+                                    options_.resource_id_map_path.value())) {
           return 1;
         }
       }
@@ -1533,80 +1531,80 @@
       // Static libs are merged with other apps, and ID collisions are bad, so
       // verify that
       // no IDs have been set.
-      if (!verifyNoIdsSet()) {
+      if (!VerifyNoIdsSet()) {
         return 1;
       }
     }
 
     // Add the names to mangle based on our source merge earlier.
-    mContext->setNameManglerPolicy(NameManglerPolicy{
-        mContext->getCompilationPackage(), mTableMerger->getMergedPackages()});
+    context_->SetNameManglerPolicy(NameManglerPolicy{
+        context_->GetCompilationPackage(), table_merger_->merged_packages()});
 
     // Add our table to the symbol table.
-    mContext->getExternalSymbols()->prependSource(
-        util::make_unique<ResourceTableSymbolSource>(&mFinalTable));
+    context_->GetExternalSymbols()->PrependSource(
+        util::make_unique<ResourceTableSymbolSource>(&final_table_));
 
     ReferenceLinker linker;
-    if (!linker.consume(mContext, &mFinalTable)) {
-      mContext->getDiagnostics()->error(DiagMessage()
+    if (!linker.Consume(context_, &final_table_)) {
+      context_->GetDiagnostics()->Error(DiagMessage()
                                         << "failed linking references");
       return 1;
     }
 
-    if (mOptions.staticLib) {
-      if (!mOptions.products.empty()) {
-        mContext->getDiagnostics()
-            ->warn(DiagMessage()
+    if (options_.static_lib) {
+      if (!options_.products.empty()) {
+        context_->GetDiagnostics()
+            ->Warn(DiagMessage()
                    << "can't select products when building static library");
       }
     } else {
-      ProductFilter productFilter(mOptions.products);
-      if (!productFilter.consume(mContext, &mFinalTable)) {
-        mContext->getDiagnostics()->error(DiagMessage()
+      ProductFilter product_filter(options_.products);
+      if (!product_filter.Consume(context_, &final_table_)) {
+        context_->GetDiagnostics()->Error(DiagMessage()
                                           << "failed stripping products");
         return 1;
       }
     }
 
-    if (!mOptions.noAutoVersion) {
+    if (!options_.no_auto_version) {
       AutoVersioner versioner;
-      if (!versioner.consume(mContext, &mFinalTable)) {
-        mContext->getDiagnostics()->error(DiagMessage()
+      if (!versioner.Consume(context_, &final_table_)) {
+        context_->GetDiagnostics()->Error(DiagMessage()
                                           << "failed versioning styles");
         return 1;
       }
     }
 
-    if (!mOptions.staticLib && mContext->getMinSdkVersion() > 0) {
-      if (mContext->verbose()) {
-        mContext->getDiagnostics()->note(
+    if (!options_.static_lib && context_->GetMinSdkVersion() > 0) {
+      if (context_->IsVerbose()) {
+        context_->GetDiagnostics()->Note(
             DiagMessage() << "collapsing resource versions for minimum SDK "
-                          << mContext->getMinSdkVersion());
+                          << context_->GetMinSdkVersion());
       }
 
       VersionCollapser collapser;
-      if (!collapser.consume(mContext, &mFinalTable)) {
+      if (!collapser.Consume(context_, &final_table_)) {
         return 1;
       }
     }
 
-    if (!mOptions.noResourceDeduping) {
+    if (!options_.no_resource_deduping) {
       ResourceDeduper deduper;
-      if (!deduper.consume(mContext, &mFinalTable)) {
-        mContext->getDiagnostics()->error(DiagMessage()
+      if (!deduper.Consume(context_, &final_table_)) {
+        context_->GetDiagnostics()->Error(DiagMessage()
                                           << "failed deduping resources");
         return 1;
       }
     }
 
-    proguard::KeepSet proguardKeepSet;
-    proguard::KeepSet proguardMainDexKeepSet;
+    proguard::KeepSet proguard_keep_set;
+    proguard::KeepSet proguard_main_dex_keep_set;
 
-    if (mOptions.staticLib) {
-      if (mOptions.tableSplitterOptions.configFilter != nullptr ||
-          mOptions.tableSplitterOptions.preferredDensity) {
-        mContext->getDiagnostics()
-            ->warn(DiagMessage()
+    if (options_.static_lib) {
+      if (options_.table_splitter_options.config_filter != nullptr ||
+          options_.table_splitter_options.preferred_density) {
+        context_->GetDiagnostics()
+            ->Warn(DiagMessage()
                    << "can't strip resources when building static library");
       }
     } else {
@@ -1615,73 +1613,73 @@
       // than or equal to the minSdk. Otherwise the resources that have had
       // their SDK version
       // stripped due to minSdk won't ever match.
-      std::vector<SplitConstraints> adjustedConstraintsList;
-      adjustedConstraintsList.reserve(mOptions.splitConstraints.size());
-      for (const SplitConstraints& constraints : mOptions.splitConstraints) {
-        SplitConstraints adjustedConstraints;
+      std::vector<SplitConstraints> adjusted_constraints_list;
+      adjusted_constraints_list.reserve(options_.split_constraints.size());
+      for (const SplitConstraints& constraints : options_.split_constraints) {
+        SplitConstraints adjusted_constraints;
         for (const ConfigDescription& config : constraints.configs) {
-          if (config.sdkVersion <= mContext->getMinSdkVersion()) {
-            adjustedConstraints.configs.insert(config.copyWithoutSdkVersion());
+          if (config.sdkVersion <= context_->GetMinSdkVersion()) {
+            adjusted_constraints.configs.insert(config.CopyWithoutSdkVersion());
           } else {
-            adjustedConstraints.configs.insert(config);
+            adjusted_constraints.configs.insert(config);
           }
         }
-        adjustedConstraintsList.push_back(std::move(adjustedConstraints));
+        adjusted_constraints_list.push_back(std::move(adjusted_constraints));
       }
 
-      TableSplitter tableSplitter(adjustedConstraintsList,
-                                  mOptions.tableSplitterOptions);
-      if (!tableSplitter.verifySplitConstraints(mContext)) {
+      TableSplitter table_splitter(adjusted_constraints_list,
+                                   options_.table_splitter_options);
+      if (!table_splitter.VerifySplitConstraints(context_)) {
         return 1;
       }
-      tableSplitter.splitTable(&mFinalTable);
+      table_splitter.SplitTable(&final_table_);
 
       // Now we need to write out the Split APKs.
-      auto pathIter = mOptions.splitPaths.begin();
-      auto splitConstraintsIter = adjustedConstraintsList.begin();
-      for (std::unique_ptr<ResourceTable>& splitTable :
-           tableSplitter.getSplits()) {
-        if (mContext->verbose()) {
-          mContext->getDiagnostics()->note(
-              DiagMessage(*pathIter)
+      auto path_iter = options_.split_paths.begin();
+      auto split_constraints_iter = adjusted_constraints_list.begin();
+      for (std::unique_ptr<ResourceTable>& split_table :
+           table_splitter.splits()) {
+        if (context_->IsVerbose()) {
+          context_->GetDiagnostics()->Note(
+              DiagMessage(*path_iter)
               << "generating split with configurations '"
-              << util::joiner(splitConstraintsIter->configs, ", ") << "'");
+              << util::Joiner(split_constraints_iter->configs, ", ") << "'");
         }
 
-        std::unique_ptr<IArchiveWriter> archiveWriter =
-            makeArchiveWriter(*pathIter);
-        if (!archiveWriter) {
-          mContext->getDiagnostics()->error(DiagMessage()
+        std::unique_ptr<IArchiveWriter> archive_writer =
+            MakeArchiveWriter(*path_iter);
+        if (!archive_writer) {
+          context_->GetDiagnostics()->Error(DiagMessage()
                                             << "failed to create archive");
           return 1;
         }
 
         // Generate an AndroidManifest.xml for each split.
-        std::unique_ptr<xml::XmlResource> splitManifest =
-            generateSplitManifest(appInfo, *splitConstraintsIter);
+        std::unique_ptr<xml::XmlResource> split_manifest =
+            GenerateSplitManifest(app_info, *split_constraints_iter);
 
         XmlReferenceLinker linker;
-        if (!linker.consume(mContext, splitManifest.get())) {
-          mContext->getDiagnostics()->error(
+        if (!linker.Consume(context_, split_manifest.get())) {
+          context_->GetDiagnostics()->Error(
               DiagMessage() << "failed to create Split AndroidManifest.xml");
           return 1;
         }
 
-        if (!writeApk(archiveWriter.get(), &proguardKeepSet,
-                      splitManifest.get(), splitTable.get())) {
+        if (!WriteApk(archive_writer.get(), &proguard_keep_set,
+                      split_manifest.get(), split_table.get())) {
           return 1;
         }
 
-        ++pathIter;
-        ++splitConstraintsIter;
+        ++path_iter;
+        ++split_constraints_iter;
       }
     }
 
     // Start writing the base APK.
-    std::unique_ptr<IArchiveWriter> archiveWriter =
-        makeArchiveWriter(mOptions.outputPath);
-    if (!archiveWriter) {
-      mContext->getDiagnostics()->error(DiagMessage()
+    std::unique_ptr<IArchiveWriter> archive_writer =
+        MakeArchiveWriter(options_.output_path);
+    if (!archive_writer) {
+      context_->GetDiagnostics()->Error(DiagMessage()
                                         << "failed to create archive");
       return 1;
     }
@@ -1692,35 +1690,35 @@
       // from the name
       // (aka, which package the AndroidManifest.xml is coming from).
       // So we give it a package name so it can see local resources.
-      manifestXml->file.name.package = mContext->getCompilationPackage();
+      manifest_xml->file.name.package = context_->GetCompilationPackage();
 
-      XmlReferenceLinker manifestLinker;
-      if (manifestLinker.consume(mContext, manifestXml.get())) {
-        if (mOptions.generateProguardRulesPath &&
-            !proguard::collectProguardRulesForManifest(
-                Source(mOptions.manifestPath), manifestXml.get(),
-                &proguardKeepSet)) {
+      XmlReferenceLinker manifest_linker;
+      if (manifest_linker.Consume(context_, manifest_xml.get())) {
+        if (options_.generate_proguard_rules_path &&
+            !proguard::CollectProguardRulesForManifest(
+                Source(options_.manifest_path), manifest_xml.get(),
+                &proguard_keep_set)) {
           error = true;
         }
 
-        if (mOptions.generateMainDexProguardRulesPath &&
-            !proguard::collectProguardRulesForManifest(
-                Source(mOptions.manifestPath), manifestXml.get(),
-                &proguardMainDexKeepSet, true)) {
+        if (options_.generate_main_dex_proguard_rules_path &&
+            !proguard::CollectProguardRulesForManifest(
+                Source(options_.manifest_path), manifest_xml.get(),
+                &proguard_main_dex_keep_set, true)) {
           error = true;
         }
 
-        if (mOptions.generateJavaClassPath) {
-          if (!writeManifestJavaFile(manifestXml.get())) {
+        if (options_.generate_java_class_path) {
+          if (!WriteManifestJavaFile(manifest_xml.get())) {
             error = true;
           }
         }
 
-        if (mOptions.noXmlNamespaces) {
+        if (options_.no_xml_namespaces) {
           // PackageParser will fail if URIs are removed from
           // AndroidManifest.xml.
-          XmlNamespaceRemover namespaceRemover(true /* keepUris */);
-          if (!namespaceRemover.consume(mContext, manifestXml.get())) {
+          XmlNamespaceRemover namespace_remover(true /* keepUris */);
+          if (!namespace_remover.Consume(context_, manifest_xml.get())) {
             error = true;
           }
         }
@@ -1730,382 +1728,385 @@
     }
 
     if (error) {
-      mContext->getDiagnostics()->error(DiagMessage()
+      context_->GetDiagnostics()->Error(DiagMessage()
                                         << "failed processing manifest");
       return 1;
     }
 
-    if (!writeApk(archiveWriter.get(), &proguardKeepSet, manifestXml.get(),
-                  &mFinalTable)) {
+    if (!WriteApk(archive_writer.get(), &proguard_keep_set, manifest_xml.get(),
+                  &final_table_)) {
       return 1;
     }
 
-    if (mOptions.generateJavaClassPath) {
+    if (options_.generate_java_class_path) {
       JavaClassGeneratorOptions options;
       options.types = JavaClassGeneratorOptions::SymbolTypes::kAll;
-      options.javadocAnnotations = mOptions.javadocAnnotations;
+      options.javadoc_annotations = options_.javadoc_annotations;
 
-      if (mOptions.staticLib || mOptions.generateNonFinalIds) {
-        options.useFinal = false;
+      if (options_.static_lib || options_.generate_non_final_ids) {
+        options.use_final = false;
       }
 
-      const StringPiece actualPackage = mContext->getCompilationPackage();
-      StringPiece outputPackage = mContext->getCompilationPackage();
-      if (mOptions.customJavaPackage) {
+      const StringPiece actual_package = context_->GetCompilationPackage();
+      StringPiece output_package = context_->GetCompilationPackage();
+      if (options_.custom_java_package) {
         // Override the output java package to the custom one.
-        outputPackage = mOptions.customJavaPackage.value();
+        output_package = options_.custom_java_package.value();
       }
 
-      if (mOptions.privateSymbols) {
+      if (options_.private_symbols) {
         // If we defined a private symbols package, we only emit Public symbols
         // to the original package, and private and public symbols to the
         // private package.
 
         options.types = JavaClassGeneratorOptions::SymbolTypes::kPublic;
-        if (!writeJavaFile(&mFinalTable, mContext->getCompilationPackage(),
-                           outputPackage, options)) {
+        if (!WriteJavaFile(&final_table_, context_->GetCompilationPackage(),
+                           output_package, options)) {
           return 1;
         }
 
         options.types = JavaClassGeneratorOptions::SymbolTypes::kPublicPrivate;
-        outputPackage = mOptions.privateSymbols.value();
+        output_package = options_.private_symbols.value();
       }
 
-      if (!writeJavaFile(&mFinalTable, actualPackage, outputPackage, options)) {
+      if (!WriteJavaFile(&final_table_, actual_package, output_package,
+                         options)) {
         return 1;
       }
 
-      for (const std::string& extraPackage : mOptions.extraJavaPackages) {
-        if (!writeJavaFile(&mFinalTable, actualPackage, extraPackage,
+      for (const std::string& extra_package : options_.extra_java_packages) {
+        if (!WriteJavaFile(&final_table_, actual_package, extra_package,
                            options)) {
           return 1;
         }
       }
     }
 
-    if (!writeProguardFile(mOptions.generateProguardRulesPath,
-                           proguardKeepSet)) {
+    if (!WriteProguardFile(options_.generate_proguard_rules_path,
+                           proguard_keep_set)) {
       return 1;
     }
 
-    if (!writeProguardFile(mOptions.generateMainDexProguardRulesPath,
-                           proguardMainDexKeepSet)) {
+    if (!WriteProguardFile(options_.generate_main_dex_proguard_rules_path,
+                           proguard_main_dex_keep_set)) {
       return 1;
     }
 
-    if (mContext->verbose()) {
-      DebugPrintTableOptions debugPrintTableOptions;
-      debugPrintTableOptions.showSources = true;
-      Debug::printTable(&mFinalTable, debugPrintTableOptions);
+    if (context_->IsVerbose()) {
+      DebugPrintTableOptions debug_print_table_options;
+      debug_print_table_options.show_sources = true;
+      Debug::PrintTable(&final_table_, debug_print_table_options);
     }
     return 0;
   }
 
  private:
-  LinkOptions mOptions;
-  LinkContext* mContext;
-  ResourceTable mFinalTable;
+  LinkOptions options_;
+  LinkContext* context_;
+  ResourceTable final_table_;
 
-  std::unique_ptr<TableMerger> mTableMerger;
+  std::unique_ptr<TableMerger> table_merger_;
 
   // A pointer to the FileCollection representing the filesystem (not archives).
-  std::unique_ptr<io::FileCollection> mFileCollection;
+  std::unique_ptr<io::FileCollection> file_collection_;
 
   // A vector of IFileCollections. This is mainly here to keep ownership of the
   // collections.
-  std::vector<std::unique_ptr<io::IFileCollection>> mCollections;
+  std::vector<std::unique_ptr<io::IFileCollection>> collections_;
 
   // A vector of ResourceTables. This is here to retain ownership, so that the
   // SymbolTable
   // can use these.
-  std::vector<std::unique_ptr<ResourceTable>> mStaticTableIncludes;
+  std::vector<std::unique_ptr<ResourceTable>> static_table_includes_;
 };
 
-int link(const std::vector<StringPiece>& args) {
+int Link(const std::vector<StringPiece>& args) {
   LinkContext context;
   LinkOptions options;
-  std::vector<std::string> overlayArgList;
-  std::vector<std::string> extraJavaPackages;
+  std::vector<std::string> overlay_arg_list;
+  std::vector<std::string> extra_java_packages;
   Maybe<std::string> configs;
-  Maybe<std::string> preferredDensity;
-  Maybe<std::string> productList;
-  bool legacyXFlag = false;
-  bool requireLocalization = false;
+  Maybe<std::string> preferred_density;
+  Maybe<std::string> product_list;
+  bool legacy_x_flag = false;
+  bool require_localization = false;
   bool verbose = false;
-  Maybe<std::string> stableIdFilePath;
-  std::vector<std::string> splitArgs;
+  Maybe<std::string> stable_id_file_path;
+  std::vector<std::string> split_args;
   Flags flags =
       Flags()
-          .requiredFlag("-o", "Output path", &options.outputPath)
-          .requiredFlag("--manifest", "Path to the Android manifest to build",
-                        &options.manifestPath)
-          .optionalFlagList("-I", "Adds an Android APK to link against",
-                            &options.includePaths)
-          .optionalFlagList(
+          .RequiredFlag("-o", "Output path", &options.output_path)
+          .RequiredFlag("--manifest", "Path to the Android manifest to build",
+                        &options.manifest_path)
+          .OptionalFlagList("-I", "Adds an Android APK to link against",
+                            &options.include_paths)
+          .OptionalFlagList(
               "-R",
               "Compilation unit to link, using `overlay` semantics.\n"
               "The last conflicting resource given takes precedence.",
-              &overlayArgList)
-          .optionalFlag("--java", "Directory in which to generate R.java",
-                        &options.generateJavaClassPath)
-          .optionalFlag("--proguard",
+              &overlay_arg_list)
+          .OptionalFlag("--java", "Directory in which to generate R.java",
+                        &options.generate_java_class_path)
+          .OptionalFlag("--proguard",
                         "Output file for generated Proguard rules",
-                        &options.generateProguardRulesPath)
-          .optionalFlag(
+                        &options.generate_proguard_rules_path)
+          .OptionalFlag(
               "--proguard-main-dex",
               "Output file for generated Proguard rules for the main dex",
-              &options.generateMainDexProguardRulesPath)
-          .optionalSwitch("--no-auto-version",
+              &options.generate_main_dex_proguard_rules_path)
+          .OptionalSwitch("--no-auto-version",
                           "Disables automatic style and layout SDK versioning",
-                          &options.noAutoVersion)
-          .optionalSwitch("--no-version-vectors",
+                          &options.no_auto_version)
+          .OptionalSwitch("--no-version-vectors",
                           "Disables automatic versioning of vector drawables. "
                           "Use this only\n"
                           "when building with vector drawable support library",
-                          &options.noVersionVectors)
-          .optionalSwitch("--no-resource-deduping",
+                          &options.no_version_vectors)
+          .OptionalSwitch("--no-resource-deduping",
                           "Disables automatic deduping of resources with\n"
                           "identical values across compatible configurations.",
-                          &options.noResourceDeduping)
-          .optionalSwitch(
+                          &options.no_resource_deduping)
+          .OptionalSwitch(
               "-x",
               "Legacy flag that specifies to use the package identifier 0x01",
-              &legacyXFlag)
-          .optionalSwitch("-z",
+              &legacy_x_flag)
+          .OptionalSwitch("-z",
                           "Require localization of strings marked 'suggested'",
-                          &requireLocalization)
-          .optionalFlag(
+                          &require_localization)
+          .OptionalFlag(
               "-c",
               "Comma separated list of configurations to include. The default\n"
               "is all configurations",
               &configs)
-          .optionalFlag(
+          .OptionalFlag(
               "--preferred-density",
               "Selects the closest matching density and strips out all others.",
-              &preferredDensity)
-          .optionalFlag("--product",
+              &preferred_density)
+          .OptionalFlag("--product",
                         "Comma separated list of product names to keep",
-                        &productList)
-          .optionalSwitch("--output-to-dir",
+                        &product_list)
+          .OptionalSwitch("--output-to-dir",
                           "Outputs the APK contents to a directory specified "
                           "by -o",
-                          &options.outputToDirectory)
-          .optionalSwitch("--no-xml-namespaces",
+                          &options.output_to_directory)
+          .OptionalSwitch("--no-xml-namespaces",
                           "Removes XML namespace prefix and URI "
                           "information from AndroidManifest.xml\nand XML "
                           "binaries in res/*.",
-                          &options.noXmlNamespaces)
-          .optionalFlag("--min-sdk-version",
+                          &options.no_xml_namespaces)
+          .OptionalFlag("--min-sdk-version",
                         "Default minimum SDK version to use for "
                         "AndroidManifest.xml",
-                        &options.manifestFixerOptions.minSdkVersionDefault)
-          .optionalFlag("--target-sdk-version",
-                        "Default target SDK version to use for "
-                        "AndroidManifest.xml",
-                        &options.manifestFixerOptions.targetSdkVersionDefault)
-          .optionalFlag("--version-code",
+                        &options.manifest_fixer_options.min_sdk_version_default)
+          .OptionalFlag(
+              "--target-sdk-version",
+              "Default target SDK version to use for "
+              "AndroidManifest.xml",
+              &options.manifest_fixer_options.target_sdk_version_default)
+          .OptionalFlag("--version-code",
                         "Version code (integer) to inject into the "
                         "AndroidManifest.xml if none is present",
-                        &options.manifestFixerOptions.versionCodeDefault)
-          .optionalFlag("--version-name",
+                        &options.manifest_fixer_options.version_code_default)
+          .OptionalFlag("--version-name",
                         "Version name to inject into the AndroidManifest.xml "
                         "if none is present",
-                        &options.manifestFixerOptions.versionNameDefault)
-          .optionalSwitch("--static-lib", "Generate a static Android library",
-                          &options.staticLib)
-          .optionalSwitch("--no-static-lib-packages",
+                        &options.manifest_fixer_options.version_name_default)
+          .OptionalSwitch("--static-lib", "Generate a static Android library",
+                          &options.static_lib)
+          .OptionalSwitch("--no-static-lib-packages",
                           "Merge all library resources under the app's package",
-                          &options.noStaticLibPackages)
-          .optionalSwitch("--non-final-ids",
+                          &options.no_static_lib_packages)
+          .OptionalSwitch("--non-final-ids",
                           "Generates R.java without the final modifier.\n"
                           "This is implied when --static-lib is specified.",
-                          &options.generateNonFinalIds)
-          .optionalFlag("--stable-ids",
+                          &options.generate_non_final_ids)
+          .OptionalFlag("--stable-ids",
                         "File containing a list of name to ID mapping.",
-                        &stableIdFilePath)
-          .optionalFlag(
+                        &stable_id_file_path)
+          .OptionalFlag(
               "--emit-ids",
               "Emit a file at the given path with a list of name to ID\n"
               "mappings, suitable for use with --stable-ids.",
-              &options.resourceIdMapPath)
-          .optionalFlag("--private-symbols",
+              &options.resource_id_map_path)
+          .OptionalFlag("--private-symbols",
                         "Package name to use when generating R.java for "
                         "private symbols.\n"
                         "If not specified, public and private symbols will use "
                         "the application's "
                         "package name",
-                        &options.privateSymbols)
-          .optionalFlag("--custom-package",
+                        &options.private_symbols)
+          .OptionalFlag("--custom-package",
                         "Custom Java package under which to generate R.java",
-                        &options.customJavaPackage)
-          .optionalFlagList("--extra-packages",
+                        &options.custom_java_package)
+          .OptionalFlagList("--extra-packages",
                             "Generate the same R.java but with different "
                             "package names",
-                            &extraJavaPackages)
-          .optionalFlagList("--add-javadoc-annotation",
+                            &extra_java_packages)
+          .OptionalFlagList("--add-javadoc-annotation",
                             "Adds a JavaDoc annotation to all "
                             "generated Java classes",
-                            &options.javadocAnnotations)
-          .optionalSwitch("--auto-add-overlay",
+                            &options.javadoc_annotations)
+          .OptionalSwitch("--auto-add-overlay",
                           "Allows the addition of new resources in "
                           "overlays without <add-resource> tags",
-                          &options.autoAddOverlay)
-          .optionalFlag("--rename-manifest-package",
+                          &options.auto_add_overlay)
+          .OptionalFlag("--rename-manifest-package",
                         "Renames the package in AndroidManifest.xml",
-                        &options.manifestFixerOptions.renameManifestPackage)
-          .optionalFlag(
+                        &options.manifest_fixer_options.rename_manifest_package)
+          .OptionalFlag(
               "--rename-instrumentation-target-package",
               "Changes the name of the target package for instrumentation. "
               "Most useful "
               "when used\nin conjunction with --rename-manifest-package",
-              &options.manifestFixerOptions.renameInstrumentationTargetPackage)
-          .optionalFlagList("-0", "File extensions not to compress",
-                            &options.extensionsToNotCompress)
-          .optionalFlagList(
+              &options.manifest_fixer_options
+                   .rename_instrumentation_target_package)
+          .OptionalFlagList("-0", "File extensions not to compress",
+                            &options.extensions_to_not_compress)
+          .OptionalFlagList(
               "--split",
               "Split resources matching a set of configs out to a "
               "Split APK.\nSyntax: path/to/output.apk:<config>[,<config>[...]]",
-              &splitArgs)
-          .optionalSwitch("-v", "Enables verbose logging", &verbose);
+              &split_args)
+          .OptionalSwitch("-v", "Enables verbose logging", &verbose);
 
-  if (!flags.parse("aapt2 link", args, &std::cerr)) {
+  if (!flags.Parse("aapt2 link", args, &std::cerr)) {
     return 1;
   }
 
   // Expand all argument-files passed into the command line. These start with
   // '@'.
-  std::vector<std::string> argList;
-  for (const std::string& arg : flags.getArgs()) {
-    if (util::stringStartsWith(arg, "@")) {
+  std::vector<std::string> arg_list;
+  for (const std::string& arg : flags.GetArgs()) {
+    if (util::StartsWith(arg, "@")) {
       const std::string path = arg.substr(1, arg.size() - 1);
       std::string error;
-      if (!file::appendArgsFromFile(path, &argList, &error)) {
-        context.getDiagnostics()->error(DiagMessage(path) << error);
+      if (!file::AppendArgsFromFile(path, &arg_list, &error)) {
+        context.GetDiagnostics()->Error(DiagMessage(path) << error);
         return 1;
       }
     } else {
-      argList.push_back(arg);
+      arg_list.push_back(arg);
     }
   }
 
   // Expand all argument-files passed to -R.
-  for (const std::string& arg : overlayArgList) {
-    if (util::stringStartsWith(arg, "@")) {
+  for (const std::string& arg : overlay_arg_list) {
+    if (util::StartsWith(arg, "@")) {
       const std::string path = arg.substr(1, arg.size() - 1);
       std::string error;
-      if (!file::appendArgsFromFile(path, &options.overlayFiles, &error)) {
-        context.getDiagnostics()->error(DiagMessage(path) << error);
+      if (!file::AppendArgsFromFile(path, &options.overlay_files, &error)) {
+        context.GetDiagnostics()->Error(DiagMessage(path) << error);
         return 1;
       }
     } else {
-      options.overlayFiles.push_back(arg);
+      options.overlay_files.push_back(arg);
     }
   }
 
   if (verbose) {
-    context.setVerbose(verbose);
+    context.SetVerbose(verbose);
   }
 
   // Populate the set of extra packages for which to generate R.java.
-  for (std::string& extraPackage : extraJavaPackages) {
+  for (std::string& extra_package : extra_java_packages) {
     // A given package can actually be a colon separated list of packages.
-    for (StringPiece package : util::split(extraPackage, ':')) {
-      options.extraJavaPackages.insert(package.toString());
+    for (StringPiece package : util::Split(extra_package, ':')) {
+      options.extra_java_packages.insert(package.ToString());
     }
   }
 
-  if (productList) {
-    for (StringPiece product : util::tokenize(productList.value(), ',')) {
+  if (product_list) {
+    for (StringPiece product : util::Tokenize(product_list.value(), ',')) {
       if (product != "" && product != "default") {
-        options.products.insert(product.toString());
+        options.products.insert(product.ToString());
       }
     }
   }
 
   AxisConfigFilter filter;
   if (configs) {
-    for (const StringPiece& configStr : util::tokenize(configs.value(), ',')) {
+    for (const StringPiece& config_str : util::Tokenize(configs.value(), ',')) {
       ConfigDescription config;
       LocaleValue lv;
-      if (lv.initFromFilterString(configStr)) {
-        lv.writeTo(&config);
-      } else if (!ConfigDescription::parse(configStr, &config)) {
-        context.getDiagnostics()->error(DiagMessage() << "invalid config '"
-                                                      << configStr
+      if (lv.InitFromFilterString(config_str)) {
+        lv.WriteTo(&config);
+      } else if (!ConfigDescription::Parse(config_str, &config)) {
+        context.GetDiagnostics()->Error(DiagMessage() << "invalid config '"
+                                                      << config_str
                                                       << "' for -c option");
         return 1;
       }
 
       if (config.density != 0) {
-        context.getDiagnostics()->warn(DiagMessage() << "ignoring density '"
+        context.GetDiagnostics()->Warn(DiagMessage() << "ignoring density '"
                                                      << config
                                                      << "' for -c option");
       } else {
-        filter.addConfig(config);
+        filter.AddConfig(config);
       }
     }
 
-    options.tableSplitterOptions.configFilter = &filter;
+    options.table_splitter_options.config_filter = &filter;
   }
 
-  if (preferredDensity) {
-    ConfigDescription preferredDensityConfig;
-    if (!ConfigDescription::parse(preferredDensity.value(),
-                                  &preferredDensityConfig)) {
-      context.getDiagnostics()->error(
-          DiagMessage() << "invalid density '" << preferredDensity.value()
+  if (preferred_density) {
+    ConfigDescription preferred_density_config;
+    if (!ConfigDescription::Parse(preferred_density.value(),
+                                  &preferred_density_config)) {
+      context.GetDiagnostics()->Error(
+          DiagMessage() << "invalid density '" << preferred_density.value()
                         << "' for --preferred-density option");
       return 1;
     }
 
     // Clear the version that can be automatically added.
-    preferredDensityConfig.sdkVersion = 0;
+    preferred_density_config.sdkVersion = 0;
 
-    if (preferredDensityConfig.diff(ConfigDescription::defaultConfig()) !=
+    if (preferred_density_config.diff(ConfigDescription::DefaultConfig()) !=
         ConfigDescription::CONFIG_DENSITY) {
-      context.getDiagnostics()->error(
+      context.GetDiagnostics()->Error(
           DiagMessage() << "invalid preferred density '"
-                        << preferredDensity.value() << "'. "
+                        << preferred_density.value() << "'. "
                         << "Preferred density must only be a density value");
       return 1;
     }
-    options.tableSplitterOptions.preferredDensity =
-        preferredDensityConfig.density;
+    options.table_splitter_options.preferred_density =
+        preferred_density_config.density;
   }
 
-  if (!options.staticLib && stableIdFilePath) {
-    if (!loadStableIdMap(context.getDiagnostics(), stableIdFilePath.value(),
-                         &options.stableIdMap)) {
+  if (!options.static_lib && stable_id_file_path) {
+    if (!LoadStableIdMap(context.GetDiagnostics(), stable_id_file_path.value(),
+                         &options.stable_id_map)) {
       return 1;
     }
   }
 
   // Populate some default no-compress extensions that are already compressed.
-  options.extensionsToNotCompress.insert(
+  options.extensions_to_not_compress.insert(
       {".jpg",   ".jpeg", ".png",  ".gif", ".wav",  ".mp2",  ".mp3",  ".ogg",
        ".aac",   ".mpg",  ".mpeg", ".mid", ".midi", ".smf",  ".jet",  ".rtttl",
        ".imy",   ".xmf",  ".mp4",  ".m4a", ".m4v",  ".3gp",  ".3gpp", ".3g2",
        ".3gpp2", ".amr",  ".awb",  ".wma", ".wmv",  ".webm", ".mkv"});
 
   // Parse the split parameters.
-  for (const std::string& splitArg : splitArgs) {
-    options.splitPaths.push_back({});
-    options.splitConstraints.push_back({});
-    if (!parseSplitParameter(splitArg, context.getDiagnostics(),
-                             &options.splitPaths.back(),
-                             &options.splitConstraints.back())) {
+  for (const std::string& split_arg : split_args) {
+    options.split_paths.push_back({});
+    options.split_constraints.push_back({});
+    if (!ParseSplitParameter(split_arg, context.GetDiagnostics(),
+                             &options.split_paths.back(),
+                             &options.split_constraints.back())) {
       return 1;
     }
   }
 
   // Turn off auto versioning for static-libs.
-  if (options.staticLib) {
-    options.noAutoVersion = true;
-    options.noVersionVectors = true;
+  if (options.static_lib) {
+    options.no_auto_version = true;
+    options.no_version_vectors = true;
   }
 
   LinkCommand cmd(&context, options);
-  return cmd.run(argList);
+  return cmd.Run(arg_list);
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/Linkers.h b/tools/aapt2/link/Linkers.h
index f40c0e8..4687d2c 100644
--- a/tools/aapt2/link/Linkers.h
+++ b/tools/aapt2/link/Linkers.h
@@ -17,12 +17,15 @@
 #ifndef AAPT_LINKER_LINKERS_H
 #define AAPT_LINKER_LINKERS_H
 
+#include <set>
+#include <unordered_set>
+
+#include "android-base/macros.h"
+
 #include "Resource.h"
 #include "process/IResourceTableConsumer.h"
 #include "xml/XmlDom.h"
 
-#include <set>
-
 namespace aapt {
 
 class ResourceTable;
@@ -31,8 +34,7 @@
 
 /**
  * Defines the location in which a value exists. This determines visibility of
- * other
- * package's private symbols.
+ * other package's private symbols.
  */
 struct CallSite {
   ResourceNameRef resource;
@@ -40,26 +42,30 @@
 
 /**
  * Determines whether a versioned resource should be created. If a versioned
- * resource already
- * exists, it takes precedence.
+ * resource already exists, it takes precedence.
  */
-bool shouldGenerateVersionedResource(const ResourceEntry* entry,
+bool ShouldGenerateVersionedResource(const ResourceEntry* entry,
                                      const ConfigDescription& config,
-                                     const int sdkVersionToGenerate);
+                                     const int sdk_version_to_generate);
 
 class AutoVersioner : public IResourceTableConsumer {
  public:
-  bool consume(IAaptContext* context, ResourceTable* table) override;
-};
+  AutoVersioner() = default;
 
-class XmlAutoVersioner : public IXmlResourceConsumer {
- public:
-  bool consume(IAaptContext* context, xml::XmlResource* resource) override;
+  bool Consume(IAaptContext* context, ResourceTable* table) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(AutoVersioner);
 };
 
 class VersionCollapser : public IResourceTableConsumer {
  public:
-  bool consume(IAaptContext* context, ResourceTable* table) override;
+  VersionCollapser() = default;
+
+  bool Consume(IAaptContext* context, ResourceTable* table) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(VersionCollapser);
 };
 
 /**
@@ -67,7 +73,12 @@
  */
 class ResourceDeduper : public IResourceTableConsumer {
  public:
-  bool consume(IAaptContext* context, ResourceTable* table) override;
+  ResourceDeduper() = default;
+
+  bool Consume(IAaptContext* context, ResourceTable* table) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(ResourceDeduper);
 };
 
 /**
@@ -103,8 +114,46 @@
  * conflict will never
  * occur.
  */
-struct PrivateAttributeMover : public IResourceTableConsumer {
-  bool consume(IAaptContext* context, ResourceTable* table) override;
+class PrivateAttributeMover : public IResourceTableConsumer {
+ public:
+  PrivateAttributeMover() = default;
+
+  bool Consume(IAaptContext* context, ResourceTable* table) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(PrivateAttributeMover);
+};
+
+class ResourceConfigValue;
+
+class ProductFilter : public IResourceTableConsumer {
+ public:
+  using ResourceConfigValueIter =
+      std::vector<std::unique_ptr<ResourceConfigValue>>::iterator;
+
+  explicit ProductFilter(std::unordered_set<std::string> products)
+      : products_(products) {}
+
+  ResourceConfigValueIter SelectProductToKeep(
+      const ResourceNameRef& name, const ResourceConfigValueIter begin,
+      const ResourceConfigValueIter end, IDiagnostics* diag);
+
+  bool Consume(IAaptContext* context, ResourceTable* table) override;
+
+ private:
+  std::unordered_set<std::string> products_;
+
+  DISALLOW_COPY_AND_ASSIGN(ProductFilter);
+};
+
+class XmlAutoVersioner : public IXmlResourceConsumer {
+ public:
+  XmlAutoVersioner() = default;
+
+  bool Consume(IAaptContext* context, xml::XmlResource* resource) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(XmlAutoVersioner);
 };
 
 /**
@@ -116,13 +165,16 @@
  * XmlReferenceLinker.
  */
 class XmlNamespaceRemover : public IXmlResourceConsumer {
- private:
-  bool mKeepUris;
-
  public:
-  XmlNamespaceRemover(bool keepUris = false) : mKeepUris(keepUris){};
+  explicit XmlNamespaceRemover(bool keep_uris = false)
+      : keep_uris_(keep_uris){};
 
-  bool consume(IAaptContext* context, xml::XmlResource* resource) override;
+  bool Consume(IAaptContext* context, xml::XmlResource* resource) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(XmlNamespaceRemover);
+
+  bool keep_uris_;
 };
 
 /**
@@ -131,18 +183,22 @@
  * Once an XmlResource is processed by this linker, it is ready to be flattened.
  */
 class XmlReferenceLinker : public IXmlResourceConsumer {
- private:
-  std::set<int> mSdkLevelsFound;
-
  public:
-  bool consume(IAaptContext* context, xml::XmlResource* resource) override;
+  XmlReferenceLinker() = default;
+
+  bool Consume(IAaptContext* context, xml::XmlResource* resource) override;
 
   /**
    * Once the XmlResource has been consumed, this returns the various SDK levels
    * in which
    * framework attributes used within the XML document were defined.
    */
-  inline const std::set<int>& getSdkLevels() const { return mSdkLevelsFound; }
+  inline const std::set<int>& sdk_levels() const { return sdk_levels_found_; }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(XmlReferenceLinker);
+
+  std::set<int> sdk_levels_found_;
 };
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/ManifestFixer.cpp b/tools/aapt2/link/ManifestFixer.cpp
index 3c9298b..a418fc8 100644
--- a/tools/aapt2/link/ManifestFixer.cpp
+++ b/tools/aapt2/link/ManifestFixer.cpp
@@ -15,32 +15,36 @@
  */
 
 #include "link/ManifestFixer.h"
+
+#include <unordered_set>
+
+#include "android-base/logging.h"
+
 #include "ResourceUtils.h"
 #include "util/Util.h"
 #include "xml/XmlActionExecutor.h"
 #include "xml/XmlDom.h"
 
-#include <unordered_set>
-
 namespace aapt {
 
 /**
  * This is how PackageManager builds class names from AndroidManifest.xml
  * entries.
  */
-static bool nameIsJavaClassName(xml::Element* el, xml::Attribute* attr,
+static bool NameIsJavaClassName(xml::Element* el, xml::Attribute* attr,
                                 SourcePathDiagnostics* diag) {
   // We allow unqualified class names (ie: .HelloActivity)
   // Since we don't know the package name, we can just make a fake one here and
   // the test will be identical as long as the real package name is valid too.
-  Maybe<std::string> fullyQualifiedClassName =
-      util::getFullyQualifiedClassName("a", attr->value);
+  Maybe<std::string> fully_qualified_class_name =
+      util::GetFullyQualifiedClassName("a", attr->value);
 
-  StringPiece qualifiedClassName =
-      fullyQualifiedClassName ? fullyQualifiedClassName.value() : attr->value;
+  StringPiece qualified_class_name = fully_qualified_class_name
+                                         ? fully_qualified_class_name.value()
+                                         : attr->value;
 
-  if (!util::isJavaClassName(qualifiedClassName)) {
-    diag->error(DiagMessage(el->lineNumber)
+  if (!util::IsJavaClassName(qualified_class_name)) {
+    diag->Error(DiagMessage(el->line_number)
                 << "attribute 'android:name' in <" << el->name
                 << "> tag must be a valid Java class name");
     return false;
@@ -48,37 +52,37 @@
   return true;
 }
 
-static bool optionalNameIsJavaClassName(xml::Element* el,
+static bool OptionalNameIsJavaClassName(xml::Element* el,
                                         SourcePathDiagnostics* diag) {
-  if (xml::Attribute* attr = el->findAttribute(xml::kSchemaAndroid, "name")) {
-    return nameIsJavaClassName(el, attr, diag);
+  if (xml::Attribute* attr = el->FindAttribute(xml::kSchemaAndroid, "name")) {
+    return NameIsJavaClassName(el, attr, diag);
   }
   return true;
 }
 
-static bool requiredNameIsJavaClassName(xml::Element* el,
+static bool RequiredNameIsJavaClassName(xml::Element* el,
                                         SourcePathDiagnostics* diag) {
-  if (xml::Attribute* attr = el->findAttribute(xml::kSchemaAndroid, "name")) {
-    return nameIsJavaClassName(el, attr, diag);
+  if (xml::Attribute* attr = el->FindAttribute(xml::kSchemaAndroid, "name")) {
+    return NameIsJavaClassName(el, attr, diag);
   }
-  diag->error(DiagMessage(el->lineNumber)
+  diag->Error(DiagMessage(el->line_number)
               << "<" << el->name << "> is missing attribute 'android:name'");
   return false;
 }
 
-static bool verifyManifest(xml::Element* el, SourcePathDiagnostics* diag) {
-  xml::Attribute* attr = el->findAttribute({}, "package");
+static bool VerifyManifest(xml::Element* el, SourcePathDiagnostics* diag) {
+  xml::Attribute* attr = el->FindAttribute({}, "package");
   if (!attr) {
-    diag->error(DiagMessage(el->lineNumber)
+    diag->Error(DiagMessage(el->line_number)
                 << "<manifest> tag is missing 'package' attribute");
     return false;
-  } else if (ResourceUtils::isReference(attr->value)) {
-    diag->error(
-        DiagMessage(el->lineNumber)
+  } else if (ResourceUtils::IsReference(attr->value)) {
+    diag->Error(
+        DiagMessage(el->line_number)
         << "attribute 'package' in <manifest> tag must not be a reference");
     return false;
-  } else if (!util::isJavaPackageName(attr->value)) {
-    diag->error(DiagMessage(el->lineNumber)
+  } else if (!util::IsJavaPackageName(attr->value)) {
+    diag->Error(DiagMessage(el->line_number)
                 << "attribute 'package' in <manifest> tag is not a valid Java "
                    "package name: '"
                 << attr->value << "'");
@@ -89,242 +93,243 @@
 
 /**
  * The coreApp attribute in <manifest> is not a regular AAPT attribute, so type
- * checking on it
- * is manual.
+ * checking on it is manual.
  */
-static bool fixCoreAppAttribute(xml::Element* el, SourcePathDiagnostics* diag) {
-  if (xml::Attribute* attr = el->findAttribute("", "coreApp")) {
+static bool FixCoreAppAttribute(xml::Element* el, SourcePathDiagnostics* diag) {
+  if (xml::Attribute* attr = el->FindAttribute("", "coreApp")) {
     std::unique_ptr<BinaryPrimitive> result =
-        ResourceUtils::tryParseBool(attr->value);
+        ResourceUtils::TryParseBool(attr->value);
     if (!result) {
-      diag->error(DiagMessage(el->lineNumber)
+      diag->Error(DiagMessage(el->line_number)
                   << "attribute coreApp must be a boolean");
       return false;
     }
-    attr->compiledValue = std::move(result);
+    attr->compiled_value = std::move(result);
   }
   return true;
 }
 
-bool ManifestFixer::buildRules(xml::XmlActionExecutor* executor,
+bool ManifestFixer::BuildRules(xml::XmlActionExecutor* executor,
                                IDiagnostics* diag) {
   // First verify some options.
-  if (mOptions.renameManifestPackage) {
-    if (!util::isJavaPackageName(mOptions.renameManifestPackage.value())) {
-      diag->error(DiagMessage() << "invalid manifest package override '"
-                                << mOptions.renameManifestPackage.value()
+  if (options_.rename_manifest_package) {
+    if (!util::IsJavaPackageName(options_.rename_manifest_package.value())) {
+      diag->Error(DiagMessage() << "invalid manifest package override '"
+                                << options_.rename_manifest_package.value()
                                 << "'");
       return false;
     }
   }
 
-  if (mOptions.renameInstrumentationTargetPackage) {
-    if (!util::isJavaPackageName(
-            mOptions.renameInstrumentationTargetPackage.value())) {
-      diag->error(DiagMessage()
+  if (options_.rename_instrumentation_target_package) {
+    if (!util::IsJavaPackageName(
+            options_.rename_instrumentation_target_package.value())) {
+      diag->Error(DiagMessage()
                   << "invalid instrumentation target package override '"
-                  << mOptions.renameInstrumentationTargetPackage.value()
+                  << options_.rename_instrumentation_target_package.value()
                   << "'");
       return false;
     }
   }
 
   // Common intent-filter actions.
-  xml::XmlNodeAction intentFilterAction;
-  intentFilterAction["action"];
-  intentFilterAction["category"];
-  intentFilterAction["data"];
+  xml::XmlNodeAction intent_filter_action;
+  intent_filter_action["action"];
+  intent_filter_action["category"];
+  intent_filter_action["data"];
 
   // Common meta-data actions.
-  xml::XmlNodeAction metaDataAction;
+  xml::XmlNodeAction meta_data_action;
 
   // Manifest actions.
-  xml::XmlNodeAction& manifestAction = (*executor)["manifest"];
-  manifestAction.action(verifyManifest);
-  manifestAction.action(fixCoreAppAttribute);
-  manifestAction.action([&](xml::Element* el) -> bool {
-    if (mOptions.versionNameDefault) {
-      if (el->findAttribute(xml::kSchemaAndroid, "versionName") == nullptr) {
+  xml::XmlNodeAction& manifest_action = (*executor)["manifest"];
+  manifest_action.Action(VerifyManifest);
+  manifest_action.Action(FixCoreAppAttribute);
+  manifest_action.Action([&](xml::Element* el) -> bool {
+    if (options_.version_name_default) {
+      if (el->FindAttribute(xml::kSchemaAndroid, "versionName") == nullptr) {
         el->attributes.push_back(
             xml::Attribute{xml::kSchemaAndroid, "versionName",
-                           mOptions.versionNameDefault.value()});
+                           options_.version_name_default.value()});
       }
     }
 
-    if (mOptions.versionCodeDefault) {
-      if (el->findAttribute(xml::kSchemaAndroid, "versionCode") == nullptr) {
+    if (options_.version_code_default) {
+      if (el->FindAttribute(xml::kSchemaAndroid, "versionCode") == nullptr) {
         el->attributes.push_back(
             xml::Attribute{xml::kSchemaAndroid, "versionCode",
-                           mOptions.versionCodeDefault.value()});
+                           options_.version_code_default.value()});
       }
     }
     return true;
   });
 
   // Meta tags.
-  manifestAction["eat-comment"];
+  manifest_action["eat-comment"];
 
   // Uses-sdk actions.
-  manifestAction["uses-sdk"].action([&](xml::Element* el) -> bool {
-    if (mOptions.minSdkVersionDefault &&
-        el->findAttribute(xml::kSchemaAndroid, "minSdkVersion") == nullptr) {
+  manifest_action["uses-sdk"].Action([&](xml::Element* el) -> bool {
+    if (options_.min_sdk_version_default &&
+        el->FindAttribute(xml::kSchemaAndroid, "minSdkVersion") == nullptr) {
       // There was no minSdkVersion defined and we have a default to assign.
       el->attributes.push_back(
           xml::Attribute{xml::kSchemaAndroid, "minSdkVersion",
-                         mOptions.minSdkVersionDefault.value()});
+                         options_.min_sdk_version_default.value()});
     }
 
-    if (mOptions.targetSdkVersionDefault &&
-        el->findAttribute(xml::kSchemaAndroid, "targetSdkVersion") == nullptr) {
+    if (options_.target_sdk_version_default &&
+        el->FindAttribute(xml::kSchemaAndroid, "targetSdkVersion") == nullptr) {
       // There was no targetSdkVersion defined and we have a default to assign.
       el->attributes.push_back(
           xml::Attribute{xml::kSchemaAndroid, "targetSdkVersion",
-                         mOptions.targetSdkVersionDefault.value()});
+                         options_.target_sdk_version_default.value()});
     }
     return true;
   });
 
   // Instrumentation actions.
-  manifestAction["instrumentation"].action([&](xml::Element* el) -> bool {
-    if (!mOptions.renameInstrumentationTargetPackage) {
+  manifest_action["instrumentation"].Action([&](xml::Element* el) -> bool {
+    if (!options_.rename_instrumentation_target_package) {
       return true;
     }
 
     if (xml::Attribute* attr =
-            el->findAttribute(xml::kSchemaAndroid, "targetPackage")) {
-      attr->value = mOptions.renameInstrumentationTargetPackage.value();
+            el->FindAttribute(xml::kSchemaAndroid, "targetPackage")) {
+      attr->value = options_.rename_instrumentation_target_package.value();
     }
     return true;
   });
 
-  manifestAction["original-package"];
-  manifestAction["protected-broadcast"];
-  manifestAction["uses-permission"];
-  manifestAction["permission"];
-  manifestAction["permission-tree"];
-  manifestAction["permission-group"];
+  manifest_action["original-package"];
+  manifest_action["protected-broadcast"];
+  manifest_action["uses-permission"];
+  manifest_action["permission"];
+  manifest_action["permission-tree"];
+  manifest_action["permission-group"];
 
-  manifestAction["uses-configuration"];
-  manifestAction["uses-feature"];
-  manifestAction["supports-screens"];
+  manifest_action["uses-configuration"];
+  manifest_action["uses-feature"];
+  manifest_action["supports-screens"];
 
-  manifestAction["compatible-screens"];
-  manifestAction["compatible-screens"]["screen"];
+  manifest_action["compatible-screens"];
+  manifest_action["compatible-screens"]["screen"];
 
-  manifestAction["supports-gl-texture"];
+  manifest_action["supports-gl-texture"];
 
   // Application actions.
-  xml::XmlNodeAction& applicationAction = manifestAction["application"];
-  applicationAction.action(optionalNameIsJavaClassName);
+  xml::XmlNodeAction& application_action = manifest_action["application"];
+  application_action.Action(OptionalNameIsJavaClassName);
 
   // Uses library actions.
-  applicationAction["uses-library"];
+  application_action["uses-library"];
 
   // Meta-data.
-  applicationAction["meta-data"] = metaDataAction;
+  application_action["meta-data"] = meta_data_action;
 
   // Activity actions.
-  applicationAction["activity"].action(requiredNameIsJavaClassName);
-  applicationAction["activity"]["intent-filter"] = intentFilterAction;
-  applicationAction["activity"]["meta-data"] = metaDataAction;
+  application_action["activity"].Action(RequiredNameIsJavaClassName);
+  application_action["activity"]["intent-filter"] = intent_filter_action;
+  application_action["activity"]["meta-data"] = meta_data_action;
 
   // Activity alias actions.
-  applicationAction["activity-alias"]["intent-filter"] = intentFilterAction;
-  applicationAction["activity-alias"]["meta-data"] = metaDataAction;
+  application_action["activity-alias"]["intent-filter"] = intent_filter_action;
+  application_action["activity-alias"]["meta-data"] = meta_data_action;
 
   // Service actions.
-  applicationAction["service"].action(requiredNameIsJavaClassName);
-  applicationAction["service"]["intent-filter"] = intentFilterAction;
-  applicationAction["service"]["meta-data"] = metaDataAction;
+  application_action["service"].Action(RequiredNameIsJavaClassName);
+  application_action["service"]["intent-filter"] = intent_filter_action;
+  application_action["service"]["meta-data"] = meta_data_action;
 
   // Receiver actions.
-  applicationAction["receiver"].action(requiredNameIsJavaClassName);
-  applicationAction["receiver"]["intent-filter"] = intentFilterAction;
-  applicationAction["receiver"]["meta-data"] = metaDataAction;
+  application_action["receiver"].Action(RequiredNameIsJavaClassName);
+  application_action["receiver"]["intent-filter"] = intent_filter_action;
+  application_action["receiver"]["meta-data"] = meta_data_action;
 
   // Provider actions.
-  applicationAction["provider"].action(requiredNameIsJavaClassName);
-  applicationAction["provider"]["intent-filter"] = intentFilterAction;
-  applicationAction["provider"]["meta-data"] = metaDataAction;
-  applicationAction["provider"]["grant-uri-permissions"];
-  applicationAction["provider"]["path-permissions"];
+  application_action["provider"].Action(RequiredNameIsJavaClassName);
+  application_action["provider"]["intent-filter"] = intent_filter_action;
+  application_action["provider"]["meta-data"] = meta_data_action;
+  application_action["provider"]["grant-uri-permissions"];
+  application_action["provider"]["path-permissions"];
 
   return true;
 }
 
 class FullyQualifiedClassNameVisitor : public xml::Visitor {
  public:
-  using xml::Visitor::visit;
+  using xml::Visitor::Visit;
 
   explicit FullyQualifiedClassNameVisitor(const StringPiece& package)
-      : mPackage(package) {}
+      : package_(package) {}
 
-  void visit(xml::Element* el) override {
+  void Visit(xml::Element* el) override {
     for (xml::Attribute& attr : el->attributes) {
-      if (attr.namespaceUri == xml::kSchemaAndroid &&
-          mClassAttributes.find(attr.name) != mClassAttributes.end()) {
-        if (Maybe<std::string> newValue =
-                util::getFullyQualifiedClassName(mPackage, attr.value)) {
-          attr.value = std::move(newValue.value());
+      if (attr.namespace_uri == xml::kSchemaAndroid &&
+          class_attributes_.find(attr.name) != class_attributes_.end()) {
+        if (Maybe<std::string> new_value =
+                util::GetFullyQualifiedClassName(package_, attr.value)) {
+          attr.value = std::move(new_value.value());
         }
       }
     }
 
     // Super implementation to iterate over the children.
-    xml::Visitor::visit(el);
+    xml::Visitor::Visit(el);
   }
 
  private:
-  StringPiece mPackage;
-  std::unordered_set<StringPiece> mClassAttributes = {"name"};
+  StringPiece package_;
+  std::unordered_set<StringPiece> class_attributes_ = {"name"};
 };
 
-static bool renameManifestPackage(const StringPiece& packageOverride,
-                                  xml::Element* manifestEl) {
-  xml::Attribute* attr = manifestEl->findAttribute({}, "package");
+static bool RenameManifestPackage(const StringPiece& package_override,
+                                  xml::Element* manifest_el) {
+  xml::Attribute* attr = manifest_el->FindAttribute({}, "package");
 
   // We've already verified that the manifest element is present, with a package
   // name specified.
-  assert(attr);
+  CHECK(attr != nullptr);
 
-  std::string originalPackage = std::move(attr->value);
-  attr->value = packageOverride.toString();
+  std::string original_package = std::move(attr->value);
+  attr->value = package_override.ToString();
 
-  FullyQualifiedClassNameVisitor visitor(originalPackage);
-  manifestEl->accept(&visitor);
+  FullyQualifiedClassNameVisitor visitor(original_package);
+  manifest_el->Accept(&visitor);
   return true;
 }
 
-bool ManifestFixer::consume(IAaptContext* context, xml::XmlResource* doc) {
-  xml::Element* root = xml::findRootElement(doc->root.get());
-  if (!root || !root->namespaceUri.empty() || root->name != "manifest") {
-    context->getDiagnostics()->error(DiagMessage(doc->file.source)
+bool ManifestFixer::Consume(IAaptContext* context, xml::XmlResource* doc) {
+  xml::Element* root = xml::FindRootElement(doc->root.get());
+  if (!root || !root->namespace_uri.empty() || root->name != "manifest") {
+    context->GetDiagnostics()->Error(DiagMessage(doc->file.source)
                                      << "root tag must be <manifest>");
     return false;
   }
 
-  if ((mOptions.minSdkVersionDefault || mOptions.targetSdkVersionDefault) &&
-      root->findChild({}, "uses-sdk") == nullptr) {
+  if ((options_.min_sdk_version_default ||
+       options_.target_sdk_version_default) &&
+      root->FindChild({}, "uses-sdk") == nullptr) {
     // Auto insert a <uses-sdk> element.
-    std::unique_ptr<xml::Element> usesSdk = util::make_unique<xml::Element>();
-    usesSdk->name = "uses-sdk";
-    root->addChild(std::move(usesSdk));
+    std::unique_ptr<xml::Element> uses_sdk = util::make_unique<xml::Element>();
+    uses_sdk->name = "uses-sdk";
+    root->AddChild(std::move(uses_sdk));
   }
 
   xml::XmlActionExecutor executor;
-  if (!buildRules(&executor, context->getDiagnostics())) {
+  if (!BuildRules(&executor, context->GetDiagnostics())) {
     return false;
   }
 
-  if (!executor.execute(xml::XmlActionExecutorPolicy::Whitelist,
-                        context->getDiagnostics(), doc)) {
+  if (!executor.Execute(xml::XmlActionExecutorPolicy::kWhitelist,
+                        context->GetDiagnostics(), doc)) {
     return false;
   }
 
-  if (mOptions.renameManifestPackage) {
+  if (options_.rename_manifest_package) {
     // Rename manifest package outside of the XmlActionExecutor.
     // We need to extract the old package name and FullyQualify all class names.
-    if (!renameManifestPackage(mOptions.renameManifestPackage.value(), root)) {
+    if (!RenameManifestPackage(options_.rename_manifest_package.value(),
+                               root)) {
       return false;
     }
   }
diff --git a/tools/aapt2/link/ManifestFixer.h b/tools/aapt2/link/ManifestFixer.h
index c3a114b..470f65e 100644
--- a/tools/aapt2/link/ManifestFixer.h
+++ b/tools/aapt2/link/ManifestFixer.h
@@ -17,22 +17,24 @@
 #ifndef AAPT_LINK_MANIFESTFIXER_H
 #define AAPT_LINK_MANIFESTFIXER_H
 
+#include <string>
+
+#include "android-base/macros.h"
+
 #include "process/IResourceTableConsumer.h"
 #include "util/Maybe.h"
 #include "xml/XmlActionExecutor.h"
 #include "xml/XmlDom.h"
 
-#include <string>
-
 namespace aapt {
 
 struct ManifestFixerOptions {
-  Maybe<std::string> minSdkVersionDefault;
-  Maybe<std::string> targetSdkVersionDefault;
-  Maybe<std::string> renameManifestPackage;
-  Maybe<std::string> renameInstrumentationTargetPackage;
-  Maybe<std::string> versionNameDefault;
-  Maybe<std::string> versionCodeDefault;
+  Maybe<std::string> min_sdk_version_default;
+  Maybe<std::string> target_sdk_version_default;
+  Maybe<std::string> rename_manifest_package;
+  Maybe<std::string> rename_instrumentation_target_package;
+  Maybe<std::string> version_name_default;
+  Maybe<std::string> version_code_default;
 };
 
 /**
@@ -42,14 +44,16 @@
 class ManifestFixer : public IXmlResourceConsumer {
  public:
   explicit ManifestFixer(const ManifestFixerOptions& options)
-      : mOptions(options) {}
+      : options_(options) {}
 
-  bool consume(IAaptContext* context, xml::XmlResource* doc) override;
+  bool Consume(IAaptContext* context, xml::XmlResource* doc) override;
 
  private:
-  bool buildRules(xml::XmlActionExecutor* executor, IDiagnostics* diag);
+  DISALLOW_COPY_AND_ASSIGN(ManifestFixer);
 
-  ManifestFixerOptions mOptions;
+  bool BuildRules(xml::XmlActionExecutor* executor, IDiagnostics* diag);
+
+  ManifestFixerOptions options_;
 };
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/ManifestFixer_test.cpp b/tools/aapt2/link/ManifestFixer_test.cpp
index dc78d98..0e29ba6 100644
--- a/tools/aapt2/link/ManifestFixer_test.cpp
+++ b/tools/aapt2/link/ManifestFixer_test.cpp
@@ -15,10 +15,8 @@
  */
 
 #include "link/ManifestFixer.h"
-#include "test/Builders.h"
-#include "test/Context.h"
 
-#include <gtest/gtest.h>
+#include "test/Test.h"
 
 namespace aapt {
 
@@ -28,42 +26,42 @@
   void SetUp() override {
     mContext =
         test::ContextBuilder()
-            .setCompilationPackage("android")
-            .setPackageId(0x01)
-            .setNameManglerPolicy(NameManglerPolicy{"android"})
-            .addSymbolSource(
+            .SetCompilationPackage("android")
+            .SetPackageId(0x01)
+            .SetNameManglerPolicy(NameManglerPolicy{"android"})
+            .AddSymbolSource(
                 test::StaticSymbolSourceBuilder()
-                    .addSymbol(
+                    .AddSymbol(
                         "android:attr/package", ResourceId(0x01010000),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_STRING)
-                            .build())
-                    .addSymbol(
+                            .SetTypeMask(android::ResTable_map::TYPE_STRING)
+                            .Build())
+                    .AddSymbol(
                         "android:attr/minSdkVersion", ResourceId(0x01010001),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_STRING |
+                            .SetTypeMask(android::ResTable_map::TYPE_STRING |
                                          android::ResTable_map::TYPE_INTEGER)
-                            .build())
-                    .addSymbol(
+                            .Build())
+                    .AddSymbol(
                         "android:attr/targetSdkVersion", ResourceId(0x01010002),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_STRING |
+                            .SetTypeMask(android::ResTable_map::TYPE_STRING |
                                          android::ResTable_map::TYPE_INTEGER)
-                            .build())
-                    .addSymbol("android:string/str", ResourceId(0x01060000))
-                    .build())
-            .build();
+                            .Build())
+                    .AddSymbol("android:string/str", ResourceId(0x01060000))
+                    .Build())
+            .Build();
   }
 
-  std::unique_ptr<xml::XmlResource> verify(const StringPiece& str) {
-    return verifyWithOptions(str, {});
+  std::unique_ptr<xml::XmlResource> Verify(const StringPiece& str) {
+    return VerifyWithOptions(str, {});
   }
 
-  std::unique_ptr<xml::XmlResource> verifyWithOptions(
+  std::unique_ptr<xml::XmlResource> VerifyWithOptions(
       const StringPiece& str, const ManifestFixerOptions& options) {
-    std::unique_ptr<xml::XmlResource> doc = test::buildXmlDom(str);
+    std::unique_ptr<xml::XmlResource> doc = test::BuildXmlDom(str);
     ManifestFixer fixer(options);
-    if (fixer.consume(mContext.get(), doc.get())) {
+    if (fixer.Consume(mContext.get(), doc.get())) {
       return doc;
     }
     return {};
@@ -71,28 +69,28 @@
 };
 
 TEST_F(ManifestFixerTest, EnsureManifestIsRootTag) {
-  EXPECT_EQ(nullptr, verify("<other-tag />"));
-  EXPECT_EQ(nullptr, verify("<ns:manifest xmlns:ns=\"com\" />"));
-  EXPECT_NE(nullptr, verify("<manifest package=\"android\"></manifest>"));
+  EXPECT_EQ(nullptr, Verify("<other-tag />"));
+  EXPECT_EQ(nullptr, Verify("<ns:manifest xmlns:ns=\"com\" />"));
+  EXPECT_NE(nullptr, Verify("<manifest package=\"android\"></manifest>"));
 }
 
 TEST_F(ManifestFixerTest, EnsureManifestHasPackage) {
-  EXPECT_NE(nullptr, verify("<manifest package=\"android\" />"));
-  EXPECT_NE(nullptr, verify("<manifest package=\"com.android\" />"));
-  EXPECT_NE(nullptr, verify("<manifest package=\"com.android.google\" />"));
+  EXPECT_NE(nullptr, Verify("<manifest package=\"android\" />"));
+  EXPECT_NE(nullptr, Verify("<manifest package=\"com.android\" />"));
+  EXPECT_NE(nullptr, Verify("<manifest package=\"com.android.google\" />"));
   EXPECT_EQ(nullptr,
-            verify("<manifest package=\"com.android.google.Class$1\" />"));
-  EXPECT_EQ(nullptr, verify("<manifest "
+            Verify("<manifest package=\"com.android.google.Class$1\" />"));
+  EXPECT_EQ(nullptr, Verify("<manifest "
                             "xmlns:android=\"http://schemas.android.com/apk/"
                             "res/android\" "
                             "android:package=\"com.android\" />"));
-  EXPECT_EQ(nullptr, verify("<manifest package=\"@string/str\" />"));
+  EXPECT_EQ(nullptr, Verify("<manifest package=\"@string/str\" />"));
 }
 
 TEST_F(ManifestFixerTest, UseDefaultSdkVersionsIfNonePresent) {
   ManifestFixerOptions options = {std::string("8"), std::string("22")};
 
-  std::unique_ptr<xml::XmlResource> doc = verifyWithOptions(R"EOF(
+  std::unique_ptr<xml::XmlResource> doc = VerifyWithOptions(R"EOF(
       <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                 package="android">
         <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="21" />
@@ -103,18 +101,18 @@
   xml::Element* el;
   xml::Attribute* attr;
 
-  el = xml::findRootElement(doc.get());
+  el = xml::FindRootElement(doc.get());
   ASSERT_NE(nullptr, el);
-  el = el->findChild({}, "uses-sdk");
+  el = el->FindChild({}, "uses-sdk");
   ASSERT_NE(nullptr, el);
-  attr = el->findAttribute(xml::kSchemaAndroid, "minSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "minSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("7", attr->value);
-  attr = el->findAttribute(xml::kSchemaAndroid, "targetSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "targetSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("21", attr->value);
 
-  doc = verifyWithOptions(R"EOF(
+  doc = VerifyWithOptions(R"EOF(
       <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                 package="android">
         <uses-sdk android:targetSdkVersion="21" />
@@ -122,18 +120,18 @@
                           options);
   ASSERT_NE(nullptr, doc);
 
-  el = xml::findRootElement(doc.get());
+  el = xml::FindRootElement(doc.get());
   ASSERT_NE(nullptr, el);
-  el = el->findChild({}, "uses-sdk");
+  el = el->FindChild({}, "uses-sdk");
   ASSERT_NE(nullptr, el);
-  attr = el->findAttribute(xml::kSchemaAndroid, "minSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "minSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("8", attr->value);
-  attr = el->findAttribute(xml::kSchemaAndroid, "targetSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "targetSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("21", attr->value);
 
-  doc = verifyWithOptions(R"EOF(
+  doc = VerifyWithOptions(R"EOF(
       <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                 package="android">
         <uses-sdk />
@@ -141,40 +139,40 @@
                           options);
   ASSERT_NE(nullptr, doc);
 
-  el = xml::findRootElement(doc.get());
+  el = xml::FindRootElement(doc.get());
   ASSERT_NE(nullptr, el);
-  el = el->findChild({}, "uses-sdk");
+  el = el->FindChild({}, "uses-sdk");
   ASSERT_NE(nullptr, el);
-  attr = el->findAttribute(xml::kSchemaAndroid, "minSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "minSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("8", attr->value);
-  attr = el->findAttribute(xml::kSchemaAndroid, "targetSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "targetSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("22", attr->value);
 
-  doc = verifyWithOptions(R"EOF(
+  doc = VerifyWithOptions(R"EOF(
       <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                 package="android" />)EOF",
                           options);
   ASSERT_NE(nullptr, doc);
 
-  el = xml::findRootElement(doc.get());
+  el = xml::FindRootElement(doc.get());
   ASSERT_NE(nullptr, el);
-  el = el->findChild({}, "uses-sdk");
+  el = el->FindChild({}, "uses-sdk");
   ASSERT_NE(nullptr, el);
-  attr = el->findAttribute(xml::kSchemaAndroid, "minSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "minSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("8", attr->value);
-  attr = el->findAttribute(xml::kSchemaAndroid, "targetSdkVersion");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "targetSdkVersion");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ("22", attr->value);
 }
 
 TEST_F(ManifestFixerTest, RenameManifestPackageAndFullyQualifyClasses) {
   ManifestFixerOptions options;
-  options.renameManifestPackage = std::string("com.android");
+  options.rename_manifest_package = std::string("com.android");
 
-  std::unique_ptr<xml::XmlResource> doc = verifyWithOptions(R"EOF(
+  std::unique_ptr<xml::XmlResource> doc = VerifyWithOptions(R"EOF(
       <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                 package="android">
         <application android:name=".MainApplication" text="hello">
@@ -185,38 +183,38 @@
                                                             options);
   ASSERT_NE(nullptr, doc);
 
-  xml::Element* manifestEl = xml::findRootElement(doc.get());
+  xml::Element* manifestEl = xml::FindRootElement(doc.get());
   ASSERT_NE(nullptr, manifestEl);
 
   xml::Attribute* attr = nullptr;
 
-  attr = manifestEl->findAttribute({}, "package");
+  attr = manifestEl->FindAttribute({}, "package");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ(std::string("com.android"), attr->value);
 
-  xml::Element* applicationEl = manifestEl->findChild({}, "application");
+  xml::Element* applicationEl = manifestEl->FindChild({}, "application");
   ASSERT_NE(nullptr, applicationEl);
 
-  attr = applicationEl->findAttribute(xml::kSchemaAndroid, "name");
+  attr = applicationEl->FindAttribute(xml::kSchemaAndroid, "name");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ(std::string("android.MainApplication"), attr->value);
 
-  attr = applicationEl->findAttribute({}, "text");
+  attr = applicationEl->FindAttribute({}, "text");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ(std::string("hello"), attr->value);
 
   xml::Element* el;
-  el = applicationEl->findChild({}, "activity");
+  el = applicationEl->FindChild({}, "activity");
   ASSERT_NE(nullptr, el);
 
-  attr = el->findAttribute(xml::kSchemaAndroid, "name");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "name");
   ASSERT_NE(nullptr, el);
   EXPECT_EQ(std::string("android.activity.Start"), attr->value);
 
-  el = applicationEl->findChild({}, "receiver");
+  el = applicationEl->FindChild({}, "receiver");
   ASSERT_NE(nullptr, el);
 
-  attr = el->findAttribute(xml::kSchemaAndroid, "name");
+  attr = el->FindAttribute(xml::kSchemaAndroid, "name");
   ASSERT_NE(nullptr, el);
   EXPECT_EQ(std::string("com.google.android.Receiver"), attr->value);
 }
@@ -224,9 +222,9 @@
 TEST_F(ManifestFixerTest,
        RenameManifestInstrumentationPackageAndFullyQualifyTarget) {
   ManifestFixerOptions options;
-  options.renameInstrumentationTargetPackage = std::string("com.android");
+  options.rename_instrumentation_target_package = std::string("com.android");
 
-  std::unique_ptr<xml::XmlResource> doc = verifyWithOptions(R"EOF(
+  std::unique_ptr<xml::XmlResource> doc = VerifyWithOptions(R"EOF(
       <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                 package="android">
         <instrumentation android:targetPackage="android" />
@@ -234,63 +232,63 @@
                                                             options);
   ASSERT_NE(nullptr, doc);
 
-  xml::Element* manifestEl = xml::findRootElement(doc.get());
-  ASSERT_NE(nullptr, manifestEl);
+  xml::Element* manifest_el = xml::FindRootElement(doc.get());
+  ASSERT_NE(nullptr, manifest_el);
 
-  xml::Element* instrumentationEl =
-      manifestEl->findChild({}, "instrumentation");
-  ASSERT_NE(nullptr, instrumentationEl);
+  xml::Element* instrumentation_el =
+      manifest_el->FindChild({}, "instrumentation");
+  ASSERT_NE(nullptr, instrumentation_el);
 
   xml::Attribute* attr =
-      instrumentationEl->findAttribute(xml::kSchemaAndroid, "targetPackage");
+      instrumentation_el->FindAttribute(xml::kSchemaAndroid, "targetPackage");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ(std::string("com.android"), attr->value);
 }
 
 TEST_F(ManifestFixerTest, UseDefaultVersionNameAndCode) {
   ManifestFixerOptions options;
-  options.versionNameDefault = std::string("Beta");
-  options.versionCodeDefault = std::string("0x10000000");
+  options.version_name_default = std::string("Beta");
+  options.version_code_default = std::string("0x10000000");
 
-  std::unique_ptr<xml::XmlResource> doc = verifyWithOptions(R"EOF(
+  std::unique_ptr<xml::XmlResource> doc = VerifyWithOptions(R"EOF(
       <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                 package="android" />)EOF",
                                                             options);
   ASSERT_NE(nullptr, doc);
 
-  xml::Element* manifestEl = xml::findRootElement(doc.get());
-  ASSERT_NE(nullptr, manifestEl);
+  xml::Element* manifest_el = xml::FindRootElement(doc.get());
+  ASSERT_NE(nullptr, manifest_el);
 
   xml::Attribute* attr =
-      manifestEl->findAttribute(xml::kSchemaAndroid, "versionName");
+      manifest_el->FindAttribute(xml::kSchemaAndroid, "versionName");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ(std::string("Beta"), attr->value);
 
-  attr = manifestEl->findAttribute(xml::kSchemaAndroid, "versionCode");
+  attr = manifest_el->FindAttribute(xml::kSchemaAndroid, "versionCode");
   ASSERT_NE(nullptr, attr);
   EXPECT_EQ(std::string("0x10000000"), attr->value);
 }
 
 TEST_F(ManifestFixerTest, EnsureManifestAttributesAreTyped) {
   EXPECT_EQ(nullptr,
-            verify("<manifest package=\"android\" coreApp=\"hello\" />"));
+            Verify("<manifest package=\"android\" coreApp=\"hello\" />"));
   EXPECT_EQ(nullptr,
-            verify("<manifest package=\"android\" coreApp=\"1dp\" />"));
+            Verify("<manifest package=\"android\" coreApp=\"1dp\" />"));
 
   std::unique_ptr<xml::XmlResource> doc =
-      verify("<manifest package=\"android\" coreApp=\"true\" />");
+      Verify("<manifest package=\"android\" coreApp=\"true\" />");
   ASSERT_NE(nullptr, doc);
 
-  xml::Element* el = xml::findRootElement(doc.get());
+  xml::Element* el = xml::FindRootElement(doc.get());
   ASSERT_NE(nullptr, el);
 
   EXPECT_EQ("manifest", el->name);
 
-  xml::Attribute* attr = el->findAttribute("", "coreApp");
+  xml::Attribute* attr = el->FindAttribute("", "coreApp");
   ASSERT_NE(nullptr, attr);
 
-  EXPECT_NE(nullptr, attr->compiledValue);
-  EXPECT_NE(nullptr, valueCast<BinaryPrimitive>(attr->compiledValue.get()));
+  EXPECT_NE(nullptr, attr->compiled_value);
+  EXPECT_NE(nullptr, ValueCast<BinaryPrimitive>(attr->compiled_value.get()));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/PrivateAttributeMover.cpp b/tools/aapt2/link/PrivateAttributeMover.cpp
index 174b41f..cc07a6e 100644
--- a/tools/aapt2/link/PrivateAttributeMover.cpp
+++ b/tools/aapt2/link/PrivateAttributeMover.cpp
@@ -14,27 +14,30 @@
  * limitations under the License.
  */
 
-#include "ResourceTable.h"
 #include "link/Linkers.h"
 
 #include <algorithm>
 #include <iterator>
 
+#include "android-base/logging.h"
+
+#include "ResourceTable.h"
+
 namespace aapt {
 
 template <typename InputContainer, typename OutputIterator, typename Predicate>
-OutputIterator moveIf(InputContainer& inputContainer, OutputIterator result,
-                      Predicate pred) {
-  const auto last = inputContainer.end();
-  auto newEnd =
-      std::find_if(inputContainer.begin(), inputContainer.end(), pred);
-  if (newEnd == last) {
+OutputIterator move_if(InputContainer& input_container, OutputIterator result,
+                       Predicate pred) {
+  const auto last = input_container.end();
+  auto new_end =
+      std::find_if(input_container.begin(), input_container.end(), pred);
+  if (new_end == last) {
     return result;
   }
 
-  *result = std::move(*newEnd);
+  *result = std::move(*new_end);
 
-  auto first = newEnd;
+  auto first = new_end;
   ++first;
 
   for (; first != last; ++first) {
@@ -44,39 +47,38 @@
       ++result;
     } else {
       // We want to keep this guy, but we will need to move it up the list to
-      // replace
-      // missing items.
-      *newEnd = std::move(*first);
-      ++newEnd;
+      // replace missing items.
+      *new_end = std::move(*first);
+      ++new_end;
     }
   }
 
-  inputContainer.erase(newEnd, last);
+  input_container.erase(new_end, last);
   return result;
 }
 
-bool PrivateAttributeMover::consume(IAaptContext* context,
+bool PrivateAttributeMover::Consume(IAaptContext* context,
                                     ResourceTable* table) {
   for (auto& package : table->packages) {
-    ResourceTableType* type = package->findType(ResourceType::kAttr);
+    ResourceTableType* type = package->FindType(ResourceType::kAttr);
     if (!type) {
       continue;
     }
 
-    if (type->symbolStatus.state != SymbolState::kPublic) {
+    if (type->symbol_status.state != SymbolState::kPublic) {
       // No public attributes, so we can safely leave these private attributes
       // where they are.
       return true;
     }
 
-    ResourceTableType* privAttrType =
-        package->findOrCreateType(ResourceType::kAttrPrivate);
-    assert(privAttrType->entries.empty());
+    ResourceTableType* priv_attr_type =
+        package->FindOrCreateType(ResourceType::kAttrPrivate);
+    CHECK(priv_attr_type->entries.empty());
 
-    moveIf(type->entries, std::back_inserter(privAttrType->entries),
-           [](const std::unique_ptr<ResourceEntry>& entry) -> bool {
-             return entry->symbolStatus.state != SymbolState::kPublic;
-           });
+    move_if(type->entries, std::back_inserter(priv_attr_type->entries),
+            [](const std::unique_ptr<ResourceEntry>& entry) -> bool {
+              return entry->symbol_status.state != SymbolState::kPublic;
+            });
     break;
   }
   return true;
diff --git a/tools/aapt2/link/PrivateAttributeMover_test.cpp b/tools/aapt2/link/PrivateAttributeMover_test.cpp
index a7a1013..90c4922 100644
--- a/tools/aapt2/link/PrivateAttributeMover_test.cpp
+++ b/tools/aapt2/link/PrivateAttributeMover_test.cpp
@@ -15,64 +15,65 @@
  */
 
 #include "link/Linkers.h"
+
 #include "test/Test.h"
 
 namespace aapt {
 
 TEST(PrivateAttributeMoverTest, MovePrivateAttributes) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
 
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .addSimple("android:attr/publicA")
-          .addSimple("android:attr/privateA")
-          .addSimple("android:attr/publicB")
-          .addSimple("android:attr/privateB")
-          .setSymbolState("android:attr/publicA", ResourceId(0x01010000),
+          .AddSimple("android:attr/publicA")
+          .AddSimple("android:attr/privateA")
+          .AddSimple("android:attr/publicB")
+          .AddSimple("android:attr/privateB")
+          .SetSymbolState("android:attr/publicA", ResourceId(0x01010000),
                           SymbolState::kPublic)
-          .setSymbolState("android:attr/publicB", ResourceId(0x01010000),
+          .SetSymbolState("android:attr/publicB", ResourceId(0x01010000),
                           SymbolState::kPublic)
-          .build();
+          .Build();
 
   PrivateAttributeMover mover;
-  ASSERT_TRUE(mover.consume(context.get(), table.get()));
+  ASSERT_TRUE(mover.Consume(context.get(), table.get()));
 
-  ResourceTablePackage* package = table->findPackage("android");
+  ResourceTablePackage* package = table->FindPackage("android");
   ASSERT_NE(package, nullptr);
 
-  ResourceTableType* type = package->findType(ResourceType::kAttr);
+  ResourceTableType* type = package->FindType(ResourceType::kAttr);
   ASSERT_NE(type, nullptr);
   ASSERT_EQ(type->entries.size(), 2u);
-  EXPECT_NE(type->findEntry("publicA"), nullptr);
-  EXPECT_NE(type->findEntry("publicB"), nullptr);
+  EXPECT_NE(type->FindEntry("publicA"), nullptr);
+  EXPECT_NE(type->FindEntry("publicB"), nullptr);
 
-  type = package->findType(ResourceType::kAttrPrivate);
+  type = package->FindType(ResourceType::kAttrPrivate);
   ASSERT_NE(type, nullptr);
   ASSERT_EQ(type->entries.size(), 2u);
-  EXPECT_NE(type->findEntry("privateA"), nullptr);
-  EXPECT_NE(type->findEntry("privateB"), nullptr);
+  EXPECT_NE(type->FindEntry("privateA"), nullptr);
+  EXPECT_NE(type->FindEntry("privateB"), nullptr);
 }
 
 TEST(PrivateAttributeMoverTest,
      LeavePrivateAttributesWhenNoPublicAttributesDefined) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
 
   std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
-                                             .addSimple("android:attr/privateA")
-                                             .addSimple("android:attr/privateB")
-                                             .build();
+                                             .AddSimple("android:attr/privateA")
+                                             .AddSimple("android:attr/privateB")
+                                             .Build();
 
   PrivateAttributeMover mover;
-  ASSERT_TRUE(mover.consume(context.get(), table.get()));
+  ASSERT_TRUE(mover.Consume(context.get(), table.get()));
 
-  ResourceTablePackage* package = table->findPackage("android");
+  ResourceTablePackage* package = table->FindPackage("android");
   ASSERT_NE(package, nullptr);
 
-  ResourceTableType* type = package->findType(ResourceType::kAttr);
+  ResourceTableType* type = package->FindType(ResourceType::kAttr);
   ASSERT_NE(type, nullptr);
   ASSERT_EQ(type->entries.size(), 2u);
 
-  type = package->findType(ResourceType::kAttrPrivate);
+  type = package->FindType(ResourceType::kAttrPrivate);
   ASSERT_EQ(type, nullptr);
 }
 
diff --git a/tools/aapt2/link/ProductFilter.cpp b/tools/aapt2/link/ProductFilter.cpp
index d59b682..c1a95ee1 100644
--- a/tools/aapt2/link/ProductFilter.cpp
+++ b/tools/aapt2/link/ProductFilter.cpp
@@ -14,103 +14,106 @@
  * limitations under the License.
  */
 
-#include "link/ProductFilter.h"
+#include "link/Linkers.h"
+
+#include "ResourceTable.h"
 
 namespace aapt {
 
-ProductFilter::ResourceConfigValueIter ProductFilter::selectProductToKeep(
+ProductFilter::ResourceConfigValueIter ProductFilter::SelectProductToKeep(
     const ResourceNameRef& name, const ResourceConfigValueIter begin,
     const ResourceConfigValueIter end, IDiagnostics* diag) {
-  ResourceConfigValueIter defaultProductIter = end;
-  ResourceConfigValueIter selectedProductIter = end;
+  ResourceConfigValueIter default_product_iter = end;
+  ResourceConfigValueIter selected_product_iter = end;
 
   for (ResourceConfigValueIter iter = begin; iter != end; ++iter) {
-    ResourceConfigValue* configValue = iter->get();
-    if (mProducts.find(configValue->product) != mProducts.end()) {
-      if (selectedProductIter != end) {
+    ResourceConfigValue* config_value = iter->get();
+    if (products_.find(config_value->product) != products_.end()) {
+      if (selected_product_iter != end) {
         // We have two possible values for this product!
-        diag->error(DiagMessage(configValue->value->getSource())
-                    << "selection of product '" << configValue->product
+        diag->Error(DiagMessage(config_value->value->GetSource())
+                    << "selection of product '" << config_value->product
                     << "' for resource " << name << " is ambiguous");
 
-        ResourceConfigValue* previouslySelectedConfigValue =
-            selectedProductIter->get();
-        diag->note(
-            DiagMessage(previouslySelectedConfigValue->value->getSource())
-            << "product '" << previouslySelectedConfigValue->product
+        ResourceConfigValue* previously_selected_config_value =
+            selected_product_iter->get();
+        diag->Note(
+            DiagMessage(previously_selected_config_value->value->GetSource())
+            << "product '" << previously_selected_config_value->product
             << "' is also a candidate");
         return end;
       }
 
       // Select this product.
-      selectedProductIter = iter;
+      selected_product_iter = iter;
     }
 
-    if (configValue->product.empty() || configValue->product == "default") {
-      if (defaultProductIter != end) {
+    if (config_value->product.empty() || config_value->product == "default") {
+      if (default_product_iter != end) {
         // We have two possible default values.
-        diag->error(DiagMessage(configValue->value->getSource())
+        diag->Error(DiagMessage(config_value->value->GetSource())
                     << "multiple default products defined for resource "
                     << name);
 
-        ResourceConfigValue* previouslyDefaultConfigValue =
-            defaultProductIter->get();
-        diag->note(DiagMessage(previouslyDefaultConfigValue->value->getSource())
-                   << "default product also defined here");
+        ResourceConfigValue* previously_default_config_value =
+            default_product_iter->get();
+        diag->Note(
+            DiagMessage(previously_default_config_value->value->GetSource())
+            << "default product also defined here");
         return end;
       }
 
       // Mark the default.
-      defaultProductIter = iter;
+      default_product_iter = iter;
     }
   }
 
-  if (defaultProductIter == end) {
-    diag->error(DiagMessage() << "no default product defined for resource "
+  if (default_product_iter == end) {
+    diag->Error(DiagMessage() << "no default product defined for resource "
                               << name);
     return end;
   }
 
-  if (selectedProductIter == end) {
-    selectedProductIter = defaultProductIter;
+  if (selected_product_iter == end) {
+    selected_product_iter = default_product_iter;
   }
-  return selectedProductIter;
+  return selected_product_iter;
 }
 
-bool ProductFilter::consume(IAaptContext* context, ResourceTable* table) {
+bool ProductFilter::Consume(IAaptContext* context, ResourceTable* table) {
   bool error = false;
   for (auto& pkg : table->packages) {
     for (auto& type : pkg->types) {
       for (auto& entry : type->entries) {
-        std::vector<std::unique_ptr<ResourceConfigValue>> newValues;
+        std::vector<std::unique_ptr<ResourceConfigValue>> new_values;
 
         ResourceConfigValueIter iter = entry->values.begin();
-        ResourceConfigValueIter startRangeIter = iter;
+        ResourceConfigValueIter start_range_iter = iter;
         while (iter != entry->values.end()) {
           ++iter;
           if (iter == entry->values.end() ||
-              (*iter)->config != (*startRangeIter)->config) {
+              (*iter)->config != (*start_range_iter)->config) {
             // End of the array, or we saw a different config,
             // so this must be the end of a range of products.
             // Select the product to keep from the set of products defined.
             ResourceNameRef name(pkg->name, type->type, entry->name);
-            auto valueToKeep = selectProductToKeep(name, startRangeIter, iter,
-                                                   context->getDiagnostics());
-            if (valueToKeep == iter) {
+            auto value_to_keep = SelectProductToKeep(
+                name, start_range_iter, iter, context->GetDiagnostics());
+            if (value_to_keep == iter) {
               // An error occurred, we could not pick a product.
               error = true;
             } else {
               // We selected a product to keep. Move it to the new array.
-              newValues.push_back(std::move(*valueToKeep));
+              new_values.push_back(std::move(*value_to_keep));
             }
 
             // Start the next range of products.
-            startRangeIter = iter;
+            start_range_iter = iter;
           }
         }
 
         // Now move the new values in to place.
-        entry->values = std::move(newValues);
+        entry->values = std::move(new_values);
       }
     }
   }
diff --git a/tools/aapt2/link/ProductFilter.h b/tools/aapt2/link/ProductFilter.h
deleted file mode 100644
index cc8b8c2..0000000
--- a/tools/aapt2/link/ProductFilter.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef AAPT_LINK_PRODUCTFILTER_H
-#define AAPT_LINK_PRODUCTFILTER_H
-
-#include "ResourceTable.h"
-#include "process/IResourceTableConsumer.h"
-
-#include <android-base/macros.h>
-#include <unordered_set>
-
-namespace aapt {
-
-class ProductFilter {
- public:
-  using ResourceConfigValueIter =
-      std::vector<std::unique_ptr<ResourceConfigValue>>::iterator;
-
-  explicit ProductFilter(std::unordered_set<std::string> products)
-      : mProducts(products) {}
-
-  ResourceConfigValueIter selectProductToKeep(
-      const ResourceNameRef& name, const ResourceConfigValueIter begin,
-      const ResourceConfigValueIter end, IDiagnostics* diag);
-
-  bool consume(IAaptContext* context, ResourceTable* table);
-
- private:
-  std::unordered_set<std::string> mProducts;
-
-  DISALLOW_COPY_AND_ASSIGN(ProductFilter);
-};
-
-}  // namespace aapt
-
-#endif /* AAPT_LINK_PRODUCTFILTER_H */
diff --git a/tools/aapt2/link/ProductFilter_test.cpp b/tools/aapt2/link/ProductFilter_test.cpp
index 7f78f8b..379ad26 100644
--- a/tools/aapt2/link/ProductFilter_test.cpp
+++ b/tools/aapt2/link/ProductFilter_test.cpp
@@ -14,116 +14,117 @@
  * limitations under the License.
  */
 
-#include "link/ProductFilter.h"
+#include "link/Linkers.h"
+
 #include "test/Test.h"
 
 namespace aapt {
 
 TEST(ProductFilterTest, SelectTwoProducts) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
 
-  const ConfigDescription land = test::parseConfigOrDie("land");
-  const ConfigDescription port = test::parseConfigOrDie("port");
+  const ConfigDescription land = test::ParseConfigOrDie("land");
+  const ConfigDescription port = test::ParseConfigOrDie("port");
 
   ResourceTable table;
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"), land, "",
-      test::ValueBuilder<Id>().setSource(Source("land/default.xml")).build(),
-      context->getDiagnostics()));
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"), land, "tablet",
-      test::ValueBuilder<Id>().setSource(Source("land/tablet.xml")).build(),
-      context->getDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"), land, "",
+      test::ValueBuilder<Id>().SetSource(Source("land/default.xml")).Build(),
+      context->GetDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"), land, "tablet",
+      test::ValueBuilder<Id>().SetSource(Source("land/tablet.xml")).Build(),
+      context->GetDiagnostics()));
 
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"), port, "",
-      test::ValueBuilder<Id>().setSource(Source("port/default.xml")).build(),
-      context->getDiagnostics()));
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"), port, "tablet",
-      test::ValueBuilder<Id>().setSource(Source("port/tablet.xml")).build(),
-      context->getDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"), port, "",
+      test::ValueBuilder<Id>().SetSource(Source("port/default.xml")).Build(),
+      context->GetDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"), port, "tablet",
+      test::ValueBuilder<Id>().SetSource(Source("port/tablet.xml")).Build(),
+      context->GetDiagnostics()));
 
   ProductFilter filter({"tablet"});
-  ASSERT_TRUE(filter.consume(context.get(), &table));
+  ASSERT_TRUE(filter.Consume(context.get(), &table));
 
-  EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(
+  EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>(
                          &table, "android:string/one", land, ""));
-  EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(
+  EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>(
                          &table, "android:string/one", land, "tablet"));
-  EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(
+  EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>(
                          &table, "android:string/one", port, ""));
-  EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(
+  EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>(
                          &table, "android:string/one", port, "tablet"));
 }
 
 TEST(ProductFilterTest, SelectDefaultProduct) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
 
   ResourceTable table;
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"),
-      ConfigDescription::defaultConfig(), "",
-      test::ValueBuilder<Id>().setSource(Source("default.xml")).build(),
-      context->getDiagnostics()));
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"),
-      ConfigDescription::defaultConfig(), "tablet",
-      test::ValueBuilder<Id>().setSource(Source("tablet.xml")).build(),
-      context->getDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"),
+      ConfigDescription::DefaultConfig(), "",
+      test::ValueBuilder<Id>().SetSource(Source("default.xml")).Build(),
+      context->GetDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"),
+      ConfigDescription::DefaultConfig(), "tablet",
+      test::ValueBuilder<Id>().SetSource(Source("tablet.xml")).Build(),
+      context->GetDiagnostics()));
 
   ProductFilter filter({});
-  ASSERT_TRUE(filter.consume(context.get(), &table));
+  ASSERT_TRUE(filter.Consume(context.get(), &table));
 
-  EXPECT_NE(nullptr, test::getValueForConfigAndProduct<Id>(
+  EXPECT_NE(nullptr, test::GetValueForConfigAndProduct<Id>(
                          &table, "android:string/one",
-                         ConfigDescription::defaultConfig(), ""));
-  EXPECT_EQ(nullptr, test::getValueForConfigAndProduct<Id>(
+                         ConfigDescription::DefaultConfig(), ""));
+  EXPECT_EQ(nullptr, test::GetValueForConfigAndProduct<Id>(
                          &table, "android:string/one",
-                         ConfigDescription::defaultConfig(), "tablet"));
+                         ConfigDescription::DefaultConfig(), "tablet"));
 }
 
 TEST(ProductFilterTest, FailOnAmbiguousProduct) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
 
   ResourceTable table;
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"),
-      ConfigDescription::defaultConfig(), "",
-      test::ValueBuilder<Id>().setSource(Source("default.xml")).build(),
-      context->getDiagnostics()));
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"),
-      ConfigDescription::defaultConfig(), "tablet",
-      test::ValueBuilder<Id>().setSource(Source("tablet.xml")).build(),
-      context->getDiagnostics()));
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"),
-      ConfigDescription::defaultConfig(), "no-sdcard",
-      test::ValueBuilder<Id>().setSource(Source("no-sdcard.xml")).build(),
-      context->getDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"),
+      ConfigDescription::DefaultConfig(), "",
+      test::ValueBuilder<Id>().SetSource(Source("default.xml")).Build(),
+      context->GetDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"),
+      ConfigDescription::DefaultConfig(), "tablet",
+      test::ValueBuilder<Id>().SetSource(Source("tablet.xml")).Build(),
+      context->GetDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"),
+      ConfigDescription::DefaultConfig(), "no-sdcard",
+      test::ValueBuilder<Id>().SetSource(Source("no-sdcard.xml")).Build(),
+      context->GetDiagnostics()));
 
   ProductFilter filter({"tablet", "no-sdcard"});
-  ASSERT_FALSE(filter.consume(context.get(), &table));
+  ASSERT_FALSE(filter.Consume(context.get(), &table));
 }
 
 TEST(ProductFilterTest, FailOnMultipleDefaults) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
 
   ResourceTable table;
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"),
-      ConfigDescription::defaultConfig(), "",
-      test::ValueBuilder<Id>().setSource(Source(".xml")).build(),
-      context->getDiagnostics()));
-  ASSERT_TRUE(table.addResource(
-      test::parseNameOrDie("android:string/one"),
-      ConfigDescription::defaultConfig(), "default",
-      test::ValueBuilder<Id>().setSource(Source("default.xml")).build(),
-      context->getDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"),
+      ConfigDescription::DefaultConfig(), "",
+      test::ValueBuilder<Id>().SetSource(Source(".xml")).Build(),
+      context->GetDiagnostics()));
+  ASSERT_TRUE(table.AddResource(
+      test::ParseNameOrDie("android:string/one"),
+      ConfigDescription::DefaultConfig(), "default",
+      test::ValueBuilder<Id>().SetSource(Source("default.xml")).Build(),
+      context->GetDiagnostics()));
 
   ProductFilter filter({});
-  ASSERT_FALSE(filter.consume(context.get(), &table));
+  ASSERT_FALSE(filter.Consume(context.get(), &table));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/ReferenceLinker.cpp b/tools/aapt2/link/ReferenceLinker.cpp
index 7fe0956..be787b2 100644
--- a/tools/aapt2/link/ReferenceLinker.cpp
+++ b/tools/aapt2/link/ReferenceLinker.cpp
@@ -14,7 +14,11 @@
  * limitations under the License.
  */
 
-#include "ReferenceLinker.h"
+#include "link/ReferenceLinker.h"
+
+#include "android-base/logging.h"
+#include "androidfw/ResourceTypes.h"
+
 #include "Diagnostics.h"
 #include "ResourceTable.h"
 #include "ResourceUtils.h"
@@ -26,9 +30,6 @@
 #include "util/Util.h"
 #include "xml/XmlUtil.h"
 
-#include <androidfw/ResourceTypes.h>
-#include <cassert>
-
 namespace aapt {
 
 namespace {
@@ -46,21 +47,21 @@
  */
 class ReferenceLinkerVisitor : public ValueVisitor {
  public:
-  using ValueVisitor::visit;
+  using ValueVisitor::Visit;
 
   ReferenceLinkerVisitor(IAaptContext* context, SymbolTable* symbols,
-                         StringPool* stringPool, xml::IPackageDeclStack* decl,
-                         CallSite* callSite)
-      : mContext(context),
-        mSymbols(symbols),
-        mPackageDecls(decl),
-        mStringPool(stringPool),
-        mCallSite(callSite) {}
+                         StringPool* string_pool, xml::IPackageDeclStack* decl,
+                         CallSite* callsite)
+      : context_(context),
+        symbols_(symbols),
+        package_decls_(decl),
+        string_pool_(string_pool),
+        callsite_(callsite) {}
 
-  void visit(Reference* ref) override {
-    if (!ReferenceLinker::linkReference(ref, mContext, mSymbols, mPackageDecls,
-                                        mCallSite)) {
-      mError = true;
+  void Visit(Reference* ref) override {
+    if (!ReferenceLinker::LinkReference(ref, context_, symbols_, package_decls_,
+                                        callsite_)) {
+      error_ = true;
     }
   }
 
@@ -72,13 +73,13 @@
    * lookup the attributes to find out which types are allowed for the
    * attributes' values.
    */
-  void visit(Style* style) override {
+  void Visit(Style* style) override {
     if (style->parent) {
-      visit(&style->parent.value());
+      Visit(&style->parent.value());
     }
 
     for (Style::Entry& entry : style->entries) {
-      std::string errStr;
+      std::string err_str;
 
       // Transform the attribute reference so that it is using the fully
       // qualified package
@@ -86,17 +87,17 @@
       // resources if
       // there was a '*' in the reference or if the package came from the
       // private namespace.
-      Reference transformedReference = entry.key;
-      transformReferenceFromNamespace(mPackageDecls,
-                                      mContext->getCompilationPackage(),
-                                      &transformedReference);
+      Reference transformed_reference = entry.key;
+      TransformReferenceFromNamespace(package_decls_,
+                                      context_->GetCompilationPackage(),
+                                      &transformed_reference);
 
       // Find the attribute in the symbol table and check if it is visible from
       // this callsite.
       const SymbolTable::Symbol* symbol =
-          ReferenceLinker::resolveAttributeCheckVisibility(
-              transformedReference, mContext->getNameMangler(), mSymbols,
-              mCallSite, &errStr);
+          ReferenceLinker::ResolveAttributeCheckVisibility(
+              transformed_reference, context_->GetNameMangler(), symbols_,
+              callsite_, &err_str);
       if (symbol) {
         // Assign our style key the correct ID.
         // The ID may not exist.
@@ -104,11 +105,11 @@
 
         // Try to convert the value to a more specific, typed value based on the
         // attribute it is set to.
-        entry.value = parseValueWithAttribute(std::move(entry.value),
+        entry.value = ParseValueWithAttribute(std::move(entry.value),
                                               symbol->attribute.get());
 
         // Link/resolve the final value (mostly if it's a reference).
-        entry.value->accept(this);
+        entry.value->Accept(this);
 
         // Now verify that the type of this item is compatible with the
         // attribute it
@@ -116,39 +117,34 @@
         // check is
         // fast and we avoid creating a DiagMessage when the match is
         // successful.
-        if (!symbol->attribute->matches(entry.value.get(), nullptr)) {
+        if (!symbol->attribute->Matches(entry.value.get(), nullptr)) {
           // The actual type of this item is incompatible with the attribute.
-          DiagMessage msg(entry.key.getSource());
+          DiagMessage msg(entry.key.GetSource());
 
           // Call the matches method again, this time with a DiagMessage so we
           // fill
           // in the actual error message.
-          symbol->attribute->matches(entry.value.get(), &msg);
-          mContext->getDiagnostics()->error(msg);
-          mError = true;
+          symbol->attribute->Matches(entry.value.get(), &msg);
+          context_->GetDiagnostics()->Error(msg);
+          error_ = true;
         }
 
       } else {
-        DiagMessage msg(entry.key.getSource());
+        DiagMessage msg(entry.key.GetSource());
         msg << "style attribute '";
-        ReferenceLinker::writeResourceName(&msg, entry.key,
-                                           transformedReference);
-        msg << "' " << errStr;
-        mContext->getDiagnostics()->error(msg);
-        mError = true;
+        ReferenceLinker::WriteResourceName(&msg, entry.key,
+                                           transformed_reference);
+        msg << "' " << err_str;
+        context_->GetDiagnostics()->Error(msg);
+        error_ = true;
       }
     }
   }
 
-  bool hasError() { return mError; }
+  bool HasError() { return error_; }
 
  private:
-  IAaptContext* mContext;
-  SymbolTable* mSymbols;
-  xml::IPackageDeclStack* mPackageDecls;
-  StringPool* mStringPool;
-  CallSite* mCallSite;
-  bool mError = false;
+  DISALLOW_COPY_AND_ASSIGN(ReferenceLinkerVisitor);
 
   /**
    * Transform a RawString value into a more specific, appropriate value, based
@@ -156,20 +152,20 @@
    * Attribute. If a non RawString value is passed in, this is an identity
    * transform.
    */
-  std::unique_ptr<Item> parseValueWithAttribute(std::unique_ptr<Item> value,
+  std::unique_ptr<Item> ParseValueWithAttribute(std::unique_ptr<Item> value,
                                                 const Attribute* attr) {
-    if (RawString* rawString = valueCast<RawString>(value.get())) {
+    if (RawString* raw_string = ValueCast<RawString>(value.get())) {
       std::unique_ptr<Item> transformed =
-          ResourceUtils::tryParseItemForAttribute(*rawString->value, attr);
+          ResourceUtils::TryParseItemForAttribute(*raw_string->value, attr);
 
       // If we could not parse as any specific type, try a basic STRING.
       if (!transformed &&
-          (attr->typeMask & android::ResTable_map::TYPE_STRING)) {
-        util::StringBuilder stringBuilder;
-        stringBuilder.append(*rawString->value);
-        if (stringBuilder) {
+          (attr->type_mask & android::ResTable_map::TYPE_STRING)) {
+        util::StringBuilder string_builder;
+        string_builder.Append(*raw_string->value);
+        if (string_builder) {
           transformed = util::make_unique<String>(
-              mStringPool->makeRef(stringBuilder.str()));
+              string_pool_->MakeRef(string_builder.ToString()));
         }
       }
 
@@ -179,6 +175,31 @@
     };
     return value;
   }
+
+  IAaptContext* context_;
+  SymbolTable* symbols_;
+  xml::IPackageDeclStack* package_decls_;
+  StringPool* string_pool_;
+  CallSite* callsite_;
+  bool error_ = false;
+};
+
+class EmptyDeclStack : public xml::IPackageDeclStack {
+ public:
+  EmptyDeclStack() = default;
+
+  Maybe<xml::ExtractedPackage> TransformPackageAlias(
+      const StringPiece& alias,
+      const StringPiece& local_package) const override {
+    if (alias.empty()) {
+      return xml::ExtractedPackage{local_package.ToString(),
+                                   true /* private */};
+    }
+    return {};
+  }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(EmptyDeclStack);
 };
 
 }  // namespace
@@ -188,14 +209,14 @@
  * requesting private access
  * or if the callsite comes from the same package.
  */
-bool ReferenceLinker::isSymbolVisible(const SymbolTable::Symbol& symbol,
+bool ReferenceLinker::IsSymbolVisible(const SymbolTable::Symbol& symbol,
                                       const Reference& ref,
-                                      const CallSite& callSite) {
-  if (!symbol.isPublic && !ref.privateReference) {
+                                      const CallSite& callsite) {
+  if (!symbol.is_public && !ref.private_reference) {
     if (ref.name) {
-      return callSite.resource.package == ref.name.value().package;
+      return callsite.resource.package == ref.name.value().package;
     } else if (ref.id && symbol.id) {
-      return ref.id.value().packageId() == symbol.id.value().packageId();
+      return ref.id.value().package_id() == symbol.id.value().package_id();
     } else {
       return false;
     }
@@ -203,160 +224,144 @@
   return true;
 }
 
-const SymbolTable::Symbol* ReferenceLinker::resolveSymbol(
+const SymbolTable::Symbol* ReferenceLinker::ResolveSymbol(
     const Reference& reference, NameMangler* mangler, SymbolTable* symbols) {
   if (reference.name) {
-    Maybe<ResourceName> mangled = mangler->mangleName(reference.name.value());
-    return symbols->findByName(mangled ? mangled.value()
+    Maybe<ResourceName> mangled = mangler->MangleName(reference.name.value());
+    return symbols->FindByName(mangled ? mangled.value()
                                        : reference.name.value());
   } else if (reference.id) {
-    return symbols->findById(reference.id.value());
+    return symbols->FindById(reference.id.value());
   } else {
     return nullptr;
   }
 }
 
-const SymbolTable::Symbol* ReferenceLinker::resolveSymbolCheckVisibility(
-    const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
-    CallSite* callSite, std::string* outError) {
+const SymbolTable::Symbol* ReferenceLinker::ResolveSymbolCheckVisibility(
+    const Reference& reference, NameMangler* name_mangler, SymbolTable* symbols,
+    CallSite* callsite, std::string* out_error) {
   const SymbolTable::Symbol* symbol =
-      resolveSymbol(reference, nameMangler, symbols);
+      ResolveSymbol(reference, name_mangler, symbols);
   if (!symbol) {
-    if (outError) *outError = "not found";
+    if (out_error) *out_error = "not found";
     return nullptr;
   }
 
-  if (!isSymbolVisible(*symbol, reference, *callSite)) {
-    if (outError) *outError = "is private";
+  if (!IsSymbolVisible(*symbol, reference, *callsite)) {
+    if (out_error) *out_error = "is private";
     return nullptr;
   }
   return symbol;
 }
 
-const SymbolTable::Symbol* ReferenceLinker::resolveAttributeCheckVisibility(
-    const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
-    CallSite* callSite, std::string* outError) {
-  const SymbolTable::Symbol* symbol = resolveSymbolCheckVisibility(
-      reference, nameMangler, symbols, callSite, outError);
+const SymbolTable::Symbol* ReferenceLinker::ResolveAttributeCheckVisibility(
+    const Reference& reference, NameMangler* name_mangler, SymbolTable* symbols,
+    CallSite* callsite, std::string* out_error) {
+  const SymbolTable::Symbol* symbol = ResolveSymbolCheckVisibility(
+      reference, name_mangler, symbols, callsite, out_error);
   if (!symbol) {
     return nullptr;
   }
 
   if (!symbol->attribute) {
-    if (outError) *outError = "is not an attribute";
+    if (out_error) *out_error = "is not an attribute";
     return nullptr;
   }
   return symbol;
 }
 
-Maybe<xml::AaptAttribute> ReferenceLinker::compileXmlAttribute(
-    const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
-    CallSite* callSite, std::string* outError) {
+Maybe<xml::AaptAttribute> ReferenceLinker::CompileXmlAttribute(
+    const Reference& reference, NameMangler* name_mangler, SymbolTable* symbols,
+    CallSite* callsite, std::string* out_error) {
   const SymbolTable::Symbol* symbol =
-      resolveSymbol(reference, nameMangler, symbols);
+      ResolveSymbol(reference, name_mangler, symbols);
   if (!symbol) {
-    if (outError) *outError = "not found";
+    if (out_error) *out_error = "not found";
     return {};
   }
 
   if (!symbol->attribute) {
-    if (outError) *outError = "is not an attribute";
+    if (out_error) *out_error = "is not an attribute";
     return {};
   }
   return xml::AaptAttribute{symbol->id, *symbol->attribute};
 }
 
-void ReferenceLinker::writeResourceName(DiagMessage* outMsg,
+void ReferenceLinker::WriteResourceName(DiagMessage* out_msg,
                                         const Reference& orig,
                                         const Reference& transformed) {
-  assert(outMsg);
+  CHECK(out_msg != nullptr);
 
   if (orig.name) {
-    *outMsg << orig.name.value();
+    *out_msg << orig.name.value();
     if (transformed.name.value() != orig.name.value()) {
-      *outMsg << " (aka " << transformed.name.value() << ")";
+      *out_msg << " (aka " << transformed.name.value() << ")";
     }
   } else {
-    *outMsg << orig.id.value();
+    *out_msg << orig.id.value();
   }
 }
 
-bool ReferenceLinker::linkReference(Reference* reference, IAaptContext* context,
+bool ReferenceLinker::LinkReference(Reference* reference, IAaptContext* context,
                                     SymbolTable* symbols,
                                     xml::IPackageDeclStack* decls,
-                                    CallSite* callSite) {
-  assert(reference);
-  assert(reference->name || reference->id);
+                                    CallSite* callsite) {
+  CHECK(reference != nullptr);
+  CHECK(reference->name || reference->id);
 
-  Reference transformedReference = *reference;
-  transformReferenceFromNamespace(decls, context->getCompilationPackage(),
-                                  &transformedReference);
+  Reference transformed_reference = *reference;
+  TransformReferenceFromNamespace(decls, context->GetCompilationPackage(),
+                                  &transformed_reference);
 
-  std::string errStr;
-  const SymbolTable::Symbol* s = resolveSymbolCheckVisibility(
-      transformedReference, context->getNameMangler(), symbols, callSite,
-      &errStr);
+  std::string err_str;
+  const SymbolTable::Symbol* s = ResolveSymbolCheckVisibility(
+      transformed_reference, context->GetNameMangler(), symbols, callsite,
+      &err_str);
   if (s) {
     // The ID may not exist. This is fine because of the possibility of building
-    // against
-    // libraries without assigned IDs.
+    // against libraries without assigned IDs.
     // Ex: Linking against own resources when building a static library.
     reference->id = s->id;
     return true;
   }
 
-  DiagMessage errorMsg(reference->getSource());
-  errorMsg << "resource ";
-  writeResourceName(&errorMsg, *reference, transformedReference);
-  errorMsg << " " << errStr;
-  context->getDiagnostics()->error(errorMsg);
+  DiagMessage error_msg(reference->GetSource());
+  error_msg << "resource ";
+  WriteResourceName(&error_msg, *reference, transformed_reference);
+  error_msg << " " << err_str;
+  context->GetDiagnostics()->Error(error_msg);
   return false;
 }
 
-namespace {
-
-struct EmptyDeclStack : public xml::IPackageDeclStack {
-  Maybe<xml::ExtractedPackage> transformPackageAlias(
-      const StringPiece& alias,
-      const StringPiece& localPackage) const override {
-    if (alias.empty()) {
-      return xml::ExtractedPackage{localPackage.toString(), true /* private */};
-    }
-    return {};
-  }
-};
-
-}  // namespace
-
-bool ReferenceLinker::consume(IAaptContext* context, ResourceTable* table) {
-  EmptyDeclStack declStack;
+bool ReferenceLinker::Consume(IAaptContext* context, ResourceTable* table) {
+  EmptyDeclStack decl_stack;
   bool error = false;
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
       for (auto& entry : type->entries) {
         // Symbol state information may be lost if there is no value for the
         // resource.
-        if (entry->symbolStatus.state != SymbolState::kUndefined &&
+        if (entry->symbol_status.state != SymbolState::kUndefined &&
             entry->values.empty()) {
-          context->getDiagnostics()->error(
-              DiagMessage(entry->symbolStatus.source)
+          context->GetDiagnostics()->Error(
+              DiagMessage(entry->symbol_status.source)
               << "no definition for declared symbol '"
               << ResourceNameRef(package->name, type->type, entry->name)
               << "'");
           error = true;
         }
 
-        CallSite callSite = {
+        CallSite callsite = {
             ResourceNameRef(package->name, type->type, entry->name)};
-        ReferenceLinkerVisitor visitor(context, context->getExternalSymbols(),
-                                       &table->stringPool, &declStack,
-                                       &callSite);
+        ReferenceLinkerVisitor visitor(context, context->GetExternalSymbols(),
+                                       &table->string_pool, &decl_stack,
+                                       &callsite);
 
-        for (auto& configValue : entry->values) {
-          configValue->value->accept(&visitor);
+        for (auto& config_value : entry->values) {
+          config_value->value->Accept(&visitor);
         }
 
-        if (visitor.hasError()) {
+        if (visitor.HasError()) {
           error = true;
         }
       }
diff --git a/tools/aapt2/link/ReferenceLinker.h b/tools/aapt2/link/ReferenceLinker.h
index 8f6604f..bdabf24 100644
--- a/tools/aapt2/link/ReferenceLinker.h
+++ b/tools/aapt2/link/ReferenceLinker.h
@@ -17,6 +17,8 @@
 #ifndef AAPT_LINKER_REFERENCELINKER_H
 #define AAPT_LINKER_REFERENCELINKER_H
 
+#include "android-base/macros.h"
+
 #include "Resource.h"
 #include "ResourceValues.h"
 #include "ValueVisitor.h"
@@ -25,8 +27,6 @@
 #include "process/SymbolTable.h"
 #include "xml/XmlDom.h"
 
-#include <cassert>
-
 namespace aapt {
 
 /**
@@ -36,33 +36,33 @@
  * Once the ResourceTable is processed by this linker, it is ready to be
  * flattened.
  */
-struct ReferenceLinker : public IResourceTableConsumer {
+class ReferenceLinker : public IResourceTableConsumer {
+ public:
+  ReferenceLinker() = default;
+
   /**
    * Returns true if the symbol is visible by the reference and from the
    * callsite.
    */
-  static bool isSymbolVisible(const SymbolTable::Symbol& symbol,
-                              const Reference& ref, const CallSite& callSite);
+  static bool IsSymbolVisible(const SymbolTable::Symbol& symbol,
+                              const Reference& ref, const CallSite& callsite);
 
   /**
    * Performs name mangling and looks up the resource in the symbol table.
-   * Returns nullptr
-   * if the symbol was not found.
+   * Returns nullptr if the symbol was not found.
    */
-  static const SymbolTable::Symbol* resolveSymbol(const Reference& reference,
+  static const SymbolTable::Symbol* ResolveSymbol(const Reference& reference,
                                                   NameMangler* mangler,
                                                   SymbolTable* symbols);
 
   /**
    * Performs name mangling and looks up the resource in the symbol table. If
-   * the symbol is
-   * not visible by the reference at the callsite, nullptr is returned. outError
-   * holds
-   * the error message.
+   * the symbol is not visible by the reference at the callsite, nullptr is
+   * returned. out_error holds the error message.
    */
-  static const SymbolTable::Symbol* resolveSymbolCheckVisibility(
-      const Reference& reference, NameMangler* nameMangler,
-      SymbolTable* symbols, CallSite* callSite, std::string* outError);
+  static const SymbolTable::Symbol* ResolveSymbolCheckVisibility(
+      const Reference& reference, NameMangler* name_mangler,
+      SymbolTable* symbols, CallSite* callsite, std::string* out_error);
 
   /**
    * Same as resolveSymbolCheckVisibility(), but also makes sure the symbol is
@@ -70,25 +70,24 @@
    * That is, the return value will have a non-null value for
    * ISymbolTable::Symbol::attribute.
    */
-  static const SymbolTable::Symbol* resolveAttributeCheckVisibility(
-      const Reference& reference, NameMangler* nameMangler,
-      SymbolTable* symbols, CallSite* callSite, std::string* outError);
+  static const SymbolTable::Symbol* ResolveAttributeCheckVisibility(
+      const Reference& reference, NameMangler* name_mangler,
+      SymbolTable* symbols, CallSite* callsite, std::string* out_error);
 
   /**
    * Resolves the attribute reference and returns an xml::AaptAttribute if
    * successful.
    * If resolution fails, outError holds the error message.
    */
-  static Maybe<xml::AaptAttribute> compileXmlAttribute(
-      const Reference& reference, NameMangler* nameMangler,
-      SymbolTable* symbols, CallSite* callSite, std::string* outError);
+  static Maybe<xml::AaptAttribute> CompileXmlAttribute(
+      const Reference& reference, NameMangler* name_mangler,
+      SymbolTable* symbols, CallSite* callsite, std::string* out_error);
 
   /**
-   * Writes the resource name to the DiagMessage, using the "orig_name (aka
-   * <transformed_name>)"
-   * syntax.
+   * Writes the resource name to the DiagMessage, using the
+   * "orig_name (aka <transformed_name>)" syntax.
    */
-  static void writeResourceName(DiagMessage* outMsg, const Reference& orig,
+  static void WriteResourceName(DiagMessage* out_msg, const Reference& orig,
                                 const Reference& transformed);
 
   /**
@@ -100,14 +99,17 @@
    * Returns false on failure, and an error message is logged to the
    * IDiagnostics in the context.
    */
-  static bool linkReference(Reference* reference, IAaptContext* context,
+  static bool LinkReference(Reference* reference, IAaptContext* context,
                             SymbolTable* symbols, xml::IPackageDeclStack* decls,
-                            CallSite* callSite);
+                            CallSite* callsite);
 
   /**
    * Links all references in the ResourceTable.
    */
-  bool consume(IAaptContext* context, ResourceTable* table) override;
+  bool Consume(IAaptContext* context, ResourceTable* table) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(ReferenceLinker);
 };
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/ReferenceLinker_test.cpp b/tools/aapt2/link/ReferenceLinker_test.cpp
index 8aa3616..4ca36a9 100644
--- a/tools/aapt2/link/ReferenceLinker_test.cpp
+++ b/tools/aapt2/link/ReferenceLinker_test.cpp
@@ -15,6 +15,7 @@
  */
 
 #include "link/ReferenceLinker.h"
+
 #include "test/Test.h"
 
 using android::ResTable_map;
@@ -24,46 +25,46 @@
 TEST(ReferenceLinkerTest, LinkSimpleReferences) {
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.test", 0x7f)
-          .addReference("com.app.test:string/foo", ResourceId(0x7f020000),
+          .SetPackageId("com.app.test", 0x7f)
+          .AddReference("com.app.test:string/foo", ResourceId(0x7f020000),
                         "com.app.test:string/bar")
 
           // Test use of local reference (w/o package name).
-          .addReference("com.app.test:string/bar", ResourceId(0x7f020001),
+          .AddReference("com.app.test:string/bar", ResourceId(0x7f020001),
                         "string/baz")
 
-          .addReference("com.app.test:string/baz", ResourceId(0x7f020002),
+          .AddReference("com.app.test:string/baz", ResourceId(0x7f020002),
                         "android:string/ok")
-          .build();
+          .Build();
 
   std::unique_ptr<IAaptContext> context =
       test::ContextBuilder()
-          .setCompilationPackage("com.app.test")
-          .setPackageId(0x7f)
-          .setNameManglerPolicy(NameManglerPolicy{"com.app.test"})
-          .addSymbolSource(
+          .SetCompilationPackage("com.app.test")
+          .SetPackageId(0x7f)
+          .SetNameManglerPolicy(NameManglerPolicy{"com.app.test"})
+          .AddSymbolSource(
               util::make_unique<ResourceTableSymbolSource>(table.get()))
-          .addSymbolSource(
+          .AddSymbolSource(
               test::StaticSymbolSourceBuilder()
-                  .addPublicSymbol("android:string/ok", ResourceId(0x01040034))
-                  .build())
-          .build();
+                  .AddPublicSymbol("android:string/ok", ResourceId(0x01040034))
+                  .Build())
+          .Build();
 
   ReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(context.get(), table.get()));
+  ASSERT_TRUE(linker.Consume(context.get(), table.get()));
 
   Reference* ref =
-      test::getValue<Reference>(table.get(), "com.app.test:string/foo");
+      test::GetValue<Reference>(table.get(), "com.app.test:string/foo");
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->id);
   EXPECT_EQ(ref->id.value(), ResourceId(0x7f020001));
 
-  ref = test::getValue<Reference>(table.get(), "com.app.test:string/bar");
+  ref = test::GetValue<Reference>(table.get(), "com.app.test:string/bar");
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->id);
   EXPECT_EQ(ref->id.value(), ResourceId(0x7f020002));
 
-  ref = test::getValue<Reference>(table.get(), "com.app.test:string/baz");
+  ref = test::GetValue<Reference>(table.get(), "com.app.test:string/baz");
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->id);
   EXPECT_EQ(ref->id.value(), ResourceId(0x01040034));
@@ -72,53 +73,53 @@
 TEST(ReferenceLinkerTest, LinkStyleAttributes) {
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.test", 0x7f)
-          .addValue("com.app.test:style/Theme",
+          .SetPackageId("com.app.test", 0x7f)
+          .AddValue("com.app.test:style/Theme",
                     test::StyleBuilder()
-                        .setParent("android:style/Theme.Material")
-                        .addItem("android:attr/foo",
-                                 ResourceUtils::tryParseColor("#ff00ff"))
-                        .addItem("android:attr/bar", {} /* placeholder */)
-                        .build())
-          .build();
+                        .SetParent("android:style/Theme.Material")
+                        .AddItem("android:attr/foo",
+                                 ResourceUtils::TryParseColor("#ff00ff"))
+                        .AddItem("android:attr/bar", {} /* placeholder */)
+                        .Build())
+          .Build();
 
   {
     // We need to fill in the value for the attribute android:attr/bar after we
     // build the
     // table, because we need access to the string pool.
     Style* style =
-        test::getValue<Style>(table.get(), "com.app.test:style/Theme");
+        test::GetValue<Style>(table.get(), "com.app.test:style/Theme");
     ASSERT_NE(style, nullptr);
     style->entries.back().value =
-        util::make_unique<RawString>(table->stringPool.makeRef("one|two"));
+        util::make_unique<RawString>(table->string_pool.MakeRef("one|two"));
   }
 
   std::unique_ptr<IAaptContext> context =
       test::ContextBuilder()
-          .setCompilationPackage("com.app.test")
-          .setPackageId(0x7f)
-          .setNameManglerPolicy(NameManglerPolicy{"com.app.test"})
-          .addSymbolSource(
+          .SetCompilationPackage("com.app.test")
+          .SetPackageId(0x7f)
+          .SetNameManglerPolicy(NameManglerPolicy{"com.app.test"})
+          .AddSymbolSource(
               test::StaticSymbolSourceBuilder()
-                  .addPublicSymbol("android:style/Theme.Material",
+                  .AddPublicSymbol("android:style/Theme.Material",
                                    ResourceId(0x01060000))
-                  .addPublicSymbol("android:attr/foo", ResourceId(0x01010001),
+                  .AddPublicSymbol("android:attr/foo", ResourceId(0x01010001),
                                    test::AttributeBuilder()
-                                       .setTypeMask(ResTable_map::TYPE_COLOR)
-                                       .build())
-                  .addPublicSymbol("android:attr/bar", ResourceId(0x01010002),
+                                       .SetTypeMask(ResTable_map::TYPE_COLOR)
+                                       .Build())
+                  .AddPublicSymbol("android:attr/bar", ResourceId(0x01010002),
                                    test::AttributeBuilder()
-                                       .setTypeMask(ResTable_map::TYPE_FLAGS)
-                                       .addItem("one", 0x01)
-                                       .addItem("two", 0x02)
-                                       .build())
-                  .build())
-          .build();
+                                       .SetTypeMask(ResTable_map::TYPE_FLAGS)
+                                       .AddItem("one", 0x01)
+                                       .AddItem("two", 0x02)
+                                       .Build())
+                  .Build())
+          .Build();
 
   ReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(context.get(), table.get()));
+  ASSERT_TRUE(linker.Consume(context.get(), table.get()));
 
-  Style* style = test::getValue<Style>(table.get(), "com.app.test:style/Theme");
+  Style* style = test::GetValue<Style>(table.get(), "com.app.test:style/Theme");
   ASSERT_NE(style, nullptr);
   AAPT_ASSERT_TRUE(style->parent);
   AAPT_ASSERT_TRUE(style->parent.value().id);
@@ -128,44 +129,44 @@
 
   AAPT_ASSERT_TRUE(style->entries[0].key.id);
   EXPECT_EQ(style->entries[0].key.id.value(), ResourceId(0x01010001));
-  ASSERT_NE(valueCast<BinaryPrimitive>(style->entries[0].value.get()), nullptr);
+  ASSERT_NE(ValueCast<BinaryPrimitive>(style->entries[0].value.get()), nullptr);
 
   AAPT_ASSERT_TRUE(style->entries[1].key.id);
   EXPECT_EQ(style->entries[1].key.id.value(), ResourceId(0x01010002));
-  ASSERT_NE(valueCast<BinaryPrimitive>(style->entries[1].value.get()), nullptr);
+  ASSERT_NE(ValueCast<BinaryPrimitive>(style->entries[1].value.get()), nullptr);
 }
 
 TEST(ReferenceLinkerTest, LinkMangledReferencesAndAttributes) {
   std::unique_ptr<IAaptContext> context =
       test::ContextBuilder()
-          .setCompilationPackage("com.app.test")
-          .setPackageId(0x7f)
-          .setNameManglerPolicy(
+          .SetCompilationPackage("com.app.test")
+          .SetPackageId(0x7f)
+          .SetNameManglerPolicy(
               NameManglerPolicy{"com.app.test", {"com.android.support"}})
-          .addSymbolSource(
+          .AddSymbolSource(
               test::StaticSymbolSourceBuilder()
-                  .addPublicSymbol("com.app.test:attr/com.android.support$foo",
+                  .AddPublicSymbol("com.app.test:attr/com.android.support$foo",
                                    ResourceId(0x7f010000),
                                    test::AttributeBuilder()
-                                       .setTypeMask(ResTable_map::TYPE_COLOR)
-                                       .build())
-                  .build())
-          .build();
+                                       .SetTypeMask(ResTable_map::TYPE_COLOR)
+                                       .Build())
+                  .Build())
+          .Build();
 
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.test", 0x7f)
-          .addValue("com.app.test:style/Theme", ResourceId(0x7f020000),
+          .SetPackageId("com.app.test", 0x7f)
+          .AddValue("com.app.test:style/Theme", ResourceId(0x7f020000),
                     test::StyleBuilder()
-                        .addItem("com.android.support:attr/foo",
-                                 ResourceUtils::tryParseColor("#ff0000"))
-                        .build())
-          .build();
+                        .AddItem("com.android.support:attr/foo",
+                                 ResourceUtils::TryParseColor("#ff0000"))
+                        .Build())
+          .Build();
 
   ReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(context.get(), table.get()));
+  ASSERT_TRUE(linker.Consume(context.get(), table.get()));
 
-  Style* style = test::getValue<Style>(table.get(), "com.app.test:style/Theme");
+  Style* style = test::GetValue<Style>(table.get(), "com.app.test:style/Theme");
   ASSERT_NE(style, nullptr);
   ASSERT_EQ(1u, style->entries.size());
   AAPT_ASSERT_TRUE(style->entries.front().key.id);
@@ -175,85 +176,85 @@
 TEST(ReferenceLinkerTest, FailToLinkPrivateSymbols) {
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.test", 0x7f)
-          .addReference("com.app.test:string/foo", ResourceId(0x7f020000),
+          .SetPackageId("com.app.test", 0x7f)
+          .AddReference("com.app.test:string/foo", ResourceId(0x7f020000),
                         "android:string/hidden")
-          .build();
+          .Build();
 
   std::unique_ptr<IAaptContext> context =
       test::ContextBuilder()
-          .setCompilationPackage("com.app.test")
-          .setPackageId(0x7f)
-          .setNameManglerPolicy(NameManglerPolicy{"com.app.test"})
-          .addSymbolSource(
+          .SetCompilationPackage("com.app.test")
+          .SetPackageId(0x7f)
+          .SetNameManglerPolicy(NameManglerPolicy{"com.app.test"})
+          .AddSymbolSource(
               util::make_unique<ResourceTableSymbolSource>(table.get()))
-          .addSymbolSource(
+          .AddSymbolSource(
               test::StaticSymbolSourceBuilder()
-                  .addSymbol("android:string/hidden", ResourceId(0x01040034))
-                  .build())
-          .build();
+                  .AddSymbol("android:string/hidden", ResourceId(0x01040034))
+                  .Build())
+          .Build();
 
   ReferenceLinker linker;
-  ASSERT_FALSE(linker.consume(context.get(), table.get()));
+  ASSERT_FALSE(linker.Consume(context.get(), table.get()));
 }
 
 TEST(ReferenceLinkerTest, FailToLinkPrivateMangledSymbols) {
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.test", 0x7f)
-          .addReference("com.app.test:string/foo", ResourceId(0x7f020000),
+          .SetPackageId("com.app.test", 0x7f)
+          .AddReference("com.app.test:string/foo", ResourceId(0x7f020000),
                         "com.app.lib:string/hidden")
-          .build();
+          .Build();
 
   std::unique_ptr<IAaptContext> context =
       test::ContextBuilder()
-          .setCompilationPackage("com.app.test")
-          .setPackageId(0x7f)
-          .setNameManglerPolicy(
+          .SetCompilationPackage("com.app.test")
+          .SetPackageId(0x7f)
+          .SetNameManglerPolicy(
               NameManglerPolicy{"com.app.test", {"com.app.lib"}})
-          .addSymbolSource(
+          .AddSymbolSource(
               util::make_unique<ResourceTableSymbolSource>(table.get()))
-          .addSymbolSource(
+          .AddSymbolSource(
               test::StaticSymbolSourceBuilder()
-                  .addSymbol("com.app.test:string/com.app.lib$hidden",
+                  .AddSymbol("com.app.test:string/com.app.lib$hidden",
                              ResourceId(0x7f040034))
-                  .build())
+                  .Build())
 
-          .build();
+          .Build();
 
   ReferenceLinker linker;
-  ASSERT_FALSE(linker.consume(context.get(), table.get()));
+  ASSERT_FALSE(linker.Consume(context.get(), table.get()));
 }
 
 TEST(ReferenceLinkerTest, FailToLinkPrivateStyleAttributes) {
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.test", 0x7f)
-          .addValue("com.app.test:style/Theme",
+          .SetPackageId("com.app.test", 0x7f)
+          .AddValue("com.app.test:style/Theme",
                     test::StyleBuilder()
-                        .addItem("android:attr/hidden",
-                                 ResourceUtils::tryParseColor("#ff00ff"))
-                        .build())
-          .build();
+                        .AddItem("android:attr/hidden",
+                                 ResourceUtils::TryParseColor("#ff00ff"))
+                        .Build())
+          .Build();
 
   std::unique_ptr<IAaptContext> context =
       test::ContextBuilder()
-          .setCompilationPackage("com.app.test")
-          .setPackageId(0x7f)
-          .setNameManglerPolicy(NameManglerPolicy{"com.app.test"})
-          .addSymbolSource(
+          .SetCompilationPackage("com.app.test")
+          .SetPackageId(0x7f)
+          .SetNameManglerPolicy(NameManglerPolicy{"com.app.test"})
+          .AddSymbolSource(
               util::make_unique<ResourceTableSymbolSource>(table.get()))
-          .addSymbolSource(
+          .AddSymbolSource(
               test::StaticSymbolSourceBuilder()
-                  .addSymbol("android:attr/hidden", ResourceId(0x01010001),
+                  .AddSymbol("android:attr/hidden", ResourceId(0x01010001),
                              test::AttributeBuilder()
-                                 .setTypeMask(android::ResTable_map::TYPE_COLOR)
-                                 .build())
-                  .build())
-          .build();
+                                 .SetTypeMask(android::ResTable_map::TYPE_COLOR)
+                                 .Build())
+                  .Build())
+          .Build();
 
   ReferenceLinker linker;
-  ASSERT_FALSE(linker.consume(context.get(), table.get()));
+  ASSERT_FALSE(linker.Consume(context.get(), table.get()));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/ResourceDeduper.cpp b/tools/aapt2/link/ResourceDeduper.cpp
index f565359..9431dce 100644
--- a/tools/aapt2/link/ResourceDeduper.cpp
+++ b/tools/aapt2/link/ResourceDeduper.cpp
@@ -14,12 +14,13 @@
  * limitations under the License.
  */
 
-#include "DominatorTree.h"
-#include "ResourceTable.h"
 #include "link/Linkers.h"
 
 #include <algorithm>
 
+#include "DominatorTree.h"
+#include "ResourceTable.h"
+
 namespace aapt {
 
 namespace {
@@ -40,55 +41,57 @@
   using Node = DominatorTree::Node;
 
   explicit DominatedKeyValueRemover(IAaptContext* context, ResourceEntry* entry)
-      : mContext(context), mEntry(entry) {}
+      : context_(context), entry_(entry) {}
 
-  void visitConfig(Node* node) {
+  void VisitConfig(Node* node) {
     Node* parent = node->parent();
     if (!parent) {
       return;
     }
-    ResourceConfigValue* nodeValue = node->value();
-    ResourceConfigValue* parentValue = parent->value();
-    if (!nodeValue || !parentValue) {
+    ResourceConfigValue* node_value = node->value();
+    ResourceConfigValue* parent_value = parent->value();
+    if (!node_value || !parent_value) {
       return;
     }
-    if (!nodeValue->value->equals(parentValue->value.get())) {
+    if (!node_value->value->Equals(parent_value->value.get())) {
       return;
     }
 
     // Compare compatible configs for this entry and ensure the values are
     // equivalent.
-    const ConfigDescription& nodeConfiguration = nodeValue->config;
-    for (const auto& sibling : mEntry->values) {
+    const ConfigDescription& node_configuration = node_value->config;
+    for (const auto& sibling : entry_->values) {
       if (!sibling->value) {
         // Sibling was already removed.
         continue;
       }
-      if (nodeConfiguration.isCompatibleWith(sibling->config) &&
-          !nodeValue->value->equals(sibling->value.get())) {
+      if (node_configuration.IsCompatibleWith(sibling->config) &&
+          !node_value->value->Equals(sibling->value.get())) {
         // The configurations are compatible, but the value is
         // different, so we can't remove this value.
         return;
       }
     }
-    if (mContext->verbose()) {
-      mContext->getDiagnostics()->note(
-          DiagMessage(nodeValue->value->getSource())
+    if (context_->IsVerbose()) {
+      context_->GetDiagnostics()->Note(
+          DiagMessage(node_value->value->GetSource())
           << "removing dominated duplicate resource with name \""
-          << mEntry->name << "\"");
+          << entry_->name << "\"");
     }
-    nodeValue->value = {};
+    node_value->value = {};
   }
 
  private:
-  IAaptContext* mContext;
-  ResourceEntry* mEntry;
+  DISALLOW_COPY_AND_ASSIGN(DominatedKeyValueRemover);
+
+  IAaptContext* context_;
+  ResourceEntry* entry_;
 };
 
-static void dedupeEntry(IAaptContext* context, ResourceEntry* entry) {
+static void DedupeEntry(IAaptContext* context, ResourceEntry* entry) {
   DominatorTree tree(entry->values);
   DominatedKeyValueRemover remover(context, entry);
-  tree.accept(&remover);
+  tree.Accept(&remover);
 
   // Erase the values that were removed.
   entry->values.erase(
@@ -102,15 +105,15 @@
 
 }  // namespace
 
-bool ResourceDeduper::consume(IAaptContext* context, ResourceTable* table) {
+bool ResourceDeduper::Consume(IAaptContext* context, ResourceTable* table) {
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
       for (auto& entry : type->entries) {
-        dedupeEntry(context, entry.get());
+        DedupeEntry(context, entry.get());
       }
     }
   }
   return true;
 }
 
-}  // aapt
+}  // namespace aapt
diff --git a/tools/aapt2/link/ResourceDeduper_test.cpp b/tools/aapt2/link/ResourceDeduper_test.cpp
index 7e2d476..d38059d 100644
--- a/tools/aapt2/link/ResourceDeduper_test.cpp
+++ b/tools/aapt2/link/ResourceDeduper_test.cpp
@@ -14,70 +14,74 @@
  * limitations under the License.
  */
 
-#include "ResourceTable.h"
 #include "link/Linkers.h"
+
+#include "ResourceTable.h"
 #include "test/Test.h"
 
 namespace aapt {
 
 TEST(ResourceDeduperTest, SameValuesAreDeduped) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
-  const ConfigDescription defaultConfig = {};
-  const ConfigDescription enConfig = test::parseConfigOrDie("en");
-  const ConfigDescription enV21Config = test::parseConfigOrDie("en-v21");
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
+  const ConfigDescription default_config = {};
+  const ConfigDescription en_config = test::ParseConfigOrDie("en");
+  const ConfigDescription en_v21_config = test::ParseConfigOrDie("en-v21");
   // Chosen because this configuration is compatible with en.
-  const ConfigDescription landConfig = test::parseConfigOrDie("land");
+  const ConfigDescription land_config = test::ParseConfigOrDie("land");
 
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .addString("android:string/dedupe", ResourceId{}, defaultConfig,
+          .AddString("android:string/dedupe", ResourceId{}, default_config,
                      "dedupe")
-          .addString("android:string/dedupe", ResourceId{}, enConfig, "dedupe")
-          .addString("android:string/dedupe", ResourceId{}, landConfig,
+          .AddString("android:string/dedupe", ResourceId{}, en_config, "dedupe")
+          .AddString("android:string/dedupe", ResourceId{}, land_config,
                      "dedupe")
-          .addString("android:string/dedupe2", ResourceId{}, defaultConfig,
+          .AddString("android:string/dedupe2", ResourceId{}, default_config,
                      "dedupe")
-          .addString("android:string/dedupe2", ResourceId{}, enConfig, "dedupe")
-          .addString("android:string/dedupe2", ResourceId{}, enV21Config,
+          .AddString("android:string/dedupe2", ResourceId{}, en_config,
+                     "dedupe")
+          .AddString("android:string/dedupe2", ResourceId{}, en_v21_config,
                      "keep")
-          .addString("android:string/dedupe2", ResourceId{}, landConfig,
+          .AddString("android:string/dedupe2", ResourceId{}, land_config,
                      "dedupe")
-          .build();
+          .Build();
 
-  ASSERT_TRUE(ResourceDeduper().consume(context.get(), table.get()));
-  EXPECT_EQ(nullptr, test::getValueForConfig<String>(
-                         table.get(), "android:string/dedupe", enConfig));
-  EXPECT_EQ(nullptr, test::getValueForConfig<String>(
-                         table.get(), "android:string/dedupe", landConfig));
-  EXPECT_EQ(nullptr, test::getValueForConfig<String>(
-                         table.get(), "android:string/dedupe2", enConfig));
-  EXPECT_NE(nullptr, test::getValueForConfig<String>(
-                         table.get(), "android:string/dedupe2", enV21Config));
+  ASSERT_TRUE(ResourceDeduper().Consume(context.get(), table.get()));
+  EXPECT_EQ(nullptr, test::GetValueForConfig<String>(
+                         table.get(), "android:string/dedupe", en_config));
+  EXPECT_EQ(nullptr, test::GetValueForConfig<String>(
+                         table.get(), "android:string/dedupe", land_config));
+  EXPECT_EQ(nullptr, test::GetValueForConfig<String>(
+                         table.get(), "android:string/dedupe2", en_config));
+  EXPECT_NE(nullptr, test::GetValueForConfig<String>(
+                         table.get(), "android:string/dedupe2", en_v21_config));
 }
 
 TEST(ResourceDeduperTest, DifferentValuesAreKept) {
-  std::unique_ptr<IAaptContext> context = test::ContextBuilder().build();
-  const ConfigDescription defaultConfig = {};
-  const ConfigDescription enConfig = test::parseConfigOrDie("en");
-  const ConfigDescription enV21Config = test::parseConfigOrDie("en-v21");
+  std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
+  const ConfigDescription default_config = {};
+  const ConfigDescription en_config = test::ParseConfigOrDie("en");
+  const ConfigDescription en_v21_config = test::ParseConfigOrDie("en-v21");
   // Chosen because this configuration is compatible with en.
-  const ConfigDescription landConfig = test::parseConfigOrDie("land");
+  const ConfigDescription land_config = test::ParseConfigOrDie("land");
 
   std::unique_ptr<ResourceTable> table =
       test::ResourceTableBuilder()
-          .addString("android:string/keep", ResourceId{}, defaultConfig, "keep")
-          .addString("android:string/keep", ResourceId{}, enConfig, "keep")
-          .addString("android:string/keep", ResourceId{}, enV21Config, "keep2")
-          .addString("android:string/keep", ResourceId{}, landConfig, "keep2")
-          .build();
+          .AddString("android:string/keep", ResourceId{}, default_config,
+                     "keep")
+          .AddString("android:string/keep", ResourceId{}, en_config, "keep")
+          .AddString("android:string/keep", ResourceId{}, en_v21_config,
+                     "keep2")
+          .AddString("android:string/keep", ResourceId{}, land_config, "keep2")
+          .Build();
 
-  ASSERT_TRUE(ResourceDeduper().consume(context.get(), table.get()));
-  EXPECT_NE(nullptr, test::getValueForConfig<String>(
-                         table.get(), "android:string/keep", enConfig));
-  EXPECT_NE(nullptr, test::getValueForConfig<String>(
-                         table.get(), "android:string/keep", enV21Config));
-  EXPECT_NE(nullptr, test::getValueForConfig<String>(
-                         table.get(), "android:string/keep", landConfig));
+  ASSERT_TRUE(ResourceDeduper().Consume(context.get(), table.get()));
+  EXPECT_NE(nullptr, test::GetValueForConfig<String>(
+                         table.get(), "android:string/keep", en_config));
+  EXPECT_NE(nullptr, test::GetValueForConfig<String>(
+                         table.get(), "android:string/keep", en_v21_config));
+  EXPECT_NE(nullptr, test::GetValueForConfig<String>(
+                         table.get(), "android:string/keep", land_config));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/TableMerger.cpp b/tools/aapt2/link/TableMerger.cpp
index adf83a4..d808da3 100644
--- a/tools/aapt2/link/TableMerger.cpp
+++ b/tools/aapt2/link/TableMerger.cpp
@@ -15,51 +15,52 @@
  */
 
 #include "link/TableMerger.h"
+
+#include "android-base/logging.h"
+
 #include "ResourceTable.h"
 #include "ResourceUtils.h"
 #include "ResourceValues.h"
 #include "ValueVisitor.h"
 #include "util/Util.h"
 
-#include <cassert>
-
 namespace aapt {
 
-TableMerger::TableMerger(IAaptContext* context, ResourceTable* outTable,
+TableMerger::TableMerger(IAaptContext* context, ResourceTable* out_table,
                          const TableMergerOptions& options)
-    : mContext(context), mMasterTable(outTable), mOptions(options) {
+    : context_(context), master_table_(out_table), options_(options) {
   // Create the desired package that all tables will be merged into.
-  mMasterPackage = mMasterTable->createPackage(
-      mContext->getCompilationPackage(), mContext->getPackageId());
-  assert(mMasterPackage && "package name or ID already taken");
+  master_package_ = master_table_->CreatePackage(
+      context_->GetCompilationPackage(), context_->GetPackageId());
+  CHECK(master_package_ != nullptr) << "package name or ID already taken";
 }
 
-bool TableMerger::merge(const Source& src, ResourceTable* table,
+bool TableMerger::Merge(const Source& src, ResourceTable* table,
                         io::IFileCollection* collection) {
-  return mergeImpl(src, table, collection, false /* overlay */,
+  return MergeImpl(src, table, collection, false /* overlay */,
                    true /* allow new */);
 }
 
-bool TableMerger::mergeOverlay(const Source& src, ResourceTable* table,
+bool TableMerger::MergeOverlay(const Source& src, ResourceTable* table,
                                io::IFileCollection* collection) {
-  return mergeImpl(src, table, collection, true /* overlay */,
-                   mOptions.autoAddOverlay);
+  return MergeImpl(src, table, collection, true /* overlay */,
+                   options_.auto_add_overlay);
 }
 
 /**
  * This will merge packages with the same package name (or no package name).
  */
-bool TableMerger::mergeImpl(const Source& src, ResourceTable* table,
+bool TableMerger::MergeImpl(const Source& src, ResourceTable* table,
                             io::IFileCollection* collection, bool overlay,
-                            bool allowNew) {
-  const uint8_t desiredPackageId = mContext->getPackageId();
+                            bool allow_new) {
+  const uint8_t desired_package_id = context_->GetPackageId();
 
   bool error = false;
   for (auto& package : table->packages) {
     // Warn of packages with an unrelated ID.
     const Maybe<ResourceId>& id = package->id;
-    if (id && id.value() != 0x0 && id.value() != desiredPackageId) {
-      mContext->getDiagnostics()->warn(DiagMessage(src) << "ignoring package "
+    if (id && id.value() != 0x0 && id.value() != desired_package_id) {
+      context_->GetDiagnostics()->Warn(DiagMessage(src) << "ignoring package "
                                                         << package->name);
       continue;
     }
@@ -70,22 +71,22 @@
     // simply
     // uses of the attribute or definitions.
     if (package->name.empty() ||
-        mContext->getCompilationPackage() == package->name) {
+        context_->GetCompilationPackage() == package->name) {
       FileMergeCallback callback;
       if (collection) {
         callback = [&](const ResourceNameRef& name,
-                       const ConfigDescription& config, FileReference* newFile,
-                       FileReference* oldFile) -> bool {
+                       const ConfigDescription& config, FileReference* new_file,
+                       FileReference* old_file) -> bool {
           // The old file's path points inside the APK, so we can use it as is.
-          io::IFile* f = collection->findFile(*oldFile->path);
+          io::IFile* f = collection->FindFile(*old_file->path);
           if (!f) {
-            mContext->getDiagnostics()->error(DiagMessage(src)
-                                              << "file '" << *oldFile->path
+            context_->GetDiagnostics()->Error(DiagMessage(src)
+                                              << "file '" << *old_file->path
                                               << "' not found");
             return false;
           }
 
-          newFile->file = f;
+          new_file->file = f;
           return true;
         };
       }
@@ -95,8 +96,8 @@
       // mangled, then looked up at resolution time.
       // Also, when linking, we convert references with no package name to use
       // the compilation package name.
-      error |= !doMerge(src, table, package.get(), false /* mangle */, overlay,
-                        allowNew, callback);
+      error |= !DoMerge(src, table, package.get(), false /* mangle */, overlay,
+                        allow_new, callback);
     }
   }
   return !error;
@@ -105,86 +106,87 @@
 /**
  * This will merge and mangle resources from a static library.
  */
-bool TableMerger::mergeAndMangle(const Source& src,
-                                 const StringPiece& packageName,
+bool TableMerger::MergeAndMangle(const Source& src,
+                                 const StringPiece& package_name,
                                  ResourceTable* table,
                                  io::IFileCollection* collection) {
   bool error = false;
   for (auto& package : table->packages) {
     // Warn of packages with an unrelated ID.
-    if (packageName != package->name) {
-      mContext->getDiagnostics()->warn(DiagMessage(src) << "ignoring package "
+    if (package_name != package->name) {
+      context_->GetDiagnostics()->Warn(DiagMessage(src) << "ignoring package "
                                                         << package->name);
       continue;
     }
 
-    bool mangle = packageName != mContext->getCompilationPackage();
-    mMergedPackages.insert(package->name);
+    bool mangle = package_name != context_->GetCompilationPackage();
+    merged_packages_.insert(package->name);
 
-    auto callback = [&](const ResourceNameRef& name,
-                        const ConfigDescription& config, FileReference* newFile,
-                        FileReference* oldFile) -> bool {
+    auto callback = [&](
+        const ResourceNameRef& name, const ConfigDescription& config,
+        FileReference* new_file, FileReference* old_file) -> bool {
       // The old file's path points inside the APK, so we can use it as is.
-      io::IFile* f = collection->findFile(*oldFile->path);
+      io::IFile* f = collection->FindFile(*old_file->path);
       if (!f) {
-        mContext->getDiagnostics()->error(
-            DiagMessage(src) << "file '" << *oldFile->path << "' not found");
+        context_->GetDiagnostics()->Error(
+            DiagMessage(src) << "file '" << *old_file->path << "' not found");
         return false;
       }
 
-      newFile->file = f;
+      new_file->file = f;
       return true;
     };
 
-    error |= !doMerge(src, table, package.get(), mangle, false /* overlay */,
+    error |= !DoMerge(src, table, package.get(), mangle, false /* overlay */,
                       true /* allow new */, callback);
   }
   return !error;
 }
 
-static bool mergeType(IAaptContext* context, const Source& src,
-                      ResourceTableType* dstType, ResourceTableType* srcType) {
-  if (dstType->symbolStatus.state < srcType->symbolStatus.state) {
+static bool MergeType(IAaptContext* context, const Source& src,
+                      ResourceTableType* dst_type,
+                      ResourceTableType* src_type) {
+  if (dst_type->symbol_status.state < src_type->symbol_status.state) {
     // The incoming type's visibility is stronger, so we should override
     // the visibility.
-    if (srcType->symbolStatus.state == SymbolState::kPublic) {
+    if (src_type->symbol_status.state == SymbolState::kPublic) {
       // Only copy the ID if the source is public, or else the ID is
       // meaningless.
-      dstType->id = srcType->id;
+      dst_type->id = src_type->id;
     }
-    dstType->symbolStatus = std::move(srcType->symbolStatus);
-  } else if (dstType->symbolStatus.state == SymbolState::kPublic &&
-             srcType->symbolStatus.state == SymbolState::kPublic &&
-             dstType->id && srcType->id &&
-             dstType->id.value() != srcType->id.value()) {
+    dst_type->symbol_status = std::move(src_type->symbol_status);
+  } else if (dst_type->symbol_status.state == SymbolState::kPublic &&
+             src_type->symbol_status.state == SymbolState::kPublic &&
+             dst_type->id && src_type->id &&
+             dst_type->id.value() != src_type->id.value()) {
     // Both types are public and have different IDs.
-    context->getDiagnostics()->error(DiagMessage(src)
-                                     << "cannot merge type '" << srcType->type
+    context->GetDiagnostics()->Error(DiagMessage(src)
+                                     << "cannot merge type '" << src_type->type
                                      << "': conflicting public IDs");
     return false;
   }
   return true;
 }
 
-static bool mergeEntry(IAaptContext* context, const Source& src,
-                       ResourceEntry* dstEntry, ResourceEntry* srcEntry) {
-  if (dstEntry->symbolStatus.state < srcEntry->symbolStatus.state) {
+static bool MergeEntry(IAaptContext* context, const Source& src,
+                       ResourceEntry* dst_entry, ResourceEntry* src_entry) {
+  if (dst_entry->symbol_status.state < src_entry->symbol_status.state) {
     // The incoming type's visibility is stronger, so we should override
     // the visibility.
-    if (srcEntry->symbolStatus.state == SymbolState::kPublic) {
+    if (src_entry->symbol_status.state == SymbolState::kPublic) {
       // Only copy the ID if the source is public, or else the ID is
       // meaningless.
-      dstEntry->id = srcEntry->id;
+      dst_entry->id = src_entry->id;
     }
-    dstEntry->symbolStatus = std::move(srcEntry->symbolStatus);
-  } else if (srcEntry->symbolStatus.state == SymbolState::kPublic &&
-             dstEntry->symbolStatus.state == SymbolState::kPublic &&
-             dstEntry->id && srcEntry->id &&
-             dstEntry->id.value() != srcEntry->id.value()) {
+    dst_entry->symbol_status = std::move(src_entry->symbol_status);
+  } else if (src_entry->symbol_status.state == SymbolState::kPublic &&
+             dst_entry->symbol_status.state == SymbolState::kPublic &&
+             dst_entry->id && src_entry->id &&
+             dst_entry->id.value() != src_entry->id.value()) {
     // Both entries are public and have different IDs.
-    context->getDiagnostics()->error(DiagMessage(src)
-                                     << "cannot merge entry '" << srcEntry->name
-                                     << "': conflicting public IDs");
+    context->GetDiagnostics()->Error(
+        DiagMessage(src) << "cannot merge entry '" << src_entry->name
+                         << "': conflicting public IDs");
     return false;
   }
   return true;
@@ -199,141 +201,145 @@
  * and accumulate. If both values are Styleables, we just merge them into the
  * existing value.
  */
-static ResourceTable::CollisionResult resolveMergeCollision(Value* existing,
+static ResourceTable::CollisionResult ResolveMergeCollision(Value* existing,
                                                             Value* incoming) {
-  if (Styleable* existingStyleable = valueCast<Styleable>(existing)) {
-    if (Styleable* incomingStyleable = valueCast<Styleable>(incoming)) {
+  if (Styleable* existing_styleable = ValueCast<Styleable>(existing)) {
+    if (Styleable* incoming_styleable = ValueCast<Styleable>(incoming)) {
       // Styleables get merged.
-      existingStyleable->mergeWith(incomingStyleable);
+      existing_styleable->MergeWith(incoming_styleable);
       return ResourceTable::CollisionResult::kKeepOriginal;
     }
   }
   // Delegate to the default handler.
-  return ResourceTable::resolveValueCollision(existing, incoming);
+  return ResourceTable::ResolveValueCollision(existing, incoming);
 }
 
-static ResourceTable::CollisionResult mergeConfigValue(
-    IAaptContext* context, const ResourceNameRef& resName, const bool overlay,
-    ResourceConfigValue* dstConfigValue, ResourceConfigValue* srcConfigValue) {
+static ResourceTable::CollisionResult MergeConfigValue(
+    IAaptContext* context, const ResourceNameRef& res_name, const bool overlay,
+    ResourceConfigValue* dst_config_value,
+    ResourceConfigValue* src_config_value) {
   using CollisionResult = ResourceTable::CollisionResult;
 
-  Value* dstValue = dstConfigValue->value.get();
-  Value* srcValue = srcConfigValue->value.get();
+  Value* dst_value = dst_config_value->value.get();
+  Value* src_value = src_config_value->value.get();
 
-  CollisionResult collisionResult;
+  CollisionResult collision_result;
   if (overlay) {
-    collisionResult = resolveMergeCollision(dstValue, srcValue);
+    collision_result = ResolveMergeCollision(dst_value, src_value);
   } else {
-    collisionResult = ResourceTable::resolveValueCollision(dstValue, srcValue);
+    collision_result =
+        ResourceTable::ResolveValueCollision(dst_value, src_value);
   }
 
-  if (collisionResult == CollisionResult::kConflict) {
+  if (collision_result == CollisionResult::kConflict) {
     if (overlay) {
       return CollisionResult::kTakeNew;
     }
 
     // Error!
-    context->getDiagnostics()->error(
-        DiagMessage(srcValue->getSource())
-        << "resource '" << resName << "' has a conflicting value for "
-        << "configuration (" << srcConfigValue->config << ")");
-    context->getDiagnostics()->note(DiagMessage(dstValue->getSource())
+    context->GetDiagnostics()->Error(
+        DiagMessage(src_value->GetSource())
+        << "resource '" << res_name << "' has a conflicting value for "
+        << "configuration (" << src_config_value->config << ")");
+    context->GetDiagnostics()->Note(DiagMessage(dst_value->GetSource())
                                     << "originally defined here");
     return CollisionResult::kConflict;
   }
-  return collisionResult;
+  return collision_result;
 }
 
-bool TableMerger::doMerge(const Source& src, ResourceTable* srcTable,
-                          ResourceTablePackage* srcPackage,
-                          const bool manglePackage, const bool overlay,
-                          const bool allowNewResources,
+bool TableMerger::DoMerge(const Source& src, ResourceTable* src_table,
+                          ResourceTablePackage* src_package,
+                          const bool mangle_package, const bool overlay,
+                          const bool allow_new_resources,
                           const FileMergeCallback& callback) {
   bool error = false;
 
-  for (auto& srcType : srcPackage->types) {
-    ResourceTableType* dstType =
-        mMasterPackage->findOrCreateType(srcType->type);
-    if (!mergeType(mContext, src, dstType, srcType.get())) {
+  for (auto& src_type : src_package->types) {
+    ResourceTableType* dst_type =
+        master_package_->FindOrCreateType(src_type->type);
+    if (!MergeType(context_, src, dst_type, src_type.get())) {
       error = true;
       continue;
     }
 
-    for (auto& srcEntry : srcType->entries) {
-      std::string entryName = srcEntry->name;
-      if (manglePackage) {
-        entryName = NameMangler::mangleEntry(srcPackage->name, srcEntry->name);
+    for (auto& src_entry : src_type->entries) {
+      std::string entry_name = src_entry->name;
+      if (mangle_package) {
+        entry_name =
+            NameMangler::MangleEntry(src_package->name, src_entry->name);
       }
 
-      ResourceEntry* dstEntry;
-      if (allowNewResources) {
-        dstEntry = dstType->findOrCreateEntry(entryName);
+      ResourceEntry* dst_entry;
+      if (allow_new_resources) {
+        dst_entry = dst_type->FindOrCreateEntry(entry_name);
       } else {
-        dstEntry = dstType->findEntry(entryName);
+        dst_entry = dst_type->FindEntry(entry_name);
       }
 
-      const ResourceNameRef resName(srcPackage->name, srcType->type,
-                                    srcEntry->name);
+      const ResourceNameRef res_name(src_package->name, src_type->type,
+                                     src_entry->name);
 
-      if (!dstEntry) {
-        mContext->getDiagnostics()->error(
-            DiagMessage(src) << "resource " << resName
+      if (!dst_entry) {
+        context_->GetDiagnostics()->Error(
+            DiagMessage(src) << "resource " << res_name
                              << " does not override an existing resource");
-        mContext->getDiagnostics()->note(
+        context_->GetDiagnostics()->Note(
             DiagMessage(src) << "define an <add-resource> tag or use "
                              << "--auto-add-overlay");
         error = true;
         continue;
       }
 
-      if (!mergeEntry(mContext, src, dstEntry, srcEntry.get())) {
+      if (!MergeEntry(context_, src, dst_entry, src_entry.get())) {
         error = true;
         continue;
       }
 
-      for (auto& srcConfigValue : srcEntry->values) {
+      for (auto& src_config_value : src_entry->values) {
         using CollisionResult = ResourceTable::CollisionResult;
 
-        ResourceConfigValue* dstConfigValue = dstEntry->findValue(
-            srcConfigValue->config, srcConfigValue->product);
-        if (dstConfigValue) {
-          CollisionResult collisionResult = mergeConfigValue(
-              mContext, resName, overlay, dstConfigValue, srcConfigValue.get());
-          if (collisionResult == CollisionResult::kConflict) {
+        ResourceConfigValue* dst_config_value = dst_entry->FindValue(
+            src_config_value->config, src_config_value->product);
+        if (dst_config_value) {
+          CollisionResult collision_result =
+              MergeConfigValue(context_, res_name, overlay, dst_config_value,
+                               src_config_value.get());
+          if (collision_result == CollisionResult::kConflict) {
             error = true;
             continue;
-          } else if (collisionResult == CollisionResult::kKeepOriginal) {
+          } else if (collision_result == CollisionResult::kKeepOriginal) {
             continue;
           }
         } else {
-          dstConfigValue = dstEntry->findOrCreateValue(srcConfigValue->config,
-                                                       srcConfigValue->product);
+          dst_config_value = dst_entry->FindOrCreateValue(
+              src_config_value->config, src_config_value->product);
         }
 
         // Continue if we're taking the new resource.
 
         if (FileReference* f =
-                valueCast<FileReference>(srcConfigValue->value.get())) {
-          std::unique_ptr<FileReference> newFileRef;
-          if (manglePackage) {
-            newFileRef = cloneAndMangleFile(srcPackage->name, *f);
+                ValueCast<FileReference>(src_config_value->value.get())) {
+          std::unique_ptr<FileReference> new_file_ref;
+          if (mangle_package) {
+            new_file_ref = CloneAndMangleFile(src_package->name, *f);
           } else {
-            newFileRef = std::unique_ptr<FileReference>(
-                f->clone(&mMasterTable->stringPool));
+            new_file_ref = std::unique_ptr<FileReference>(
+                f->Clone(&master_table_->string_pool));
           }
 
           if (callback) {
-            if (!callback(resName, srcConfigValue->config, newFileRef.get(),
-                          f)) {
+            if (!callback(res_name, src_config_value->config,
+                          new_file_ref.get(), f)) {
               error = true;
               continue;
             }
           }
-          dstConfigValue->value = std::move(newFileRef);
+          dst_config_value->value = std::move(new_file_ref);
 
         } else {
-          dstConfigValue->value = std::unique_ptr<Value>(
-              srcConfigValue->value->clone(&mMasterTable->stringPool));
+          dst_config_value->value = std::unique_ptr<Value>(
+              src_config_value->value->Clone(&master_table_->string_pool));
         }
       }
     }
@@ -341,50 +347,50 @@
   return !error;
 }
 
-std::unique_ptr<FileReference> TableMerger::cloneAndMangleFile(
-    const std::string& package, const FileReference& fileRef) {
+std::unique_ptr<FileReference> TableMerger::CloneAndMangleFile(
+    const std::string& package, const FileReference& file_ref) {
   StringPiece prefix, entry, suffix;
-  if (util::extractResFilePathParts(*fileRef.path, &prefix, &entry, &suffix)) {
-    std::string mangledEntry =
-        NameMangler::mangleEntry(package, entry.toString());
-    std::string newPath = prefix.toString() + mangledEntry + suffix.toString();
-    std::unique_ptr<FileReference> newFileRef =
+  if (util::ExtractResFilePathParts(*file_ref.path, &prefix, &entry, &suffix)) {
+    std::string mangled_entry =
+        NameMangler::MangleEntry(package, entry.ToString());
+    std::string newPath = prefix.ToString() + mangled_entry + suffix.ToString();
+    std::unique_ptr<FileReference> new_file_ref =
         util::make_unique<FileReference>(
-            mMasterTable->stringPool.makeRef(newPath));
-    newFileRef->setComment(fileRef.getComment());
-    newFileRef->setSource(fileRef.getSource());
-    return newFileRef;
+            master_table_->string_pool.MakeRef(newPath));
+    new_file_ref->SetComment(file_ref.GetComment());
+    new_file_ref->SetSource(file_ref.GetSource());
+    return new_file_ref;
   }
   return std::unique_ptr<FileReference>(
-      fileRef.clone(&mMasterTable->stringPool));
+      file_ref.Clone(&master_table_->string_pool));
 }
 
-bool TableMerger::mergeFileImpl(const ResourceFile& fileDesc, io::IFile* file,
+bool TableMerger::MergeFileImpl(const ResourceFile& file_desc, io::IFile* file,
                                 bool overlay) {
   ResourceTable table;
-  std::string path = ResourceUtils::buildResourceFileName(fileDesc, nullptr);
-  std::unique_ptr<FileReference> fileRef =
-      util::make_unique<FileReference>(table.stringPool.makeRef(path));
-  fileRef->setSource(fileDesc.source);
-  fileRef->file = file;
+  std::string path = ResourceUtils::BuildResourceFileName(file_desc);
+  std::unique_ptr<FileReference> file_ref =
+      util::make_unique<FileReference>(table.string_pool.MakeRef(path));
+  file_ref->SetSource(file_desc.source);
+  file_ref->file = file;
 
-  ResourceTablePackage* pkg = table.createPackage(fileDesc.name.package, 0x0);
-  pkg->findOrCreateType(fileDesc.name.type)
-      ->findOrCreateEntry(fileDesc.name.entry)
-      ->findOrCreateValue(fileDesc.config, {})
-      ->value = std::move(fileRef);
+  ResourceTablePackage* pkg = table.CreatePackage(file_desc.name.package, 0x0);
+  pkg->FindOrCreateType(file_desc.name.type)
+      ->FindOrCreateEntry(file_desc.name.entry)
+      ->FindOrCreateValue(file_desc.config, {})
+      ->value = std::move(file_ref);
 
-  return doMerge(file->getSource(), &table, pkg, false /* mangle */,
-                 overlay /* overlay */, true /* allow new */, {});
+  return DoMerge(file->GetSource(), &table, pkg, false /* mangle */,
+                 overlay /* overlay */, true /* allow_new */, {});
 }
 
-bool TableMerger::mergeFile(const ResourceFile& fileDesc, io::IFile* file) {
-  return mergeFileImpl(fileDesc, file, false /* overlay */);
+bool TableMerger::MergeFile(const ResourceFile& file_desc, io::IFile* file) {
+  return MergeFileImpl(file_desc, file, false /* overlay */);
 }
 
-bool TableMerger::mergeFileOverlay(const ResourceFile& fileDesc,
+bool TableMerger::MergeFileOverlay(const ResourceFile& file_desc,
                                    io::IFile* file) {
-  return mergeFileImpl(fileDesc, file, true /* overlay */);
+  return MergeFileImpl(file_desc, file, true /* overlay */);
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/TableMerger.h b/tools/aapt2/link/TableMerger.h
index c2e7181..4ab83c3f2 100644
--- a/tools/aapt2/link/TableMerger.h
+++ b/tools/aapt2/link/TableMerger.h
@@ -17,6 +17,11 @@
 #ifndef AAPT_TABLEMERGER_H
 #define AAPT_TABLEMERGER_H
 
+#include <functional>
+#include <map>
+
+#include "android-base/macros.h"
+
 #include "Resource.h"
 #include "ResourceTable.h"
 #include "ResourceValues.h"
@@ -25,9 +30,6 @@
 #include "process/IResourceTableConsumer.h"
 #include "util/Util.h"
 
-#include <functional>
-#include <map>
-
 namespace aapt {
 
 struct TableMergerOptions {
@@ -35,7 +37,7 @@
    * If true, resources in overlays can be added without previously having
    * existed.
    */
-  bool autoAddOverlay = false;
+  bool auto_add_overlay = false;
 };
 
 /**
@@ -62,15 +64,14 @@
 class TableMerger {
  public:
   /**
-   * Note: The outTable ResourceTable must live longer than this TableMerger.
-   * References
-   * are made to this ResourceTable for efficiency reasons.
+   * Note: The out_table ResourceTable must live longer than this TableMerger.
+   * References are made to this ResourceTable for efficiency reasons.
    */
-  TableMerger(IAaptContext* context, ResourceTable* outTable,
+  TableMerger(IAaptContext* context, ResourceTable* out_table,
               const TableMergerOptions& options);
 
-  const std::set<std::string>& getMergedPackages() const {
-    return mMergedPackages;
+  const std::set<std::string>& merged_packages() const {
+    return merged_packages_;
   }
 
   /**
@@ -78,7 +79,7 @@
    * An io::IFileCollection is optional and used to find the referenced Files
    * and process them.
    */
-  bool merge(const Source& src, ResourceTable* table,
+  bool Merge(const Source& src, ResourceTable* table,
              io::IFileCollection* collection = nullptr);
 
   /**
@@ -86,7 +87,7 @@
    * An io::IFileCollection is optional and used to find the referenced Files
    * and process them.
    */
-  bool mergeOverlay(const Source& src, ResourceTable* table,
+  bool MergeOverlay(const Source& src, ResourceTable* table,
                     io::IFileCollection* collection = nullptr);
 
   /**
@@ -95,44 +96,45 @@
    * An io::IFileCollection is needed in order to find the referenced Files and
    * process them.
    */
-  bool mergeAndMangle(const Source& src, const StringPiece& package,
+  bool MergeAndMangle(const Source& src, const StringPiece& package,
                       ResourceTable* table, io::IFileCollection* collection);
 
   /**
    * Merges a compiled file that belongs to this same or empty package. This is
    * for local sources.
    */
-  bool mergeFile(const ResourceFile& fileDesc, io::IFile* file);
+  bool MergeFile(const ResourceFile& fileDesc, io::IFile* file);
 
   /**
    * Merges a compiled file from an overlay, overriding an existing definition.
    */
-  bool mergeFileOverlay(const ResourceFile& fileDesc, io::IFile* file);
+  bool MergeFileOverlay(const ResourceFile& fileDesc, io::IFile* file);
 
  private:
+  DISALLOW_COPY_AND_ASSIGN(TableMerger);
+
   using FileMergeCallback = std::function<bool(const ResourceNameRef&,
                                                const ConfigDescription& config,
                                                FileReference*, FileReference*)>;
 
-  IAaptContext* mContext;
-  ResourceTable* mMasterTable;
-  TableMergerOptions mOptions;
-  ResourceTablePackage* mMasterPackage;
+  IAaptContext* context_;
+  ResourceTable* master_table_;
+  TableMergerOptions options_;
+  ResourceTablePackage* master_package_;
+  std::set<std::string> merged_packages_;
 
-  std::set<std::string> mMergedPackages;
-
-  bool mergeFileImpl(const ResourceFile& fileDesc, io::IFile* file,
+  bool MergeFileImpl(const ResourceFile& file_desc, io::IFile* file,
                      bool overlay);
 
-  bool mergeImpl(const Source& src, ResourceTable* srcTable,
-                 io::IFileCollection* collection, bool overlay, bool allowNew);
+  bool MergeImpl(const Source& src, ResourceTable* src_table,
+                 io::IFileCollection* collection, bool overlay, bool allow_new);
 
-  bool doMerge(const Source& src, ResourceTable* srcTable,
-               ResourceTablePackage* srcPackage, const bool manglePackage,
-               const bool overlay, const bool allowNewResources,
+  bool DoMerge(const Source& src, ResourceTable* src_table,
+               ResourceTablePackage* src_package, const bool mangle_package,
+               const bool overlay, const bool allow_new_resources,
                const FileMergeCallback& callback);
 
-  std::unique_ptr<FileReference> cloneAndMangleFile(const std::string& package,
+  std::unique_ptr<FileReference> CloneAndMangleFile(const std::string& package,
                                                     const FileReference& value);
 };
 
diff --git a/tools/aapt2/link/TableMerger_test.cpp b/tools/aapt2/link/TableMerger_test.cpp
index e0b2b66..742f5a7 100644
--- a/tools/aapt2/link/TableMerger_test.cpp
+++ b/tools/aapt2/link/TableMerger_test.cpp
@@ -15,139 +15,137 @@
  */
 
 #include "link/TableMerger.h"
+
 #include "filter/ConfigFilter.h"
 #include "io/FileSystem.h"
-#include "test/Builders.h"
-#include "test/Context.h"
-
-#include <gtest/gtest.h>
+#include "test/Test.h"
 
 namespace aapt {
 
 struct TableMergerTest : public ::testing::Test {
-  std::unique_ptr<IAaptContext> mContext;
+  std::unique_ptr<IAaptContext> context_;
 
   void SetUp() override {
-    mContext =
+    context_ =
         test::ContextBuilder()
             // We are compiling this package.
-            .setCompilationPackage("com.app.a")
+            .SetCompilationPackage("com.app.a")
 
             // Merge all packages that have this package ID.
-            .setPackageId(0x7f)
+            .SetPackageId(0x7f)
 
             // Mangle all packages that do not have this package name.
-            .setNameManglerPolicy(NameManglerPolicy{"com.app.a", {"com.app.b"}})
+            .SetNameManglerPolicy(NameManglerPolicy{"com.app.a", {"com.app.b"}})
 
-            .build();
+            .Build();
   }
 };
 
 TEST_F(TableMergerTest, SimpleMerge) {
-  std::unique_ptr<ResourceTable> tableA =
+  std::unique_ptr<ResourceTable> table_a =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.a", 0x7f)
-          .addReference("com.app.a:id/foo", "com.app.a:id/bar")
-          .addReference("com.app.a:id/bar", "com.app.b:id/foo")
-          .addValue(
+          .SetPackageId("com.app.a", 0x7f)
+          .AddReference("com.app.a:id/foo", "com.app.a:id/bar")
+          .AddReference("com.app.a:id/bar", "com.app.b:id/foo")
+          .AddValue(
               "com.app.a:styleable/view",
-              test::StyleableBuilder().addItem("com.app.b:id/foo").build())
-          .build();
+              test::StyleableBuilder().AddItem("com.app.b:id/foo").Build())
+          .Build();
 
-  std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
-                                              .setPackageId("com.app.b", 0x7f)
-                                              .addSimple("com.app.b:id/foo")
-                                              .build();
+  std::unique_ptr<ResourceTable> table_b = test::ResourceTableBuilder()
+                                               .SetPackageId("com.app.b", 0x7f)
+                                               .AddSimple("com.app.b:id/foo")
+                                               .Build();
 
-  ResourceTable finalTable;
-  TableMerger merger(mContext.get(), &finalTable, TableMergerOptions{});
+  ResourceTable final_table;
+  TableMerger merger(context_.get(), &final_table, TableMergerOptions{});
   io::FileCollection collection;
 
-  ASSERT_TRUE(merger.merge({}, tableA.get()));
+  ASSERT_TRUE(merger.Merge({}, table_a.get()));
   ASSERT_TRUE(
-      merger.mergeAndMangle({}, "com.app.b", tableB.get(), &collection));
+      merger.MergeAndMangle({}, "com.app.b", table_b.get(), &collection));
 
-  EXPECT_TRUE(merger.getMergedPackages().count("com.app.b") != 0);
+  EXPECT_TRUE(merger.merged_packages().count("com.app.b") != 0);
 
   // Entries from com.app.a should not be mangled.
   AAPT_EXPECT_TRUE(
-      finalTable.findResource(test::parseNameOrDie("com.app.a:id/foo")));
+      final_table.FindResource(test::ParseNameOrDie("com.app.a:id/foo")));
   AAPT_EXPECT_TRUE(
-      finalTable.findResource(test::parseNameOrDie("com.app.a:id/bar")));
-  AAPT_EXPECT_TRUE(finalTable.findResource(
-      test::parseNameOrDie("com.app.a:styleable/view")));
+      final_table.FindResource(test::ParseNameOrDie("com.app.a:id/bar")));
+  AAPT_EXPECT_TRUE(final_table.FindResource(
+      test::ParseNameOrDie("com.app.a:styleable/view")));
 
   // The unmangled name should not be present.
   AAPT_EXPECT_FALSE(
-      finalTable.findResource(test::parseNameOrDie("com.app.b:id/foo")));
+      final_table.FindResource(test::ParseNameOrDie("com.app.b:id/foo")));
 
   // Look for the mangled name.
-  AAPT_EXPECT_TRUE(finalTable.findResource(
-      test::parseNameOrDie("com.app.a:id/com.app.b$foo")));
+  AAPT_EXPECT_TRUE(final_table.FindResource(
+      test::ParseNameOrDie("com.app.a:id/com.app.b$foo")));
 }
 
 TEST_F(TableMergerTest, MergeFile) {
-  ResourceTable finalTable;
+  ResourceTable final_table;
   TableMergerOptions options;
-  options.autoAddOverlay = false;
-  TableMerger merger(mContext.get(), &finalTable, options);
+  options.auto_add_overlay = false;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ResourceFile fileDesc;
-  fileDesc.config = test::parseConfigOrDie("hdpi-v4");
-  fileDesc.name = test::parseNameOrDie("layout/main");
-  fileDesc.source = Source("res/layout-hdpi/main.xml");
-  test::TestFile testFile("path/to/res/layout-hdpi/main.xml.flat");
+  ResourceFile file_desc;
+  file_desc.config = test::ParseConfigOrDie("hdpi-v4");
+  file_desc.name = test::ParseNameOrDie("layout/main");
+  file_desc.source = Source("res/layout-hdpi/main.xml");
+  test::TestFile test_file("path/to/res/layout-hdpi/main.xml.flat");
 
-  ASSERT_TRUE(merger.mergeFile(fileDesc, &testFile));
+  ASSERT_TRUE(merger.MergeFile(file_desc, &test_file));
 
-  FileReference* file = test::getValueForConfig<FileReference>(
-      &finalTable, "com.app.a:layout/main", test::parseConfigOrDie("hdpi-v4"));
+  FileReference* file = test::GetValueForConfig<FileReference>(
+      &final_table, "com.app.a:layout/main", test::ParseConfigOrDie("hdpi-v4"));
   ASSERT_NE(nullptr, file);
   EXPECT_EQ(std::string("res/layout-hdpi-v4/main.xml"), *file->path);
 }
 
 TEST_F(TableMergerTest, MergeFileOverlay) {
-  ResourceTable finalTable;
-  TableMergerOptions tableMergerOptions;
-  tableMergerOptions.autoAddOverlay = false;
-  TableMerger merger(mContext.get(), &finalTable, tableMergerOptions);
+  ResourceTable final_table;
+  TableMergerOptions options;
+  options.auto_add_overlay = false;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ResourceFile fileDesc;
-  fileDesc.name = test::parseNameOrDie("xml/foo");
-  test::TestFile fileA("path/to/fileA.xml.flat");
-  test::TestFile fileB("path/to/fileB.xml.flat");
+  ResourceFile file_desc;
+  file_desc.name = test::ParseNameOrDie("xml/foo");
+  test::TestFile file_a("path/to/fileA.xml.flat");
+  test::TestFile file_b("path/to/fileB.xml.flat");
 
-  ASSERT_TRUE(merger.mergeFile(fileDesc, &fileA));
-  ASSERT_TRUE(merger.mergeFileOverlay(fileDesc, &fileB));
+  ASSERT_TRUE(merger.MergeFile(file_desc, &file_a));
+  ASSERT_TRUE(merger.MergeFileOverlay(file_desc, &file_b));
 }
 
 TEST_F(TableMergerTest, MergeFileReferences) {
-  std::unique_ptr<ResourceTable> tableA =
+  std::unique_ptr<ResourceTable> table_a =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.a", 0x7f)
-          .addFileReference("com.app.a:xml/file", "res/xml/file.xml")
-          .build();
-  std::unique_ptr<ResourceTable> tableB =
+          .SetPackageId("com.app.a", 0x7f)
+          .AddFileReference("com.app.a:xml/file", "res/xml/file.xml")
+          .Build();
+  std::unique_ptr<ResourceTable> table_b =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.b", 0x7f)
-          .addFileReference("com.app.b:xml/file", "res/xml/file.xml")
-          .build();
+          .SetPackageId("com.app.b", 0x7f)
+          .AddFileReference("com.app.b:xml/file", "res/xml/file.xml")
+          .Build();
 
-  ResourceTable finalTable;
-  TableMerger merger(mContext.get(), &finalTable, TableMergerOptions{});
+  ResourceTable final_table;
+  TableMerger merger(context_.get(), &final_table, TableMergerOptions{});
   io::FileCollection collection;
-  collection.insertFile("res/xml/file.xml");
+  collection.InsertFile("res/xml/file.xml");
 
-  ASSERT_TRUE(merger.merge({}, tableA.get()));
+  ASSERT_TRUE(merger.Merge({}, table_a.get()));
   ASSERT_TRUE(
-      merger.mergeAndMangle({}, "com.app.b", tableB.get(), &collection));
+      merger.MergeAndMangle({}, "com.app.b", table_b.get(), &collection));
 
   FileReference* f =
-      test::getValue<FileReference>(&finalTable, "com.app.a:xml/file");
+      test::GetValue<FileReference>(&final_table, "com.app.a:xml/file");
   ASSERT_NE(f, nullptr);
   EXPECT_EQ(std::string("res/xml/file.xml"), *f->path);
 
-  f = test::getValue<FileReference>(&finalTable,
+  f = test::GetValue<FileReference>(&final_table,
                                     "com.app.a:xml/com.app.b$file");
   ASSERT_NE(f, nullptr);
   EXPECT_EQ(std::string("res/xml/com.app.b$file.xml"), *f->path);
@@ -156,25 +154,25 @@
 TEST_F(TableMergerTest, OverrideResourceWithOverlay) {
   std::unique_ptr<ResourceTable> base =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x00)
-          .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
-          .build();
+          .SetPackageId("", 0x00)
+          .AddValue("bool/foo", ResourceUtils::TryParseBool("true"))
+          .Build();
   std::unique_ptr<ResourceTable> overlay =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x00)
-          .addValue("bool/foo", ResourceUtils::tryParseBool("false"))
-          .build();
+          .SetPackageId("", 0x00)
+          .AddValue("bool/foo", ResourceUtils::TryParseBool("false"))
+          .Build();
 
-  ResourceTable finalTable;
-  TableMergerOptions tableMergerOptions;
-  tableMergerOptions.autoAddOverlay = false;
-  TableMerger merger(mContext.get(), &finalTable, tableMergerOptions);
+  ResourceTable final_table;
+  TableMergerOptions options;
+  options.auto_add_overlay = false;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ASSERT_TRUE(merger.merge({}, base.get()));
-  ASSERT_TRUE(merger.mergeOverlay({}, overlay.get()));
+  ASSERT_TRUE(merger.Merge({}, base.get()));
+  ASSERT_TRUE(merger.MergeOverlay({}, overlay.get()));
 
   BinaryPrimitive* foo =
-      test::getValue<BinaryPrimitive>(&finalTable, "com.app.a:bool/foo");
+      test::GetValue<BinaryPrimitive>(&final_table, "com.app.a:bool/foo");
   ASSERT_NE(nullptr, foo);
   EXPECT_EQ(0x0u, foo->value.data);
 }
@@ -182,170 +180,168 @@
 TEST_F(TableMergerTest, OverrideSameResourceIdsWithOverlay) {
   std::unique_ptr<ResourceTable> base =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .setSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
+          .SetPackageId("", 0x7f)
+          .SetSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
                           SymbolState::kPublic)
-          .build();
+          .Build();
   std::unique_ptr<ResourceTable> overlay =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .setSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
+          .SetPackageId("", 0x7f)
+          .SetSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
                           SymbolState::kPublic)
-          .build();
+          .Build();
 
-  ResourceTable finalTable;
-  TableMergerOptions tableMergerOptions;
-  tableMergerOptions.autoAddOverlay = false;
-  TableMerger merger(mContext.get(), &finalTable, tableMergerOptions);
+  ResourceTable final_table;
+  TableMergerOptions options;
+  options.auto_add_overlay = false;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ASSERT_TRUE(merger.merge({}, base.get()));
-  ASSERT_TRUE(merger.mergeOverlay({}, overlay.get()));
+  ASSERT_TRUE(merger.Merge({}, base.get()));
+  ASSERT_TRUE(merger.MergeOverlay({}, overlay.get()));
 }
 
 TEST_F(TableMergerTest, FailToOverrideConflictingTypeIdsWithOverlay) {
   std::unique_ptr<ResourceTable> base =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .setSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
+          .SetPackageId("", 0x7f)
+          .SetSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
                           SymbolState::kPublic)
-          .build();
+          .Build();
   std::unique_ptr<ResourceTable> overlay =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .setSymbolState("bool/foo", ResourceId(0x7f, 0x02, 0x0001),
+          .SetPackageId("", 0x7f)
+          .SetSymbolState("bool/foo", ResourceId(0x7f, 0x02, 0x0001),
                           SymbolState::kPublic)
-          .build();
+          .Build();
 
-  ResourceTable finalTable;
-  TableMergerOptions tableMergerOptions;
-  tableMergerOptions.autoAddOverlay = false;
-  TableMerger merger(mContext.get(), &finalTable, tableMergerOptions);
+  ResourceTable final_table;
+  TableMergerOptions options;
+  options.auto_add_overlay = false;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ASSERT_TRUE(merger.merge({}, base.get()));
-  ASSERT_FALSE(merger.mergeOverlay({}, overlay.get()));
+  ASSERT_TRUE(merger.Merge({}, base.get()));
+  ASSERT_FALSE(merger.MergeOverlay({}, overlay.get()));
 }
 
 TEST_F(TableMergerTest, FailToOverrideConflictingEntryIdsWithOverlay) {
   std::unique_ptr<ResourceTable> base =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .setSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
+          .SetPackageId("", 0x7f)
+          .SetSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0001),
                           SymbolState::kPublic)
-          .build();
+          .Build();
   std::unique_ptr<ResourceTable> overlay =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .setSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0002),
+          .SetPackageId("", 0x7f)
+          .SetSymbolState("bool/foo", ResourceId(0x7f, 0x01, 0x0002),
                           SymbolState::kPublic)
-          .build();
+          .Build();
 
-  ResourceTable finalTable;
-  TableMergerOptions tableMergerOptions;
-  tableMergerOptions.autoAddOverlay = false;
-  TableMerger merger(mContext.get(), &finalTable, tableMergerOptions);
+  ResourceTable final_table;
+  TableMergerOptions options;
+  options.auto_add_overlay = false;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ASSERT_TRUE(merger.merge({}, base.get()));
-  ASSERT_FALSE(merger.mergeOverlay({}, overlay.get()));
+  ASSERT_TRUE(merger.Merge({}, base.get()));
+  ASSERT_FALSE(merger.MergeOverlay({}, overlay.get()));
 }
 
 TEST_F(TableMergerTest, MergeAddResourceFromOverlay) {
-  std::unique_ptr<ResourceTable> tableA =
+  std::unique_ptr<ResourceTable> table_a =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .setSymbolState("bool/foo", {}, SymbolState::kUndefined)
-          .build();
-  std::unique_ptr<ResourceTable> tableB =
+          .SetPackageId("", 0x7f)
+          .SetSymbolState("bool/foo", {}, SymbolState::kUndefined)
+          .Build();
+  std::unique_ptr<ResourceTable> table_b =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
-          .build();
+          .SetPackageId("", 0x7f)
+          .AddValue("bool/foo", ResourceUtils::TryParseBool("true"))
+          .Build();
 
-  ResourceTable finalTable;
-  TableMerger merger(mContext.get(), &finalTable, TableMergerOptions{});
+  ResourceTable final_table;
+  TableMerger merger(context_.get(), &final_table, TableMergerOptions{});
 
-  ASSERT_TRUE(merger.merge({}, tableA.get()));
-  ASSERT_TRUE(merger.mergeOverlay({}, tableB.get()));
+  ASSERT_TRUE(merger.Merge({}, table_a.get()));
+  ASSERT_TRUE(merger.MergeOverlay({}, table_b.get()));
 }
 
 TEST_F(TableMergerTest, MergeAddResourceFromOverlayWithAutoAddOverlay) {
-  std::unique_ptr<ResourceTable> tableA =
-      test::ResourceTableBuilder().setPackageId("", 0x7f).build();
-  std::unique_ptr<ResourceTable> tableB =
+  std::unique_ptr<ResourceTable> table_a =
+      test::ResourceTableBuilder().SetPackageId("", 0x7f).Build();
+  std::unique_ptr<ResourceTable> table_b =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
-          .build();
+          .SetPackageId("", 0x7f)
+          .AddValue("bool/foo", ResourceUtils::TryParseBool("true"))
+          .Build();
 
-  ResourceTable finalTable;
+  ResourceTable final_table;
   TableMergerOptions options;
-  options.autoAddOverlay = true;
-  TableMerger merger(mContext.get(), &finalTable, options);
+  options.auto_add_overlay = true;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ASSERT_TRUE(merger.merge({}, tableA.get()));
-  ASSERT_TRUE(merger.mergeOverlay({}, tableB.get()));
+  ASSERT_TRUE(merger.Merge({}, table_a.get()));
+  ASSERT_TRUE(merger.MergeOverlay({}, table_b.get()));
 }
 
 TEST_F(TableMergerTest, FailToMergeNewResourceWithoutAutoAddOverlay) {
-  std::unique_ptr<ResourceTable> tableA =
-      test::ResourceTableBuilder().setPackageId("", 0x7f).build();
-  std::unique_ptr<ResourceTable> tableB =
+  std::unique_ptr<ResourceTable> table_a =
+      test::ResourceTableBuilder().SetPackageId("", 0x7f).Build();
+  std::unique_ptr<ResourceTable> table_b =
       test::ResourceTableBuilder()
-          .setPackageId("", 0x7f)
-          .addValue("bool/foo", ResourceUtils::tryParseBool("true"))
-          .build();
+          .SetPackageId("", 0x7f)
+          .AddValue("bool/foo", ResourceUtils::TryParseBool("true"))
+          .Build();
 
-  ResourceTable finalTable;
+  ResourceTable final_table;
   TableMergerOptions options;
-  options.autoAddOverlay = false;
-  TableMerger merger(mContext.get(), &finalTable, options);
+  options.auto_add_overlay = false;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ASSERT_TRUE(merger.merge({}, tableA.get()));
-  ASSERT_FALSE(merger.mergeOverlay({}, tableB.get()));
+  ASSERT_TRUE(merger.Merge({}, table_a.get()));
+  ASSERT_FALSE(merger.MergeOverlay({}, table_b.get()));
 }
 
 TEST_F(TableMergerTest, OverlaidStyleablesShouldBeMerged) {
-  std::unique_ptr<ResourceTable> tableA =
+  std::unique_ptr<ResourceTable> table_a =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.a", 0x7f)
-          .addValue("com.app.a:styleable/Foo",
+          .SetPackageId("com.app.a", 0x7f)
+          .AddValue("com.app.a:styleable/Foo",
                     test::StyleableBuilder()
-                        .addItem("com.app.a:attr/bar")
-                        .addItem("com.app.a:attr/foo", ResourceId(0x01010000))
-                        .build())
-          .build();
+                        .AddItem("com.app.a:attr/bar")
+                        .AddItem("com.app.a:attr/foo", ResourceId(0x01010000))
+                        .Build())
+          .Build();
 
-  std::unique_ptr<ResourceTable> tableB =
+  std::unique_ptr<ResourceTable> table_b =
       test::ResourceTableBuilder()
-          .setPackageId("com.app.a", 0x7f)
-          .addValue("com.app.a:styleable/Foo",
+          .SetPackageId("com.app.a", 0x7f)
+          .AddValue("com.app.a:styleable/Foo",
                     test::StyleableBuilder()
-                        .addItem("com.app.a:attr/bat")
-                        .addItem("com.app.a:attr/foo")
-                        .build())
-          .build();
+                        .AddItem("com.app.a:attr/bat")
+                        .AddItem("com.app.a:attr/foo")
+                        .Build())
+          .Build();
 
-  ResourceTable finalTable;
+  ResourceTable final_table;
   TableMergerOptions options;
-  options.autoAddOverlay = true;
-  TableMerger merger(mContext.get(), &finalTable, options);
+  options.auto_add_overlay = true;
+  TableMerger merger(context_.get(), &final_table, options);
 
-  ASSERT_TRUE(merger.merge({}, tableA.get()));
-  ASSERT_TRUE(merger.mergeOverlay({}, tableB.get()));
-
-  Debug::printTable(&finalTable, {});
+  ASSERT_TRUE(merger.Merge({}, table_a.get()));
+  ASSERT_TRUE(merger.MergeOverlay({}, table_b.get()));
 
   Styleable* styleable =
-      test::getValue<Styleable>(&finalTable, "com.app.a:styleable/Foo");
+      test::GetValue<Styleable>(&final_table, "com.app.a:styleable/Foo");
   ASSERT_NE(nullptr, styleable);
 
-  std::vector<Reference> expectedRefs = {
-      Reference(test::parseNameOrDie("com.app.a:attr/bar")),
-      Reference(test::parseNameOrDie("com.app.a:attr/bat")),
-      Reference(test::parseNameOrDie("com.app.a:attr/foo"),
+  std::vector<Reference> expected_refs = {
+      Reference(test::ParseNameOrDie("com.app.a:attr/bar")),
+      Reference(test::ParseNameOrDie("com.app.a:attr/bat")),
+      Reference(test::ParseNameOrDie("com.app.a:attr/foo"),
                 ResourceId(0x01010000)),
   };
 
-  EXPECT_EQ(expectedRefs, styleable->entries);
+  EXPECT_EQ(expected_refs, styleable->entries);
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/VersionCollapser.cpp b/tools/aapt2/link/VersionCollapser.cpp
index 61a1f86..3df5899 100644
--- a/tools/aapt2/link/VersionCollapser.cpp
+++ b/tools/aapt2/link/VersionCollapser.cpp
@@ -14,50 +14,51 @@
  * limitations under the License.
  */
 
-#include "ResourceTable.h"
 #include "link/Linkers.h"
 
 #include <algorithm>
 #include <vector>
 
+#include "ResourceTable.h"
+
 namespace aapt {
 
 template <typename Iterator, typename Pred>
 class FilterIterator {
  public:
   FilterIterator(Iterator begin, Iterator end, Pred pred = Pred())
-      : mCurrent(begin), mEnd(end), mPred(pred) {
-    advance();
+      : current_(begin), end_(end), pred_(pred) {
+    Advance();
   }
 
-  bool hasNext() { return mCurrent != mEnd; }
+  bool HasNext() { return current_ != end_; }
 
-  Iterator nextIter() {
-    Iterator iter = mCurrent;
-    ++mCurrent;
-    advance();
+  Iterator NextIter() {
+    Iterator iter = current_;
+    ++current_;
+    Advance();
     return iter;
   }
 
-  typename Iterator::reference next() { return *nextIter(); }
+  typename Iterator::reference Next() { return *NextIter(); }
 
  private:
-  void advance() {
-    for (; mCurrent != mEnd; ++mCurrent) {
-      if (mPred(*mCurrent)) {
+  void Advance() {
+    for (; current_ != end_; ++current_) {
+      if (pred_(*current_)) {
         return;
       }
     }
   }
 
-  Iterator mCurrent, mEnd;
-  Pred mPred;
+  Iterator current_, end_;
+  Pred pred_;
 };
 
 template <typename Iterator, typename Pred>
-FilterIterator<Iterator, Pred> makeFilterIterator(Iterator begin,
-                                                  Iterator end = Iterator(),
-                                                  Pred pred = Pred()) {
+FilterIterator<Iterator, Pred> make_filter_iterator(Iterator begin,
+                                                    Iterator end = Iterator(),
+                                                    Pred pred = Pred()) {
   return FilterIterator<Iterator, Pred>(begin, end, pred);
 }
 
@@ -68,7 +69,7 @@
  * next smallest
  * one will be kept.
  */
-static void collapseVersions(int minSdk, ResourceEntry* entry) {
+static void CollapseVersions(int min_sdk, ResourceEntry* entry) {
   // First look for all sdks less than minSdk.
   for (auto iter = entry->values.rbegin(); iter != entry->values.rend();
        ++iter) {
@@ -78,15 +79,14 @@
     }
 
     const ConfigDescription& config = (*iter)->config;
-    if (config.sdkVersion <= minSdk) {
+    if (config.sdkVersion <= min_sdk) {
       // This is the first configuration we've found with a smaller or equal SDK
       // level
       // to the minimum. We MUST keep this one, but remove all others we find,
       // which get
       // overridden by this one.
 
-      ConfigDescription configWithoutSdk = config;
-      configWithoutSdk.sdkVersion = 0;
+      ConfigDescription config_without_sdk = config.CopyWithoutSdkVersion();
       auto pred = [&](const std::unique_ptr<ResourceConfigValue>& val) -> bool {
         // Check that the value hasn't already been marked for removal.
         if (!val) {
@@ -94,16 +94,16 @@
         }
 
         // Only return Configs that differ in SDK version.
-        configWithoutSdk.sdkVersion = val->config.sdkVersion;
-        return configWithoutSdk == val->config &&
-               val->config.sdkVersion <= minSdk;
+        config_without_sdk.sdkVersion = val->config.sdkVersion;
+        return config_without_sdk == val->config &&
+               val->config.sdkVersion <= min_sdk;
       };
 
       // Remove the rest that match.
-      auto filterIter =
-          makeFilterIterator(iter + 1, entry->values.rend(), pred);
-      while (filterIter.hasNext()) {
-        filterIter.next() = {};
+      auto filter_iter =
+          make_filter_iterator(iter + 1, entry->values.rend(), pred);
+      while (filter_iter.HasNext()) {
+        filter_iter.Next() = {};
       }
     }
   }
@@ -121,16 +121,16 @@
   // struct
   // and take up less space in the resources.arsc table.
   bool modified = false;
-  for (std::unique_ptr<ResourceConfigValue>& configValue : entry->values) {
-    if (configValue->config.sdkVersion != 0 &&
-        configValue->config.sdkVersion <= minSdk) {
+  for (std::unique_ptr<ResourceConfigValue>& config_value : entry->values) {
+    if (config_value->config.sdkVersion != 0 &&
+        config_value->config.sdkVersion <= min_sdk) {
       // Override the resource with a Configuration without an SDK.
-      std::unique_ptr<ResourceConfigValue> newValue =
+      std::unique_ptr<ResourceConfigValue> new_value =
           util::make_unique<ResourceConfigValue>(
-              configValue->config.copyWithoutSdkVersion(),
-              configValue->product);
-      newValue->value = std::move(configValue->value);
-      configValue = std::move(newValue);
+              config_value->config.CopyWithoutSdkVersion(),
+              config_value->product);
+      new_value->value = std::move(config_value->value);
+      config_value = std::move(new_value);
 
       modified = true;
     }
@@ -138,8 +138,7 @@
 
   if (modified) {
     // We've modified the keys (ConfigDescription) by changing the sdkVersion to
-    // 0.
-    // We MUST re-sort to ensure ordering guarantees hold.
+    // 0. We MUST re-sort to ensure ordering guarantees hold.
     std::sort(entry->values.begin(), entry->values.end(),
               [](const std::unique_ptr<ResourceConfigValue>& a,
                  const std::unique_ptr<ResourceConfigValue>& b) -> bool {
@@ -148,12 +147,12 @@
   }
 }
 
-bool VersionCollapser::consume(IAaptContext* context, ResourceTable* table) {
-  const int minSdk = context->getMinSdkVersion();
+bool VersionCollapser::Consume(IAaptContext* context, ResourceTable* table) {
+  const int min_sdk = context->GetMinSdkVersion();
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
       for (auto& entry : type->entries) {
-        collapseVersions(minSdk, entry.get());
+        CollapseVersions(min_sdk, entry.get());
       }
     }
   }
diff --git a/tools/aapt2/link/VersionCollapser_test.cpp b/tools/aapt2/link/VersionCollapser_test.cpp
index c0e0ddb..1b5592f 100644
--- a/tools/aapt2/link/VersionCollapser_test.cpp
+++ b/tools/aapt2/link/VersionCollapser_test.cpp
@@ -15,103 +15,103 @@
  */
 
 #include "link/Linkers.h"
+
 #include "test/Test.h"
 
 namespace aapt {
 
-template <typename T>
-using uptr = std::unique_ptr<T>;
-
-static uptr<ResourceTable> buildTableWithConfigs(
+static std::unique_ptr<ResourceTable> BuildTableWithConfigs(
     const StringPiece& name, std::initializer_list<std::string> list) {
   test::ResourceTableBuilder builder;
   for (const std::string& item : list) {
-    builder.addSimple(name, test::parseConfigOrDie(item));
+    builder.AddSimple(name, test::ParseConfigOrDie(item));
   }
-  return builder.build();
+  return builder.Build();
 }
 
 TEST(VersionCollapserTest, CollapseVersions) {
-  uptr<IAaptContext> context =
-      test::ContextBuilder().setMinSdkVersion(7).build();
+  std::unique_ptr<IAaptContext> context =
+      test::ContextBuilder().SetMinSdkVersion(7).Build();
 
-  const StringPiece resName = "@android:string/foo";
+  const StringPiece res_name = "@android:string/foo";
 
-  uptr<ResourceTable> table = buildTableWithConfigs(
-      resName,
+  std::unique_ptr<ResourceTable> table = BuildTableWithConfigs(
+      res_name,
       {"land-v4", "land-v5", "sw600dp", "land-v6", "land-v14", "land-v21"});
 
   VersionCollapser collapser;
-  ASSERT_TRUE(collapser.consume(context.get(), table.get()));
+  ASSERT_TRUE(collapser.Consume(context.get(), table.get()));
 
   // These should be removed.
   EXPECT_EQ(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v4")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v4")));
   EXPECT_EQ(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v5")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v5")));
   // This one should be removed because it was renamed to 'land', with the
   // version dropped.
   EXPECT_EQ(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v6")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v6")));
 
   // These should remain.
   EXPECT_NE(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("sw600dp")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("sw600dp")));
 
   // 'land' should be present because it was renamed from 'land-v6'.
-  EXPECT_NE(nullptr, test::getValueForConfig<Id>(
-                         table.get(), resName, test::parseConfigOrDie("land")));
   EXPECT_NE(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v14")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land")));
   EXPECT_NE(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v21")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v14")));
+  EXPECT_NE(nullptr,
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v21")));
 }
 
 TEST(VersionCollapserTest, CollapseVersionsWhenMinSdkIsHighest) {
-  uptr<IAaptContext> context =
-      test::ContextBuilder().setMinSdkVersion(21).build();
+  std::unique_ptr<IAaptContext> context =
+      test::ContextBuilder().SetMinSdkVersion(21).Build();
 
-  const StringPiece resName = "@android:string/foo";
+  const StringPiece res_name = "@android:string/foo";
 
-  uptr<ResourceTable> table = buildTableWithConfigs(
-      resName, {"land-v4", "land-v5", "sw600dp", "land-v6", "land-v14",
-                "land-v21", "land-v22"});
+  std::unique_ptr<ResourceTable> table = BuildTableWithConfigs(
+      res_name, {"land-v4", "land-v5", "sw600dp", "land-v6", "land-v14",
+                 "land-v21", "land-v22"});
   VersionCollapser collapser;
-  ASSERT_TRUE(collapser.consume(context.get(), table.get()));
+  ASSERT_TRUE(collapser.Consume(context.get(), table.get()));
 
   // These should all be removed.
   EXPECT_EQ(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v4")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v4")));
   EXPECT_EQ(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v5")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v5")));
   EXPECT_EQ(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v6")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v6")));
   EXPECT_EQ(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v14")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v14")));
 
   // These should remain.
   EXPECT_NE(nullptr,
-            test::getValueForConfig<Id>(
-                table.get(), resName,
-                test::parseConfigOrDie("sw600dp").copyWithoutSdkVersion()));
+            test::GetValueForConfig<Id>(
+                table.get(), res_name,
+                test::ParseConfigOrDie("sw600dp").CopyWithoutSdkVersion()));
 
   // land-v21 should have been converted to land.
-  EXPECT_NE(nullptr, test::getValueForConfig<Id>(
-                         table.get(), resName, test::parseConfigOrDie("land")));
+  EXPECT_NE(nullptr,
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land")));
   // land-v22 should remain as-is.
   EXPECT_NE(nullptr,
-            test::getValueForConfig<Id>(table.get(), resName,
-                                        test::parseConfigOrDie("land-v22")));
+            test::GetValueForConfig<Id>(table.get(), res_name,
+                                        test::ParseConfigOrDie("land-v22")));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/XmlNamespaceRemover.cpp b/tools/aapt2/link/XmlNamespaceRemover.cpp
index 6e8d80d..24aa566 100644
--- a/tools/aapt2/link/XmlNamespaceRemover.cpp
+++ b/tools/aapt2/link/XmlNamespaceRemover.cpp
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-#include "ResourceTable.h"
 #include "link/Linkers.h"
 
 #include <algorithm>
 
+#include "ResourceTable.h"
+
 namespace aapt {
 
 namespace {
@@ -28,12 +29,12 @@
  */
 class XmlVisitor : public xml::Visitor {
  public:
-  XmlVisitor(bool keepUris) : mKeepUris(keepUris) {}
+  explicit XmlVisitor(bool keep_uris) : keep_uris_(keep_uris) {}
 
-  void visit(xml::Element* el) override {
+  void Visit(xml::Element* el) override {
     // Strip namespaces
     for (auto& child : el->children) {
-      while (child && xml::nodeCast<xml::Namespace>(child.get())) {
+      while (child && xml::NodeCast<xml::Namespace>(child.get())) {
         if (child->children.empty()) {
           child = {};
         } else {
@@ -49,36 +50,38 @@
                        }),
         el->children.end());
 
-    if (!mKeepUris) {
+    if (!keep_uris_) {
       for (xml::Attribute& attr : el->attributes) {
-        attr.namespaceUri = std::string();
+        attr.namespace_uri = std::string();
       }
-      el->namespaceUri = std::string();
+      el->namespace_uri = std::string();
     }
-    xml::Visitor::visit(el);
+    xml::Visitor::Visit(el);
   }
 
  private:
-  bool mKeepUris;
+  DISALLOW_COPY_AND_ASSIGN(XmlVisitor);
+
+  bool keep_uris_;
 };
 
 }  // namespace
 
-bool XmlNamespaceRemover::consume(IAaptContext* context,
+bool XmlNamespaceRemover::Consume(IAaptContext* context,
                                   xml::XmlResource* resource) {
   if (!resource->root) {
     return false;
   }
   // Replace any root namespaces until the root is a non-namespace node
-  while (xml::nodeCast<xml::Namespace>(resource->root.get())) {
+  while (xml::NodeCast<xml::Namespace>(resource->root.get())) {
     if (resource->root->children.empty()) {
       break;
     }
     resource->root = std::move(resource->root->children.front());
     resource->root->parent = nullptr;
   }
-  XmlVisitor visitor(mKeepUris);
-  resource->root->accept(&visitor);
+  XmlVisitor visitor(keep_uris_);
+  resource->root->Accept(&visitor);
   return true;
 }
 
diff --git a/tools/aapt2/link/XmlNamespaceRemover_test.cpp b/tools/aapt2/link/XmlNamespaceRemover_test.cpp
index d2daaee..a176c03 100644
--- a/tools/aapt2/link/XmlNamespaceRemover_test.cpp
+++ b/tools/aapt2/link/XmlNamespaceRemover_test.cpp
@@ -15,83 +15,94 @@
  */
 
 #include "link/Linkers.h"
+
 #include "test/Test.h"
 
 namespace aapt {
 
 class XmlUriTestVisitor : public xml::Visitor {
  public:
-  void visit(xml::Element* el) override {
+  XmlUriTestVisitor() = default;
+
+  void Visit(xml::Element* el) override {
     for (const auto& attr : el->attributes) {
-      EXPECT_EQ(std::string(), attr.namespaceUri);
+      EXPECT_EQ(std::string(), attr.namespace_uri);
     }
-    EXPECT_EQ(std::string(), el->namespaceUri);
-    xml::Visitor::visit(el);
+    EXPECT_EQ(std::string(), el->namespace_uri);
+    xml::Visitor::Visit(el);
   }
 
-  void visit(xml::Namespace* ns) override {
-    EXPECT_EQ(std::string(), ns->namespaceUri);
-    xml::Visitor::visit(ns);
+  void Visit(xml::Namespace* ns) override {
+    EXPECT_EQ(std::string(), ns->namespace_uri);
+    xml::Visitor::Visit(ns);
   }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(XmlUriTestVisitor);
 };
 
 class XmlNamespaceTestVisitor : public xml::Visitor {
  public:
-  void visit(xml::Namespace* ns) override {
-    ADD_FAILURE() << "Detected namespace: " << ns->namespacePrefix << "=\""
-                  << ns->namespaceUri << "\"";
-    xml::Visitor::visit(ns);
+  XmlNamespaceTestVisitor() = default;
+
+  void Visit(xml::Namespace* ns) override {
+    ADD_FAILURE() << "Detected namespace: " << ns->namespace_prefix << "=\""
+                  << ns->namespace_uri << "\"";
+    xml::Visitor::Visit(ns);
   }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(XmlNamespaceTestVisitor);
 };
 
 class XmlNamespaceRemoverTest : public ::testing::Test {
  public:
   void SetUp() override {
-    mContext =
-        test::ContextBuilder().setCompilationPackage("com.app.test").build();
+    context_ =
+        test::ContextBuilder().SetCompilationPackage("com.app.test").Build();
   }
 
  protected:
-  std::unique_ptr<IAaptContext> mContext;
+  std::unique_ptr<IAaptContext> context_;
 };
 
 TEST_F(XmlNamespaceRemoverTest, RemoveUris) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
             <View xmlns:android="http://schemas.android.com/apk/res/android"
                   android:text="hello" />)EOF");
 
   XmlNamespaceRemover remover;
-  ASSERT_TRUE(remover.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(remover.Consume(context_.get(), doc.get()));
 
   xml::Node* root = doc.get()->root.get();
   ASSERT_NE(root, nullptr);
 
   XmlUriTestVisitor visitor;
-  root->accept(&visitor);
+  root->Accept(&visitor);
 }
 
 TEST_F(XmlNamespaceRemoverTest, RemoveNamespaces) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
             <View xmlns:android="http://schemas.android.com/apk/res/android"
                   xmlns:foo="http://schemas.android.com/apk/res/foo"
                   foo:bar="foobar"
                   android:text="hello" />)EOF");
 
   XmlNamespaceRemover remover;
-  ASSERT_TRUE(remover.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(remover.Consume(context_.get(), doc.get()));
 
   xml::Node* root = doc.get()->root.get();
   ASSERT_NE(root, nullptr);
 
   XmlNamespaceTestVisitor visitor;
-  root->accept(&visitor);
+  root->Accept(&visitor);
 }
 
 TEST_F(XmlNamespaceRemoverTest, RemoveNestedNamespaces) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
             <View xmlns:android="http://schemas.android.com/apk/res/android"
                   android:text="hello">
               <View xmlns:foo="http://schemas.example.com/foo"
@@ -99,13 +110,13 @@
             </View>)EOF");
 
   XmlNamespaceRemover remover;
-  ASSERT_TRUE(remover.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(remover.Consume(context_.get(), doc.get()));
 
   xml::Node* root = doc.get()->root.get();
   ASSERT_NE(root, nullptr);
 
   XmlNamespaceTestVisitor visitor;
-  root->accept(&visitor);
+  root->Accept(&visitor);
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/link/XmlReferenceLinker.cpp b/tools/aapt2/link/XmlReferenceLinker.cpp
index 945f98a..a819831 100644
--- a/tools/aapt2/link/XmlReferenceLinker.cpp
+++ b/tools/aapt2/link/XmlReferenceLinker.cpp
@@ -14,10 +14,11 @@
  * limitations under the License.
  */
 
+#include "link/Linkers.h"
+
 #include "Diagnostics.h"
 #include "ResourceUtils.h"
 #include "SdkConstants.h"
-#include "link/Linkers.h"
 #include "link/ReferenceLinker.h"
 #include "process/IResourceTableConsumer.h"
 #include "process/SymbolTable.h"
@@ -37,31 +38,33 @@
  */
 class ReferenceVisitor : public ValueVisitor {
  public:
-  using ValueVisitor::visit;
+  using ValueVisitor::Visit;
 
   ReferenceVisitor(IAaptContext* context, SymbolTable* symbols,
-                   xml::IPackageDeclStack* decls, CallSite* callSite)
-      : mContext(context),
-        mSymbols(symbols),
-        mDecls(decls),
-        mCallSite(callSite),
-        mError(false) {}
+                   xml::IPackageDeclStack* decls, CallSite* callsite)
+      : context_(context),
+        symbols_(symbols),
+        decls_(decls),
+        callsite_(callsite),
+        error_(false) {}
 
-  void visit(Reference* ref) override {
-    if (!ReferenceLinker::linkReference(ref, mContext, mSymbols, mDecls,
-                                        mCallSite)) {
-      mError = true;
+  void Visit(Reference* ref) override {
+    if (!ReferenceLinker::LinkReference(ref, context_, symbols_, decls_,
+                                        callsite_)) {
+      error_ = true;
     }
   }
 
-  bool hasError() const { return mError; }
+  bool HasError() const { return error_; }
 
  private:
-  IAaptContext* mContext;
-  SymbolTable* mSymbols;
-  xml::IPackageDeclStack* mDecls;
-  CallSite* mCallSite;
-  bool mError;
+  DISALLOW_COPY_AND_ASSIGN(ReferenceVisitor);
+
+  IAaptContext* context_;
+  SymbolTable* symbols_;
+  xml::IPackageDeclStack* decls_;
+  CallSite* callsite_;
+  bool error_;
 };
 
 /**
@@ -69,114 +72,117 @@
  */
 class XmlVisitor : public xml::PackageAwareVisitor {
  public:
-  using xml::PackageAwareVisitor::visit;
+  using xml::PackageAwareVisitor::Visit;
 
   XmlVisitor(IAaptContext* context, SymbolTable* symbols, const Source& source,
-             std::set<int>* sdkLevelsFound, CallSite* callSite)
-      : mContext(context),
-        mSymbols(symbols),
-        mSource(source),
-        mSdkLevelsFound(sdkLevelsFound),
-        mCallSite(callSite),
-        mReferenceVisitor(context, symbols, this, callSite) {}
+             std::set<int>* sdk_levels_found, CallSite* callsite)
+      : context_(context),
+        symbols_(symbols),
+        source_(source),
+        sdk_levels_found_(sdk_levels_found),
+        callsite_(callsite),
+        reference_visitor_(context, symbols, this, callsite) {}
 
-  void visit(xml::Element* el) override {
-    const Source source = mSource.withLine(el->lineNumber);
+  void Visit(xml::Element* el) override {
+    const Source source = source_.WithLine(el->line_number);
     for (xml::Attribute& attr : el->attributes) {
-      Maybe<xml::ExtractedPackage> maybePackage =
-          xml::extractPackageFromNamespace(attr.namespaceUri);
-      if (maybePackage) {
+      Maybe<xml::ExtractedPackage> maybe_package =
+          xml::ExtractPackageFromNamespace(attr.namespace_uri);
+      if (maybe_package) {
         // There is a valid package name for this attribute. We will look this
         // up.
-        StringPiece package = maybePackage.value().package;
+        StringPiece package = maybe_package.value().package;
         if (package.empty()) {
           // Empty package means the 'current' or 'local' package.
-          package = mContext->getCompilationPackage();
+          package = context_->GetCompilationPackage();
         }
 
-        Reference attrRef(
+        Reference attr_ref(
             ResourceNameRef(package, ResourceType::kAttr, attr.name));
-        attrRef.privateReference = maybePackage.value().privateNamespace;
+        attr_ref.private_reference = maybe_package.value().private_namespace;
 
-        std::string errStr;
-        attr.compiledAttribute = ReferenceLinker::compileXmlAttribute(
-            attrRef, mContext->getNameMangler(), mSymbols, mCallSite, &errStr);
+        std::string err_str;
+        attr.compiled_attribute = ReferenceLinker::CompileXmlAttribute(
+            attr_ref, context_->GetNameMangler(), symbols_, callsite_,
+            &err_str);
 
         // Convert the string value into a compiled Value if this is a valid
         // attribute.
-        if (attr.compiledAttribute) {
-          if (attr.compiledAttribute.value().id) {
+        if (attr.compiled_attribute) {
+          if (attr.compiled_attribute.value().id) {
             // Record all SDK levels from which the attributes were defined.
-            const size_t sdkLevel = findAttributeSdkLevel(
-                attr.compiledAttribute.value().id.value());
-            if (sdkLevel > 1) {
-              mSdkLevelsFound->insert(sdkLevel);
+            const size_t sdk_level = FindAttributeSdkLevel(
+                attr.compiled_attribute.value().id.value());
+            if (sdk_level > 1) {
+              sdk_levels_found_->insert(sdk_level);
             }
           }
 
           const Attribute* attribute =
-              &attr.compiledAttribute.value().attribute;
-          attr.compiledValue =
-              ResourceUtils::tryParseItemForAttribute(attr.value, attribute);
-          if (!attr.compiledValue &&
-              !(attribute->typeMask & android::ResTable_map::TYPE_STRING)) {
+              &attr.compiled_attribute.value().attribute;
+          attr.compiled_value =
+              ResourceUtils::TryParseItemForAttribute(attr.value, attribute);
+          if (!attr.compiled_value &&
+              !(attribute->type_mask & android::ResTable_map::TYPE_STRING)) {
             // We won't be able to encode this as a string.
-            mContext->getDiagnostics()->error(
+            context_->GetDiagnostics()->Error(
                 DiagMessage(source) << "'" << attr.value << "' "
                                     << "is incompatible with attribute "
                                     << package << ":" << attr.name << " "
                                     << *attribute);
-            mError = true;
+            error_ = true;
           }
 
         } else {
-          mContext->getDiagnostics()->error(DiagMessage(source)
+          context_->GetDiagnostics()->Error(DiagMessage(source)
                                             << "attribute '" << package << ":"
-                                            << attr.name << "' " << errStr);
-          mError = true;
+                                            << attr.name << "' " << err_str);
+          error_ = true;
         }
-      } else if (!attr.compiledValue) {
+      } else if (!attr.compiled_value) {
         // We still encode references, but only if we haven't manually set this
         // to
         // another compiled value.
-        attr.compiledValue = ResourceUtils::tryParseReference(attr.value);
+        attr.compiled_value = ResourceUtils::TryParseReference(attr.value);
       }
 
-      if (attr.compiledValue) {
+      if (attr.compiled_value) {
         // With a compiledValue, we must resolve the reference and assign it an
         // ID.
-        attr.compiledValue->setSource(source);
-        attr.compiledValue->accept(&mReferenceVisitor);
+        attr.compiled_value->SetSource(source);
+        attr.compiled_value->Accept(&reference_visitor_);
       }
     }
 
     // Call the super implementation.
-    xml::PackageAwareVisitor::visit(el);
+    xml::PackageAwareVisitor::Visit(el);
   }
 
-  bool hasError() { return mError || mReferenceVisitor.hasError(); }
+  bool HasError() { return error_ || reference_visitor_.HasError(); }
 
  private:
-  IAaptContext* mContext;
-  SymbolTable* mSymbols;
-  Source mSource;
-  std::set<int>* mSdkLevelsFound;
-  CallSite* mCallSite;
-  ReferenceVisitor mReferenceVisitor;
-  bool mError = false;
+  DISALLOW_COPY_AND_ASSIGN(XmlVisitor);
+
+  IAaptContext* context_;
+  SymbolTable* symbols_;
+  Source source_;
+  std::set<int>* sdk_levels_found_;
+  CallSite* callsite_;
+  ReferenceVisitor reference_visitor_;
+  bool error_ = false;
 };
 
 }  // namespace
 
-bool XmlReferenceLinker::consume(IAaptContext* context,
+bool XmlReferenceLinker::Consume(IAaptContext* context,
                                  xml::XmlResource* resource) {
-  mSdkLevelsFound.clear();
-  CallSite callSite = {resource->file.name};
-  XmlVisitor visitor(context, context->getExternalSymbols(),
-                     resource->file.source, &mSdkLevelsFound, &callSite);
+  sdk_levels_found_.clear();
+  CallSite callsite = {resource->file.name};
+  XmlVisitor visitor(context, context->GetExternalSymbols(),
+                     resource->file.source, &sdk_levels_found_, &callsite);
   if (resource->root) {
-    resource->root->accept(&visitor);
-    return !visitor.hasError();
+    resource->root->Accept(&visitor);
+    return !visitor.HasError();
   }
   return false;
 }
diff --git a/tools/aapt2/link/XmlReferenceLinker_test.cpp b/tools/aapt2/link/XmlReferenceLinker_test.cpp
index 35d479f..810f63c 100644
--- a/tools/aapt2/link/XmlReferenceLinker_test.cpp
+++ b/tools/aapt2/link/XmlReferenceLinker_test.cpp
@@ -15,6 +15,7 @@
  */
 
 #include "link/Linkers.h"
+
 #include "test/Test.h"
 
 namespace aapt {
@@ -22,72 +23,72 @@
 class XmlReferenceLinkerTest : public ::testing::Test {
  public:
   void SetUp() override {
-    mContext =
+    context_ =
         test::ContextBuilder()
-            .setCompilationPackage("com.app.test")
-            .setNameManglerPolicy(
+            .SetCompilationPackage("com.app.test")
+            .SetNameManglerPolicy(
                 NameManglerPolicy{"com.app.test", {"com.android.support"}})
-            .addSymbolSource(
+            .AddSymbolSource(
                 test::StaticSymbolSourceBuilder()
-                    .addPublicSymbol(
+                    .AddPublicSymbol(
                         "android:attr/layout_width", ResourceId(0x01010000),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_ENUM |
+                            .SetTypeMask(android::ResTable_map::TYPE_ENUM |
                                          android::ResTable_map::TYPE_DIMENSION)
-                            .addItem("match_parent", 0xffffffff)
-                            .build())
-                    .addPublicSymbol(
+                            .AddItem("match_parent", 0xffffffff)
+                            .Build())
+                    .AddPublicSymbol(
                         "android:attr/background", ResourceId(0x01010001),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_COLOR)
-                            .build())
-                    .addPublicSymbol("android:attr/attr",
+                            .SetTypeMask(android::ResTable_map::TYPE_COLOR)
+                            .Build())
+                    .AddPublicSymbol("android:attr/attr",
                                      ResourceId(0x01010002),
-                                     test::AttributeBuilder().build())
-                    .addPublicSymbol(
+                                     test::AttributeBuilder().Build())
+                    .AddPublicSymbol(
                         "android:attr/text", ResourceId(0x01010003),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_STRING)
-                            .build())
+                            .SetTypeMask(android::ResTable_map::TYPE_STRING)
+                            .Build())
 
                     // Add one real symbol that was introduces in v21
-                    .addPublicSymbol("android:attr/colorAccent",
+                    .AddPublicSymbol("android:attr/colorAccent",
                                      ResourceId(0x01010435),
-                                     test::AttributeBuilder().build())
+                                     test::AttributeBuilder().Build())
 
                     // Private symbol.
-                    .addSymbol("android:color/hidden", ResourceId(0x01020001))
+                    .AddSymbol("android:color/hidden", ResourceId(0x01020001))
 
-                    .addPublicSymbol("android:id/id", ResourceId(0x01030000))
-                    .addSymbol("com.app.test:id/id", ResourceId(0x7f030000))
-                    .addSymbol("com.app.test:color/green",
+                    .AddPublicSymbol("android:id/id", ResourceId(0x01030000))
+                    .AddSymbol("com.app.test:id/id", ResourceId(0x7f030000))
+                    .AddSymbol("com.app.test:color/green",
                                ResourceId(0x7f020000))
-                    .addSymbol("com.app.test:color/red", ResourceId(0x7f020001))
-                    .addSymbol(
+                    .AddSymbol("com.app.test:color/red", ResourceId(0x7f020001))
+                    .AddSymbol(
                         "com.app.test:attr/colorAccent", ResourceId(0x7f010000),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_COLOR)
-                            .build())
-                    .addPublicSymbol(
+                            .SetTypeMask(android::ResTable_map::TYPE_COLOR)
+                            .Build())
+                    .AddPublicSymbol(
                         "com.app.test:attr/com.android.support$colorAccent",
                         ResourceId(0x7f010001),
                         test::AttributeBuilder()
-                            .setTypeMask(android::ResTable_map::TYPE_COLOR)
-                            .build())
-                    .addPublicSymbol("com.app.test:attr/attr",
+                            .SetTypeMask(android::ResTable_map::TYPE_COLOR)
+                            .Build())
+                    .AddPublicSymbol("com.app.test:attr/attr",
                                      ResourceId(0x7f010002),
-                                     test::AttributeBuilder().build())
-                    .build())
-            .build();
+                                     test::AttributeBuilder().Build())
+                    .Build())
+            .Build();
   }
 
  protected:
-  std::unique_ptr<IAaptContext> mContext;
+  std::unique_ptr<IAaptContext> context_;
 };
 
 TEST_F(XmlReferenceLinkerTest, LinkBasicAttributes) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
         <View xmlns:android="http://schemas.android.com/apk/res/android"
               android:layout_width="match_parent"
               android:background="@color/green"
@@ -95,123 +96,125 @@
               class="hello" />)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(linker.Consume(context_.get(), doc.get()));
 
-  xml::Element* viewEl = xml::findRootElement(doc.get());
-  ASSERT_NE(viewEl, nullptr);
+  xml::Element* view_el = xml::FindRootElement(doc.get());
+  ASSERT_NE(view_el, nullptr);
 
-  xml::Attribute* xmlAttr =
-      viewEl->findAttribute(xml::kSchemaAndroid, "layout_width");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute.value().id);
-  EXPECT_EQ(xmlAttr->compiledAttribute.value().id.value(),
+  xml::Attribute* xml_attr =
+      view_el->FindAttribute(xml::kSchemaAndroid, "layout_width");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute.value().id);
+  EXPECT_EQ(xml_attr->compiled_attribute.value().id.value(),
             ResourceId(0x01010000));
-  ASSERT_NE(xmlAttr->compiledValue, nullptr);
-  ASSERT_NE(valueCast<BinaryPrimitive>(xmlAttr->compiledValue.get()), nullptr);
+  ASSERT_NE(xml_attr->compiled_value, nullptr);
+  ASSERT_NE(ValueCast<BinaryPrimitive>(xml_attr->compiled_value.get()),
+            nullptr);
 
-  xmlAttr = viewEl->findAttribute(xml::kSchemaAndroid, "background");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute.value().id);
-  EXPECT_EQ(xmlAttr->compiledAttribute.value().id.value(),
+  xml_attr = view_el->FindAttribute(xml::kSchemaAndroid, "background");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute.value().id);
+  EXPECT_EQ(xml_attr->compiled_attribute.value().id.value(),
             ResourceId(0x01010001));
-  ASSERT_NE(xmlAttr->compiledValue, nullptr);
-  Reference* ref = valueCast<Reference>(xmlAttr->compiledValue.get());
+  ASSERT_NE(xml_attr->compiled_value, nullptr);
+  Reference* ref = ValueCast<Reference>(xml_attr->compiled_value.get());
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->name);
   EXPECT_EQ(ref->name.value(),
-            test::parseNameOrDie("color/green"));  // Make sure the name
+            test::ParseNameOrDie("color/green"));  // Make sure the name
                                                    // didn't change.
   AAPT_ASSERT_TRUE(ref->id);
   EXPECT_EQ(ref->id.value(), ResourceId(0x7f020000));
 
-  xmlAttr = viewEl->findAttribute(xml::kSchemaAndroid, "text");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
+  xml_attr = view_el->FindAttribute(xml::kSchemaAndroid, "text");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
   ASSERT_FALSE(
-      xmlAttr->compiledValue);  // Strings don't get compiled for memory sake.
+      xml_attr->compiled_value);  // Strings don't get compiled for memory sake.
 
-  xmlAttr = viewEl->findAttribute("", "class");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_FALSE(xmlAttr->compiledAttribute);
-  ASSERT_EQ(xmlAttr->compiledValue, nullptr);
+  xml_attr = view_el->FindAttribute("", "class");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_FALSE(xml_attr->compiled_attribute);
+  ASSERT_EQ(xml_attr->compiled_value, nullptr);
 }
 
 TEST_F(XmlReferenceLinkerTest, PrivateSymbolsAreNotLinked) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
         <View xmlns:android="http://schemas.android.com/apk/res/android"
               android:colorAccent="@android:color/hidden" />)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_FALSE(linker.consume(mContext.get(), doc.get()));
+  ASSERT_FALSE(linker.Consume(context_.get(), doc.get()));
 }
 
 TEST_F(XmlReferenceLinkerTest,
        PrivateSymbolsAreLinkedWhenReferenceHasStarPrefix) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
     <View xmlns:android="http://schemas.android.com/apk/res/android"
           android:colorAccent="@*android:color/hidden" />)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(linker.Consume(context_.get(), doc.get()));
 }
 
 TEST_F(XmlReferenceLinkerTest, SdkLevelsAreRecorded) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
         <View xmlns:android="http://schemas.android.com/apk/res/android"
               android:colorAccent="#ffffff" />)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(mContext.get(), doc.get()));
-  EXPECT_TRUE(linker.getSdkLevels().count(21) == 1);
+  ASSERT_TRUE(linker.Consume(context_.get(), doc.get()));
+  EXPECT_TRUE(linker.sdk_levels().count(21) == 1);
 }
 
 TEST_F(XmlReferenceLinkerTest, LinkMangledAttributes) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
             <View xmlns:support="http://schemas.android.com/apk/res/com.android.support"
                   support:colorAccent="#ff0000" />)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(linker.Consume(context_.get(), doc.get()));
 
-  xml::Element* viewEl = xml::findRootElement(doc.get());
-  ASSERT_NE(viewEl, nullptr);
+  xml::Element* view_el = xml::FindRootElement(doc.get());
+  ASSERT_NE(view_el, nullptr);
 
-  xml::Attribute* xmlAttr = viewEl->findAttribute(
-      xml::buildPackageNamespace("com.android.support"), "colorAccent");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute.value().id);
-  EXPECT_EQ(xmlAttr->compiledAttribute.value().id.value(),
+  xml::Attribute* xml_attr = view_el->FindAttribute(
+      xml::BuildPackageNamespace("com.android.support"), "colorAccent");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute.value().id);
+  EXPECT_EQ(xml_attr->compiled_attribute.value().id.value(),
             ResourceId(0x7f010001));
-  ASSERT_NE(valueCast<BinaryPrimitive>(xmlAttr->compiledValue.get()), nullptr);
+  ASSERT_NE(ValueCast<BinaryPrimitive>(xml_attr->compiled_value.get()),
+            nullptr);
 }
 
 TEST_F(XmlReferenceLinkerTest, LinkAutoResReference) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
             <View xmlns:app="http://schemas.android.com/apk/res-auto"
                   app:colorAccent="@app:color/red" />)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(linker.Consume(context_.get(), doc.get()));
 
-  xml::Element* viewEl = xml::findRootElement(doc.get());
-  ASSERT_NE(viewEl, nullptr);
+  xml::Element* view_el = xml::FindRootElement(doc.get());
+  ASSERT_NE(view_el, nullptr);
 
-  xml::Attribute* xmlAttr =
-      viewEl->findAttribute(xml::kSchemaAuto, "colorAccent");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute.value().id);
-  EXPECT_EQ(xmlAttr->compiledAttribute.value().id.value(),
+  xml::Attribute* xml_attr =
+      view_el->FindAttribute(xml::kSchemaAuto, "colorAccent");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute.value().id);
+  EXPECT_EQ(xml_attr->compiled_attribute.value().id.value(),
             ResourceId(0x7f010000));
-  Reference* ref = valueCast<Reference>(xmlAttr->compiledValue.get());
+  Reference* ref = ValueCast<Reference>(xml_attr->compiled_value.get());
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->name);
   AAPT_ASSERT_TRUE(ref->id);
@@ -220,7 +223,7 @@
 
 TEST_F(XmlReferenceLinkerTest, LinkViewWithShadowedPackageAlias) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
             <View xmlns:app="http://schemas.android.com/apk/res/android"
                   app:attr="@app:id/id">
               <View xmlns:app="http://schemas.android.com/apk/res/com.app.test"
@@ -228,38 +231,39 @@
             </View>)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(linker.Consume(context_.get(), doc.get()));
 
-  xml::Element* viewEl = xml::findRootElement(doc.get());
-  ASSERT_NE(viewEl, nullptr);
+  xml::Element* view_el = xml::FindRootElement(doc.get());
+  ASSERT_NE(view_el, nullptr);
 
   // All attributes and references in this element should be referring to
   // "android" (0x01).
-  xml::Attribute* xmlAttr = viewEl->findAttribute(xml::kSchemaAndroid, "attr");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute.value().id);
-  EXPECT_EQ(xmlAttr->compiledAttribute.value().id.value(),
+  xml::Attribute* xml_attr =
+      view_el->FindAttribute(xml::kSchemaAndroid, "attr");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute.value().id);
+  EXPECT_EQ(xml_attr->compiled_attribute.value().id.value(),
             ResourceId(0x01010002));
-  Reference* ref = valueCast<Reference>(xmlAttr->compiledValue.get());
+  Reference* ref = ValueCast<Reference>(xml_attr->compiled_value.get());
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->id);
   EXPECT_EQ(ref->id.value(), ResourceId(0x01030000));
 
-  ASSERT_FALSE(viewEl->getChildElements().empty());
-  viewEl = viewEl->getChildElements().front();
-  ASSERT_NE(viewEl, nullptr);
+  ASSERT_FALSE(view_el->GetChildElements().empty());
+  view_el = view_el->GetChildElements().front();
+  ASSERT_NE(view_el, nullptr);
 
   // All attributes and references in this element should be referring to
   // "com.app.test" (0x7f).
-  xmlAttr =
-      viewEl->findAttribute(xml::buildPackageNamespace("com.app.test"), "attr");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute.value().id);
-  EXPECT_EQ(xmlAttr->compiledAttribute.value().id.value(),
+  xml_attr = view_el->FindAttribute(xml::BuildPackageNamespace("com.app.test"),
+                                    "attr");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute.value().id);
+  EXPECT_EQ(xml_attr->compiled_attribute.value().id.value(),
             ResourceId(0x7f010002));
-  ref = valueCast<Reference>(xmlAttr->compiledValue.get());
+  ref = ValueCast<Reference>(xml_attr->compiled_value.get());
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->id);
   EXPECT_EQ(ref->id.value(), ResourceId(0x7f030000));
@@ -267,26 +271,26 @@
 
 TEST_F(XmlReferenceLinkerTest, LinkViewWithLocalPackageAndAliasOfTheSameName) {
   std::unique_ptr<xml::XmlResource> doc =
-      test::buildXmlDomForPackageName(mContext.get(), R"EOF(
+      test::BuildXmlDomForPackageName(context_.get(), R"EOF(
             <View xmlns:android="http://schemas.android.com/apk/res/com.app.test"
                   android:attr="@id/id"/>)EOF");
 
   XmlReferenceLinker linker;
-  ASSERT_TRUE(linker.consume(mContext.get(), doc.get()));
+  ASSERT_TRUE(linker.Consume(context_.get(), doc.get()));
 
-  xml::Element* viewEl = xml::findRootElement(doc.get());
-  ASSERT_NE(viewEl, nullptr);
+  xml::Element* view_el = xml::FindRootElement(doc.get());
+  ASSERT_NE(view_el, nullptr);
 
   // All attributes and references in this element should be referring to
   // "com.app.test" (0x7f).
-  xml::Attribute* xmlAttr =
-      viewEl->findAttribute(xml::buildPackageNamespace("com.app.test"), "attr");
-  ASSERT_NE(xmlAttr, nullptr);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute);
-  AAPT_ASSERT_TRUE(xmlAttr->compiledAttribute.value().id);
-  EXPECT_EQ(xmlAttr->compiledAttribute.value().id.value(),
+  xml::Attribute* xml_attr = view_el->FindAttribute(
+      xml::BuildPackageNamespace("com.app.test"), "attr");
+  ASSERT_NE(xml_attr, nullptr);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute);
+  AAPT_ASSERT_TRUE(xml_attr->compiled_attribute.value().id);
+  EXPECT_EQ(xml_attr->compiled_attribute.value().id.value(),
             ResourceId(0x7f010002));
-  Reference* ref = valueCast<Reference>(xmlAttr->compiledValue.get());
+  Reference* ref = ValueCast<Reference>(xml_attr->compiled_value.get());
   ASSERT_NE(ref, nullptr);
   AAPT_ASSERT_TRUE(ref->id);
   EXPECT_EQ(ref->id.value(), ResourceId(0x7f030000));