Use Google3 style guide with .clang-format

Test: style change only, builds ok
Change-Id: I885180e24cb2e7b58cfb4967c3bcb40058ce4078
diff --git a/tools/aapt2/util/BigBuffer.h b/tools/aapt2/util/BigBuffer.h
index 685614f..b273733 100644
--- a/tools/aapt2/util/BigBuffer.h
+++ b/tools/aapt2/util/BigBuffer.h
@@ -32,156 +32,153 @@
  * block is allocated and appended to the end of the list.
  */
 class BigBuffer {
-public:
+ public:
+  /**
+   * A contiguous block of allocated memory.
+   */
+  struct Block {
     /**
-     * A contiguous block of allocated memory.
+     * Pointer to the memory.
      */
-    struct Block {
-        /**
-         * Pointer to the memory.
-         */
-        std::unique_ptr<uint8_t[]> buffer;
-
-        /**
-         * Size of memory that is currently occupied. The actual
-         * allocation may be larger.
-         */
-        size_t size;
-
-    private:
-        friend class BigBuffer;
-
-        /**
-         * The size of the memory block allocation.
-         */
-        size_t mBlockSize;
-    };
-
-    typedef std::vector<Block>::const_iterator const_iterator;
+    std::unique_ptr<uint8_t[]> buffer;
 
     /**
-     * Create a BigBuffer with block allocation sizes
-     * of blockSize.
+     * Size of memory that is currently occupied. The actual
+     * allocation may be larger.
      */
-    explicit BigBuffer(size_t blockSize);
+    size_t size;
 
-    BigBuffer(const BigBuffer&) = delete; // No copying.
-
-    BigBuffer(BigBuffer&& rhs);
+   private:
+    friend class BigBuffer;
 
     /**
-     * Number of occupied bytes in all the allocated blocks.
+     * The size of the memory block allocation.
      */
-    size_t size() const;
-
-    /**
-     * Returns a pointer to an array of T, where T is
-     * a POD type. The elements are zero-initialized.
-     */
-    template <typename T>
-    T* nextBlock(size_t count = 1);
-
-    /**
-     * Returns the next block available and puts the size in outCount.
-     * This is useful for grabbing blocks where the size doesn't matter.
-     * Use backUp() to give back any bytes that were not used.
-     */
-    void* nextBlock(size_t* outCount);
-
-    /**
-     * Backs up count bytes. This must only be called after nextBlock()
-     * and can not be larger than sizeof(T) * count of the last nextBlock()
-     * call.
-     */
-    void backUp(size_t count);
-
-    /**
-     * Moves the specified BigBuffer into this one. When this method
-     * returns, buffer is empty.
-     */
-    void appendBuffer(BigBuffer&& buffer);
-
-    /**
-     * Pads the block with 'bytes' bytes of zero values.
-     */
-    void pad(size_t bytes);
-
-    /**
-     * Pads the block so that it aligns on a 4 byte boundary.
-     */
-    void align4();
-
-    size_t getBlockSize() const;
-
-    const_iterator begin() const;
-    const_iterator end() const;
-
-private:
-    /**
-     * Returns a pointer to a buffer of the requested size.
-     * The buffer is zero-initialized.
-     */
-    void* nextBlockImpl(size_t size);
-
     size_t mBlockSize;
-    size_t mSize;
-    std::vector<Block> mBlocks;
+  };
+
+  typedef std::vector<Block>::const_iterator const_iterator;
+
+  /**
+   * Create a BigBuffer with block allocation sizes
+   * of blockSize.
+   */
+  explicit BigBuffer(size_t blockSize);
+
+  BigBuffer(const BigBuffer&) = delete;  // No copying.
+
+  BigBuffer(BigBuffer&& rhs);
+
+  /**
+   * Number of occupied bytes in all the allocated blocks.
+   */
+  size_t size() const;
+
+  /**
+   * Returns a pointer to an array of T, where T is
+   * a POD type. The elements are zero-initialized.
+   */
+  template <typename T>
+  T* nextBlock(size_t count = 1);
+
+  /**
+   * Returns the next block available and puts the size in outCount.
+   * This is useful for grabbing blocks where the size doesn't matter.
+   * Use backUp() to give back any bytes that were not used.
+   */
+  void* nextBlock(size_t* outCount);
+
+  /**
+   * Backs up count bytes. This must only be called after nextBlock()
+   * and can not be larger than sizeof(T) * count of the last nextBlock()
+   * call.
+   */
+  void backUp(size_t count);
+
+  /**
+   * Moves the specified BigBuffer into this one. When this method
+   * returns, buffer is empty.
+   */
+  void appendBuffer(BigBuffer&& buffer);
+
+  /**
+   * Pads the block with 'bytes' bytes of zero values.
+   */
+  void pad(size_t bytes);
+
+  /**
+   * Pads the block so that it aligns on a 4 byte boundary.
+   */
+  void align4();
+
+  size_t getBlockSize() const;
+
+  const_iterator begin() const;
+  const_iterator end() const;
+
+ private:
+  /**
+   * Returns a pointer to a buffer of the requested size.
+   * The buffer is zero-initialized.
+   */
+  void* nextBlockImpl(size_t size);
+
+  size_t mBlockSize;
+  size_t mSize;
+  std::vector<Block> mBlocks;
 };
 
-inline BigBuffer::BigBuffer(size_t blockSize) : mBlockSize(blockSize), mSize(0) {
-}
+inline BigBuffer::BigBuffer(size_t blockSize)
+    : mBlockSize(blockSize), mSize(0) {}
 
-inline BigBuffer::BigBuffer(BigBuffer&& rhs) :
-        mBlockSize(rhs.mBlockSize), mSize(rhs.mSize), mBlocks(std::move(rhs.mBlocks)) {
-}
+inline BigBuffer::BigBuffer(BigBuffer&& rhs)
+    : mBlockSize(rhs.mBlockSize),
+      mSize(rhs.mSize),
+      mBlocks(std::move(rhs.mBlocks)) {}
 
-inline size_t BigBuffer::size() const {
-    return mSize;
-}
+inline size_t BigBuffer::size() const { return mSize; }
 
-inline size_t BigBuffer::getBlockSize() const {
-    return mBlockSize;
-}
+inline size_t BigBuffer::getBlockSize() const { return mBlockSize; }
 
 template <typename T>
 inline T* BigBuffer::nextBlock(size_t count) {
-    static_assert(std::is_standard_layout<T>::value, "T must be standard_layout type");
-    assert(count != 0);
-    return reinterpret_cast<T*>(nextBlockImpl(sizeof(T) * count));
+  static_assert(std::is_standard_layout<T>::value,
+                "T must be standard_layout type");
+  assert(count != 0);
+  return reinterpret_cast<T*>(nextBlockImpl(sizeof(T) * count));
 }
 
 inline void BigBuffer::backUp(size_t count) {
-    Block& block = mBlocks.back();
-    block.size -= count;
-    mSize -= count;
+  Block& block = mBlocks.back();
+  block.size -= count;
+  mSize -= count;
 }
 
 inline void BigBuffer::appendBuffer(BigBuffer&& buffer) {
-    std::move(buffer.mBlocks.begin(), buffer.mBlocks.end(), std::back_inserter(mBlocks));
-    mSize += buffer.mSize;
-    buffer.mBlocks.clear();
-    buffer.mSize = 0;
+  std::move(buffer.mBlocks.begin(), buffer.mBlocks.end(),
+            std::back_inserter(mBlocks));
+  mSize += buffer.mSize;
+  buffer.mBlocks.clear();
+  buffer.mSize = 0;
 }
 
-inline void BigBuffer::pad(size_t bytes) {
-    nextBlock<char>(bytes);
-}
+inline void BigBuffer::pad(size_t bytes) { nextBlock<char>(bytes); }
 
 inline void BigBuffer::align4() {
-    const size_t unaligned = mSize % 4;
-    if (unaligned != 0) {
-        pad(4 - unaligned);
-    }
+  const size_t unaligned = mSize % 4;
+  if (unaligned != 0) {
+    pad(4 - unaligned);
+  }
 }
 
 inline BigBuffer::const_iterator BigBuffer::begin() const {
-    return mBlocks.begin();
+  return mBlocks.begin();
 }
 
 inline BigBuffer::const_iterator BigBuffer::end() const {
-    return mBlocks.end();
+  return mBlocks.end();
 }
 
-} // namespace aapt
+}  // namespace aapt
 
-#endif // AAPT_BIG_BUFFER_H
+#endif  // AAPT_BIG_BUFFER_H
diff --git a/tools/aapt2/util/Files.h b/tools/aapt2/util/Files.h
index 52c2052..d90c6b6 100644
--- a/tools/aapt2/util/Files.h
+++ b/tools/aapt2/util/Files.h
@@ -39,15 +39,15 @@
 #endif
 
 enum class FileType {
-    kUnknown = 0,
-    kNonexistant,
-    kRegular,
-    kDirectory,
-    kCharDev,
-    kBlockDev,
-    kFifo,
-    kSymlink,
-    kSocket,
+  kUnknown = 0,
+  kNonexistant,
+  kRegular,
+  kDirectory,
+  kCharDev,
+  kBlockDev,
+  kFifo,
+  kSymlink,
+  kSocket,
 };
 
 FileType getFileType(const StringPiece& path);
@@ -93,12 +93,14 @@
 /**
  * Creates a FileMap for the file at path.
  */
-Maybe<android::FileMap> mmapPath(const StringPiece& path, std::string* outError);
+Maybe<android::FileMap> mmapPath(const StringPiece& path,
+                                 std::string* outError);
 
 /**
  * Reads the file at path and appends each line to the outArgList vector.
  */
-bool appendArgsFromFile(const StringPiece& path, std::vector<std::string>* outArgList,
+bool appendArgsFromFile(const StringPiece& path,
+                        std::vector<std::string>* outArgList,
                         std::string* outError);
 
 /*
@@ -108,37 +110,36 @@
  * FileFilter::setPattern(const std::string&) method.
  */
 class FileFilter {
-public:
-    explicit FileFilter(IDiagnostics* diag) : mDiag(diag) {
-    }
+ public:
+  explicit FileFilter(IDiagnostics* diag) : mDiag(diag) {}
 
-    /*
-     * Patterns syntax:
-     * - Delimiter is :
-     * - Entry can start with the flag ! to avoid printing a warning
-     *   about the file being ignored.
-     * - Entry can have the flag "<dir>" to match only directories
-     *   or <file> to match only files. Default is to match both.
-     * - Entry can be a simplified glob "<prefix>*" or "*<suffix>"
-     *   where prefix/suffix must have at least 1 character (so that
-     *   we don't match a '*' catch-all pattern.)
-     * - The special filenames "." and ".." are always ignored.
-     * - Otherwise the full string is matched.
-     * - match is not case-sensitive.
-     */
-    bool setPattern(const StringPiece& pattern);
+  /*
+   * Patterns syntax:
+   * - Delimiter is :
+   * - Entry can start with the flag ! to avoid printing a warning
+   *   about the file being ignored.
+   * - Entry can have the flag "<dir>" to match only directories
+   *   or <file> to match only files. Default is to match both.
+   * - Entry can be a simplified glob "<prefix>*" or "*<suffix>"
+   *   where prefix/suffix must have at least 1 character (so that
+   *   we don't match a '*' catch-all pattern.)
+   * - The special filenames "." and ".." are always ignored.
+   * - Otherwise the full string is matched.
+   * - match is not case-sensitive.
+   */
+  bool setPattern(const StringPiece& pattern);
 
-    /**
-     * Applies the filter, returning true for pass, false for fail.
-     */
-    bool operator()(const std::string& filename, FileType type) const;
+  /**
+   * Applies the filter, returning true for pass, false for fail.
+   */
+  bool operator()(const std::string& filename, FileType type) const;
 
-private:
-    IDiagnostics* mDiag;
-    std::vector<std::string> mPatternTokens;
+ private:
+  IDiagnostics* mDiag;
+  std::vector<std::string> mPatternTokens;
 };
 
-} // namespace file
-} // namespace aapt
+}  // namespace file
+}  // namespace aapt
 
-#endif // AAPT_FILES_H
+#endif  // AAPT_FILES_H
diff --git a/tools/aapt2/util/ImmutableMap.h b/tools/aapt2/util/ImmutableMap.h
index b1f9e9d..6f48764 100644
--- a/tools/aapt2/util/ImmutableMap.h
+++ b/tools/aapt2/util/ImmutableMap.h
@@ -26,59 +26,57 @@
 
 template <typename TKey, typename TValue>
 class ImmutableMap {
-    static_assert(is_comparable<TKey, TKey>::value, "key is not comparable");
+  static_assert(is_comparable<TKey, TKey>::value, "key is not comparable");
 
-private:
-    std::vector<std::pair<TKey, TValue>> mData;
+ private:
+  std::vector<std::pair<TKey, TValue>> mData;
 
-    explicit ImmutableMap(std::vector<std::pair<TKey, TValue>> data) : mData(std::move(data)) {
+  explicit ImmutableMap(std::vector<std::pair<TKey, TValue>> data)
+      : mData(std::move(data)) {}
+
+ public:
+  using const_iterator = typename decltype(mData)::const_iterator;
+
+  ImmutableMap(ImmutableMap&&) = default;
+  ImmutableMap& operator=(ImmutableMap&&) = default;
+
+  ImmutableMap(const ImmutableMap&) = delete;
+  ImmutableMap& operator=(const ImmutableMap&) = delete;
+
+  static ImmutableMap<TKey, TValue> createPreSorted(
+      std::initializer_list<std::pair<TKey, TValue>> list) {
+    return ImmutableMap(
+        std::vector<std::pair<TKey, TValue>>(list.begin(), list.end()));
+  }
+
+  static ImmutableMap<TKey, TValue> createAndSort(
+      std::initializer_list<std::pair<TKey, TValue>> list) {
+    std::vector<std::pair<TKey, TValue>> data(list.begin(), list.end());
+    std::sort(data.begin(), data.end());
+    return ImmutableMap(std::move(data));
+  }
+
+  template <typename TKey2, typename = typename std::enable_if<
+                                is_comparable<TKey, TKey2>::value>::type>
+  const_iterator find(const TKey2& key) const {
+    auto cmp = [](const std::pair<TKey, TValue>& candidate,
+                  const TKey2& target) -> bool {
+      return candidate.first < target;
+    };
+
+    const_iterator endIter = end();
+    auto iter = std::lower_bound(mData.begin(), endIter, key, cmp);
+    if (iter == endIter || iter->first == key) {
+      return iter;
     }
+    return endIter;
+  }
 
-public:
-    using const_iterator = typename decltype(mData)::const_iterator;
+  const_iterator begin() const { return mData.begin(); }
 
-    ImmutableMap(ImmutableMap&&) = default;
-    ImmutableMap& operator=(ImmutableMap&&) = default;
-
-    ImmutableMap(const ImmutableMap&) = delete;
-    ImmutableMap& operator=(const ImmutableMap&) = delete;
-
-    static ImmutableMap<TKey, TValue> createPreSorted(
-            std::initializer_list<std::pair<TKey, TValue>> list) {
-        return ImmutableMap(std::vector<std::pair<TKey, TValue>>(list.begin(), list.end()));
-    }
-
-    static ImmutableMap<TKey, TValue> createAndSort(
-            std::initializer_list<std::pair<TKey, TValue>> list) {
-        std::vector<std::pair<TKey, TValue>> data(list.begin(), list.end());
-        std::sort(data.begin(), data.end());
-        return ImmutableMap(std::move(data));
-    }
-
-    template <typename TKey2,
-              typename = typename std::enable_if<is_comparable<TKey, TKey2>::value>::type>
-    const_iterator find(const TKey2& key) const {
-        auto cmp = [](const std::pair<TKey, TValue>& candidate, const TKey2& target) -> bool {
-            return candidate.first < target;
-        };
-
-        const_iterator endIter = end();
-        auto iter = std::lower_bound(mData.begin(), endIter, key, cmp);
-        if (iter == endIter || iter->first == key) {
-            return iter;
-        }
-        return endIter;
-    }
-
-    const_iterator begin() const {
-        return mData.begin();
-    }
-
-    const_iterator end() const {
-        return mData.end();
-    }
+  const_iterator end() const { return mData.end(); }
 };
 
-} // namespace aapt
+}  // namespace aapt
 
 #endif /* AAPT_UTIL_IMMUTABLEMAP_H */
diff --git a/tools/aapt2/util/Maybe.h b/tools/aapt2/util/Maybe.h
index 129f6d9..90a0198 100644
--- a/tools/aapt2/util/Maybe.h
+++ b/tools/aapt2/util/Maybe.h
@@ -32,303 +32,292 @@
  */
 template <typename T>
 class Maybe {
-public:
-    /**
-     * Construct Nothing.
-     */
-    Maybe();
+ public:
+  /**
+   * Construct Nothing.
+   */
+  Maybe();
 
-    ~Maybe();
+  ~Maybe();
 
-    Maybe(const Maybe& rhs);
+  Maybe(const Maybe& rhs);
 
-    template <typename U>
-    Maybe(const Maybe<U>& rhs);  // NOLINT(implicit)
+  template <typename U>
+  Maybe(const Maybe<U>& rhs);  // NOLINT(implicit)
 
-    Maybe(Maybe&& rhs);
+  Maybe(Maybe&& rhs);
 
-    template <typename U>
-    Maybe(Maybe<U>&& rhs);  // NOLINT(implicit)
+  template <typename U>
+  Maybe(Maybe<U>&& rhs);  // NOLINT(implicit)
 
-    Maybe& operator=(const Maybe& rhs);
+  Maybe& operator=(const Maybe& rhs);
 
-    template <typename U>
-    Maybe& operator=(const Maybe<U>& rhs);
+  template <typename U>
+  Maybe& operator=(const Maybe<U>& rhs);
 
-    Maybe& operator=(Maybe&& rhs);
+  Maybe& operator=(Maybe&& rhs);
 
-    template <typename U>
-    Maybe& operator=(Maybe<U>&& rhs);
+  template <typename U>
+  Maybe& operator=(Maybe<U>&& rhs);
 
-    /**
-     * Construct a Maybe holding a value.
-     */
-    Maybe(const T& value);  // NOLINT(implicit)
+  /**
+   * Construct a Maybe holding a value.
+   */
+  Maybe(const T& value);  // NOLINT(implicit)
 
-    /**
-     * Construct a Maybe holding a value.
-     */
-    Maybe(T&& value);  // NOLINT(implicit)
+  /**
+   * Construct a Maybe holding a value.
+   */
+  Maybe(T&& value);  // NOLINT(implicit)
 
-    /**
-     * True if this holds a value, false if
-     * it holds Nothing.
-     */
-    explicit operator bool() const;
+  /**
+   * True if this holds a value, false if
+   * it holds Nothing.
+   */
+  explicit operator bool() const;
 
-    /**
-     * Gets the value if one exists, or else
-     * panics.
-     */
-    T& value();
+  /**
+   * Gets the value if one exists, or else
+   * panics.
+   */
+  T& value();
 
-    /**
-     * Gets the value if one exists, or else
-     * panics.
-     */
-    const T& value() const;
+  /**
+   * Gets the value if one exists, or else
+   * panics.
+   */
+  const T& value() const;
 
-    T valueOrDefault(const T& def) const;
+  T valueOrDefault(const T& def) const;
 
-private:
-    template <typename U>
-    friend class Maybe;
+ private:
+  template <typename U>
+  friend class Maybe;
 
-    template <typename U>
-    Maybe& copy(const Maybe<U>& rhs);
+  template <typename U>
+  Maybe& copy(const Maybe<U>& rhs);
 
-    template <typename U>
-    Maybe& move(Maybe<U>&& rhs);
+  template <typename U>
+  Maybe& move(Maybe<U>&& rhs);
 
-    void destroy();
+  void destroy();
 
-    bool mNothing;
+  bool mNothing;
 
-    typename std::aligned_storage<sizeof(T), alignof(T)>::type mStorage;
+  typename std::aligned_storage<sizeof(T), alignof(T)>::type mStorage;
 };
 
 template <typename T>
-Maybe<T>::Maybe()
-: mNothing(true) {
-}
+Maybe<T>::Maybe() : mNothing(true) {}
 
 template <typename T>
 Maybe<T>::~Maybe() {
-    if (!mNothing) {
-        destroy();
-    }
+  if (!mNothing) {
+    destroy();
+  }
 }
 
 template <typename T>
-Maybe<T>::Maybe(const Maybe& rhs)
-: mNothing(rhs.mNothing) {
-    if (!rhs.mNothing) {
-        new (&mStorage) T(reinterpret_cast<const T&>(rhs.mStorage));
-    }
+Maybe<T>::Maybe(const Maybe& rhs) : mNothing(rhs.mNothing) {
+  if (!rhs.mNothing) {
+    new (&mStorage) T(reinterpret_cast<const T&>(rhs.mStorage));
+  }
 }
 
 template <typename T>
 template <typename U>
-Maybe<T>::Maybe(const Maybe<U>& rhs)
-: mNothing(rhs.mNothing) {
-    if (!rhs.mNothing) {
-        new (&mStorage) T(reinterpret_cast<const U&>(rhs.mStorage));
-    }
+Maybe<T>::Maybe(const Maybe<U>& rhs) : mNothing(rhs.mNothing) {
+  if (!rhs.mNothing) {
+    new (&mStorage) T(reinterpret_cast<const U&>(rhs.mStorage));
+  }
 }
 
 template <typename T>
-Maybe<T>::Maybe(Maybe&& rhs)
-: mNothing(rhs.mNothing) {
-    if (!rhs.mNothing) {
-        rhs.mNothing = true;
+Maybe<T>::Maybe(Maybe&& rhs) : mNothing(rhs.mNothing) {
+  if (!rhs.mNothing) {
+    rhs.mNothing = true;
 
-        // Move the value from rhs.
-        new (&mStorage) T(std::move(reinterpret_cast<T&>(rhs.mStorage)));
-        rhs.destroy();
-    }
+    // Move the value from rhs.
+    new (&mStorage) T(std::move(reinterpret_cast<T&>(rhs.mStorage)));
+    rhs.destroy();
+  }
 }
 
 template <typename T>
 template <typename U>
-Maybe<T>::Maybe(Maybe<U>&& rhs)
-: mNothing(rhs.mNothing) {
-    if (!rhs.mNothing) {
-        rhs.mNothing = true;
+Maybe<T>::Maybe(Maybe<U>&& rhs) : mNothing(rhs.mNothing) {
+  if (!rhs.mNothing) {
+    rhs.mNothing = true;
 
-        // Move the value from rhs.
-        new (&mStorage) T(std::move(reinterpret_cast<U&>(rhs.mStorage)));
-        rhs.destroy();
-    }
+    // Move the value from rhs.
+    new (&mStorage) T(std::move(reinterpret_cast<U&>(rhs.mStorage)));
+    rhs.destroy();
+  }
 }
 
 template <typename T>
 inline Maybe<T>& Maybe<T>::operator=(const Maybe& rhs) {
-    // Delegate to the actual assignment.
-    return copy(rhs);
+  // Delegate to the actual assignment.
+  return copy(rhs);
 }
 
 template <typename T>
 template <typename U>
 inline Maybe<T>& Maybe<T>::operator=(const Maybe<U>& rhs) {
-    return copy(rhs);
+  return copy(rhs);
 }
 
 template <typename T>
 template <typename U>
 Maybe<T>& Maybe<T>::copy(const Maybe<U>& rhs) {
-    if (mNothing && rhs.mNothing) {
-        // Both are nothing, nothing to do.
-        return *this;
-    } else if  (!mNothing && !rhs.mNothing) {
-        // We both are something, so assign rhs to us.
-        reinterpret_cast<T&>(mStorage) = reinterpret_cast<const U&>(rhs.mStorage);
-    } else if (mNothing) {
-        // We are nothing but rhs is something.
-        mNothing = rhs.mNothing;
-
-        // Copy the value from rhs.
-        new (&mStorage) T(reinterpret_cast<const U&>(rhs.mStorage));
-    } else {
-        // We are something but rhs is nothing, so destroy our value.
-        mNothing = rhs.mNothing;
-        destroy();
-    }
+  if (mNothing && rhs.mNothing) {
+    // Both are nothing, nothing to do.
     return *this;
+  } else if (!mNothing && !rhs.mNothing) {
+    // We both are something, so assign rhs to us.
+    reinterpret_cast<T&>(mStorage) = reinterpret_cast<const U&>(rhs.mStorage);
+  } else if (mNothing) {
+    // We are nothing but rhs is something.
+    mNothing = rhs.mNothing;
+
+    // Copy the value from rhs.
+    new (&mStorage) T(reinterpret_cast<const U&>(rhs.mStorage));
+  } else {
+    // We are something but rhs is nothing, so destroy our value.
+    mNothing = rhs.mNothing;
+    destroy();
+  }
+  return *this;
 }
 
 template <typename T>
 inline Maybe<T>& Maybe<T>::operator=(Maybe&& rhs) {
-    // Delegate to the actual assignment.
-    return move(std::forward<Maybe<T>>(rhs));
+  // Delegate to the actual assignment.
+  return move(std::forward<Maybe<T>>(rhs));
 }
 
 template <typename T>
 template <typename U>
 inline Maybe<T>& Maybe<T>::operator=(Maybe<U>&& rhs) {
-    return move(std::forward<Maybe<U>>(rhs));
+  return move(std::forward<Maybe<U>>(rhs));
 }
 
 template <typename T>
 template <typename U>
 Maybe<T>& Maybe<T>::move(Maybe<U>&& rhs) {
-    if (mNothing && rhs.mNothing) {
-        // Both are nothing, nothing to do.
-        return *this;
-    } else if  (!mNothing && !rhs.mNothing) {
-        // We both are something, so move assign rhs to us.
-        rhs.mNothing = true;
-        reinterpret_cast<T&>(mStorage) = std::move(reinterpret_cast<U&>(rhs.mStorage));
-        rhs.destroy();
-    } else if (mNothing) {
-        // We are nothing but rhs is something.
-        mNothing = false;
-        rhs.mNothing = true;
-
-        // Move the value from rhs.
-        new (&mStorage) T(std::move(reinterpret_cast<U&>(rhs.mStorage)));
-        rhs.destroy();
-    } else {
-        // We are something but rhs is nothing, so destroy our value.
-        mNothing = true;
-        destroy();
-    }
+  if (mNothing && rhs.mNothing) {
+    // Both are nothing, nothing to do.
     return *this;
+  } else if (!mNothing && !rhs.mNothing) {
+    // We both are something, so move assign rhs to us.
+    rhs.mNothing = true;
+    reinterpret_cast<T&>(mStorage) =
+        std::move(reinterpret_cast<U&>(rhs.mStorage));
+    rhs.destroy();
+  } else if (mNothing) {
+    // We are nothing but rhs is something.
+    mNothing = false;
+    rhs.mNothing = true;
+
+    // Move the value from rhs.
+    new (&mStorage) T(std::move(reinterpret_cast<U&>(rhs.mStorage)));
+    rhs.destroy();
+  } else {
+    // We are something but rhs is nothing, so destroy our value.
+    mNothing = true;
+    destroy();
+  }
+  return *this;
 }
 
 template <typename T>
-Maybe<T>::Maybe(const T& value)
-: mNothing(false) {
-    new (&mStorage) T(value);
+Maybe<T>::Maybe(const T& value) : mNothing(false) {
+  new (&mStorage) T(value);
 }
 
 template <typename T>
-Maybe<T>::Maybe(T&& value)
-: mNothing(false) {
-    new (&mStorage) T(std::forward<T>(value));
+Maybe<T>::Maybe(T&& value) : mNothing(false) {
+  new (&mStorage) T(std::forward<T>(value));
 }
 
 template <typename T>
 Maybe<T>::operator bool() const {
-    return !mNothing;
+  return !mNothing;
 }
 
 template <typename T>
 T& Maybe<T>::value() {
-    assert(!mNothing && "Maybe<T>::value() called on Nothing");
-    return reinterpret_cast<T&>(mStorage);
+  assert(!mNothing && "Maybe<T>::value() called on Nothing");
+  return reinterpret_cast<T&>(mStorage);
 }
 
 template <typename T>
 const T& Maybe<T>::value() const {
-    assert(!mNothing && "Maybe<T>::value() called on Nothing");
-    return reinterpret_cast<const T&>(mStorage);
+  assert(!mNothing && "Maybe<T>::value() called on Nothing");
+  return reinterpret_cast<const T&>(mStorage);
 }
 
 template <typename T>
 T Maybe<T>::valueOrDefault(const T& def) const {
-    if (mNothing) {
-        return def;
-    }
-    return reinterpret_cast<const T&>(mStorage);
+  if (mNothing) {
+    return def;
+  }
+  return reinterpret_cast<const T&>(mStorage);
 }
 
 template <typename T>
 void Maybe<T>::destroy() {
-    reinterpret_cast<T&>(mStorage).~T();
+  reinterpret_cast<T&>(mStorage).~T();
 }
 
 template <typename T>
 inline Maybe<typename std::remove_reference<T>::type> make_value(T&& value) {
-    return Maybe<typename std::remove_reference<T>::type>(std::forward<T>(value));
+  return Maybe<typename std::remove_reference<T>::type>(std::forward<T>(value));
 }
 
 template <typename T>
 inline Maybe<T> make_nothing() {
-    return Maybe<T>();
+  return Maybe<T>();
 }
 
 /**
- * Define the == operator between Maybe<T> and Maybe<U> only if the operator T == U is defined.
- * That way the compiler will show an error at the callsite when comparing two Maybe<> objects
+ * Define the == operator between Maybe<T> and Maybe<U> only if the operator T
+ * == U is defined.
+ * That way the compiler will show an error at the callsite when comparing two
+ * Maybe<> objects
  * whose inner types can't be compared.
  */
 template <typename T, typename U>
-typename std::enable_if<
-        has_eq_op<T, U>::value,
-        bool
->::type operator==(const Maybe<T>& a, const Maybe<U>& b) {
-    if (a && b) {
-        return a.value() == b.value();
-    } else if (!a && !b) {
-        return true;
-    }
-    return false;
+typename std::enable_if<has_eq_op<T, U>::value, bool>::type operator==(
+    const Maybe<T>& a, const Maybe<U>& b) {
+  if (a && b) {
+    return a.value() == b.value();
+  } else if (!a && !b) {
+    return true;
+  }
+  return false;
 }
 
 /**
  * Same as operator== but negated.
  */
 template <typename T, typename U>
-typename std::enable_if<
-        has_eq_op<T, U>::value,
-        bool
->::type operator!=(const Maybe<T>& a, const Maybe<U>& b) {
-    return !(a == b);
+typename std::enable_if<has_eq_op<T, U>::value, bool>::type operator!=(
+    const Maybe<T>& a, const Maybe<U>& b) {
+  return !(a == b);
 }
 
 template <typename T, typename U>
-typename std::enable_if<
-        has_lt_op<T, U>::value,
-        bool
->::type operator<(const Maybe<T>& a, const Maybe<U>& b) {
-    if (a && b) {
-        return a.value() < b.value();
-    } else if (!a && !b) {
-        return false;
-    }
-    return !a;
+typename std::enable_if<has_lt_op<T, U>::value, bool>::type operator<(
+    const Maybe<T>& a, const Maybe<U>& b) {
+  if (a && b) {
+    return a.value() < b.value();
+  } else if (!a && !b) {
+    return false;
+  }
+  return !a;
 }
 
-} // namespace aapt
+}  // namespace aapt
 
-#endif // AAPT_MAYBE_H
+#endif  // AAPT_MAYBE_H
diff --git a/tools/aapt2/util/StringPiece.h b/tools/aapt2/util/StringPiece.h
index 266c003..de93822 100644
--- a/tools/aapt2/util/StringPiece.h
+++ b/tools/aapt2/util/StringPiece.h
@@ -17,11 +17,11 @@
 #ifndef AAPT_STRING_PIECE_H
 #define AAPT_STRING_PIECE_H
 
-#include <ostream>
-#include <string>
 #include <utils/JenkinsHash.h>
 #include <utils/String8.h>
 #include <utils/Unicode.h>
+#include <ostream>
+#include <string>
 
 namespace aapt {
 
@@ -35,45 +35,46 @@
  */
 template <typename TChar>
 class BasicStringPiece {
-public:
-    using const_iterator = const TChar*;
-    using difference_type = size_t;
+ public:
+  using const_iterator = const TChar*;
+  using difference_type = size_t;
 
-    // End of string marker.
-    constexpr static const size_t npos = static_cast<size_t>(-1);
+  // End of string marker.
+  constexpr static const size_t npos = static_cast<size_t>(-1);
 
-    BasicStringPiece();
-    BasicStringPiece(const BasicStringPiece<TChar>& str);
-    BasicStringPiece(const std::basic_string<TChar>& str);  // NOLINT(implicit)
-    BasicStringPiece(const TChar* str);  // NOLINT(implicit)
-    BasicStringPiece(const TChar* str, size_t len);
+  BasicStringPiece();
+  BasicStringPiece(const BasicStringPiece<TChar>& str);
+  BasicStringPiece(const std::basic_string<TChar>& str);  // NOLINT(implicit)
+  BasicStringPiece(const TChar* str);                     // NOLINT(implicit)
+  BasicStringPiece(const TChar* str, size_t len);
 
-    BasicStringPiece<TChar>& operator=(const BasicStringPiece<TChar>& rhs);
-    BasicStringPiece<TChar>& assign(const TChar* str, size_t len);
+  BasicStringPiece<TChar>& operator=(const BasicStringPiece<TChar>& rhs);
+  BasicStringPiece<TChar>& assign(const TChar* str, size_t len);
 
-    BasicStringPiece<TChar> substr(size_t start, size_t len = npos) const;
-    BasicStringPiece<TChar> substr(BasicStringPiece<TChar>::const_iterator begin,
-                                   BasicStringPiece<TChar>::const_iterator end) const;
+  BasicStringPiece<TChar> substr(size_t start, size_t len = npos) const;
+  BasicStringPiece<TChar> substr(
+      BasicStringPiece<TChar>::const_iterator begin,
+      BasicStringPiece<TChar>::const_iterator end) const;
 
-    const TChar* data() const;
-    size_t length() const;
-    size_t size() const;
-    bool empty() const;
-    std::basic_string<TChar> toString() const;
+  const TChar* data() const;
+  size_t length() const;
+  size_t size() const;
+  bool empty() const;
+  std::basic_string<TChar> toString() const;
 
-    bool contains(const BasicStringPiece<TChar>& rhs) const;
-    int compare(const BasicStringPiece<TChar>& rhs) const;
-    bool operator<(const BasicStringPiece<TChar>& rhs) const;
-    bool operator>(const BasicStringPiece<TChar>& rhs) const;
-    bool operator==(const BasicStringPiece<TChar>& rhs) const;
-    bool operator!=(const BasicStringPiece<TChar>& rhs) const;
+  bool contains(const BasicStringPiece<TChar>& rhs) const;
+  int compare(const BasicStringPiece<TChar>& rhs) const;
+  bool operator<(const BasicStringPiece<TChar>& rhs) const;
+  bool operator>(const BasicStringPiece<TChar>& rhs) const;
+  bool operator==(const BasicStringPiece<TChar>& rhs) const;
+  bool operator!=(const BasicStringPiece<TChar>& rhs) const;
 
-    const_iterator begin() const;
-    const_iterator end() const;
+  const_iterator begin() const;
+  const_iterator end() const;
 
-private:
-    const TChar* mData;
-    size_t mLength;
+ private:
+  const TChar* mData;
+  size_t mLength;
 };
 
 using StringPiece = BasicStringPiece<char>;
@@ -87,198 +88,210 @@
 constexpr const size_t BasicStringPiece<TChar>::npos;
 
 template <typename TChar>
-inline BasicStringPiece<TChar>::BasicStringPiece() : mData(nullptr) , mLength(0) {
-}
+inline BasicStringPiece<TChar>::BasicStringPiece()
+    : mData(nullptr), mLength(0) {}
 
 template <typename TChar>
-inline BasicStringPiece<TChar>::BasicStringPiece(const BasicStringPiece<TChar>& str) :
-        mData(str.mData), mLength(str.mLength) {
-}
+inline BasicStringPiece<TChar>::BasicStringPiece(
+    const BasicStringPiece<TChar>& str)
+    : mData(str.mData), mLength(str.mLength) {}
 
 template <typename TChar>
-inline BasicStringPiece<TChar>::BasicStringPiece(const std::basic_string<TChar>& str) :
-        mData(str.data()), mLength(str.length()) {
-}
+inline BasicStringPiece<TChar>::BasicStringPiece(
+    const std::basic_string<TChar>& str)
+    : mData(str.data()), mLength(str.length()) {}
 
 template <>
-inline BasicStringPiece<char>::BasicStringPiece(const char* str) :
-        mData(str), mLength(str != nullptr ? strlen(str) : 0) {
-}
+inline BasicStringPiece<char>::BasicStringPiece(const char* str)
+    : mData(str), mLength(str != nullptr ? strlen(str) : 0) {}
 
 template <>
-inline BasicStringPiece<char16_t>::BasicStringPiece(const char16_t* str) :
-        mData(str), mLength(str != nullptr ? strlen16(str) : 0) {
-}
+inline BasicStringPiece<char16_t>::BasicStringPiece(const char16_t* str)
+    : mData(str), mLength(str != nullptr ? strlen16(str) : 0) {}
 
 template <typename TChar>
-inline BasicStringPiece<TChar>::BasicStringPiece(const TChar* str, size_t len) :
-        mData(str), mLength(len) {
-}
+inline BasicStringPiece<TChar>::BasicStringPiece(const TChar* str, size_t len)
+    : mData(str), mLength(len) {}
 
 template <typename TChar>
 inline BasicStringPiece<TChar>& BasicStringPiece<TChar>::operator=(
-        const BasicStringPiece<TChar>& rhs) {
-    mData = rhs.mData;
-    mLength = rhs.mLength;
-    return *this;
+    const BasicStringPiece<TChar>& rhs) {
+  mData = rhs.mData;
+  mLength = rhs.mLength;
+  return *this;
 }
 
 template <typename TChar>
-inline BasicStringPiece<TChar>& BasicStringPiece<TChar>::assign(const TChar* str, size_t len) {
-    mData = str;
-    mLength = len;
-    return *this;
-}
-
-
-template <typename TChar>
-inline BasicStringPiece<TChar> BasicStringPiece<TChar>::substr(size_t start, size_t len) const {
-    if (len == npos) {
-        len = mLength - start;
-    }
-
-    if (start > mLength || start + len > mLength) {
-        return BasicStringPiece<TChar>();
-    }
-    return BasicStringPiece<TChar>(mData + start, len);
+inline BasicStringPiece<TChar>& BasicStringPiece<TChar>::assign(
+    const TChar* str, size_t len) {
+  mData = str;
+  mLength = len;
+  return *this;
 }
 
 template <typename TChar>
 inline BasicStringPiece<TChar> BasicStringPiece<TChar>::substr(
-        BasicStringPiece<TChar>::const_iterator begin,
-        BasicStringPiece<TChar>::const_iterator end) const {
-    return BasicStringPiece<TChar>(begin, end - begin);
+    size_t start, size_t len) const {
+  if (len == npos) {
+    len = mLength - start;
+  }
+
+  if (start > mLength || start + len > mLength) {
+    return BasicStringPiece<TChar>();
+  }
+  return BasicStringPiece<TChar>(mData + start, len);
+}
+
+template <typename TChar>
+inline BasicStringPiece<TChar> BasicStringPiece<TChar>::substr(
+    BasicStringPiece<TChar>::const_iterator begin,
+    BasicStringPiece<TChar>::const_iterator end) const {
+  return BasicStringPiece<TChar>(begin, end - begin);
 }
 
 template <typename TChar>
 inline const TChar* BasicStringPiece<TChar>::data() const {
-    return mData;
+  return mData;
 }
 
 template <typename TChar>
 inline size_t BasicStringPiece<TChar>::length() const {
-    return mLength;
+  return mLength;
 }
 
 template <typename TChar>
 inline size_t BasicStringPiece<TChar>::size() const {
-    return mLength;
+  return mLength;
 }
 
 template <typename TChar>
 inline bool BasicStringPiece<TChar>::empty() const {
-    return mLength == 0;
+  return mLength == 0;
 }
 
 template <typename TChar>
 inline std::basic_string<TChar> BasicStringPiece<TChar>::toString() const {
-    return std::basic_string<TChar>(mData, mLength);
+  return std::basic_string<TChar>(mData, mLength);
 }
 
 template <>
-inline bool BasicStringPiece<char>::contains(const BasicStringPiece<char>& rhs) const {
-    if (!mData || !rhs.mData) {
-        return false;
-    }
-    if (rhs.mLength > mLength) {
-        return false;
-    }
-    return strstr(mData, rhs.mData) != nullptr;
+inline bool BasicStringPiece<char>::contains(
+    const BasicStringPiece<char>& rhs) const {
+  if (!mData || !rhs.mData) {
+    return false;
+  }
+  if (rhs.mLength > mLength) {
+    return false;
+  }
+  return strstr(mData, rhs.mData) != nullptr;
 }
 
 template <>
-inline int BasicStringPiece<char>::compare(const BasicStringPiece<char>& rhs) const {
-    const char nullStr = '\0';
-    const char* b1 = mData != nullptr ? mData : &nullStr;
-    const char* e1 = b1 + mLength;
-    const char* b2 = rhs.mData != nullptr ? rhs.mData : &nullStr;
-    const char* e2 = b2 + rhs.mLength;
+inline int BasicStringPiece<char>::compare(
+    const BasicStringPiece<char>& rhs) const {
+  const char nullStr = '\0';
+  const char* b1 = mData != nullptr ? mData : &nullStr;
+  const char* e1 = b1 + mLength;
+  const char* b2 = rhs.mData != nullptr ? rhs.mData : &nullStr;
+  const char* e2 = b2 + rhs.mLength;
 
-    while (b1 < e1 && b2 < e2) {
-        const int d = static_cast<int>(*b1++) - static_cast<int>(*b2++);
-        if (d) {
-            return d;
-        }
+  while (b1 < e1 && b2 < e2) {
+    const int d = static_cast<int>(*b1++) - static_cast<int>(*b2++);
+    if (d) {
+      return d;
     }
-    return static_cast<int>(mLength - rhs.mLength);
+  }
+  return static_cast<int>(mLength - rhs.mLength);
 }
 
-inline ::std::ostream& operator<<(::std::ostream& out, const BasicStringPiece<char16_t>& str) {
-    android::String8 utf8(str.data(), str.size());
-    return out.write(utf8.string(), utf8.size());
+inline ::std::ostream& operator<<(::std::ostream& out,
+                                  const BasicStringPiece<char16_t>& str) {
+  android::String8 utf8(str.data(), str.size());
+  return out.write(utf8.string(), utf8.size());
 }
 
 template <>
-inline bool BasicStringPiece<char16_t>::contains(const BasicStringPiece<char16_t>& rhs) const {
-    if (!mData || !rhs.mData) {
-        return false;
-    }
-    if (rhs.mLength > mLength) {
-        return false;
-    }
-    return strstr16(mData, rhs.mData) != nullptr;
+inline bool BasicStringPiece<char16_t>::contains(
+    const BasicStringPiece<char16_t>& rhs) const {
+  if (!mData || !rhs.mData) {
+    return false;
+  }
+  if (rhs.mLength > mLength) {
+    return false;
+  }
+  return strstr16(mData, rhs.mData) != nullptr;
 }
 
 template <>
-inline int BasicStringPiece<char16_t>::compare(const BasicStringPiece<char16_t>& rhs) const {
-    const char16_t nullStr = u'\0';
-    const char16_t* b1 = mData != nullptr ? mData : &nullStr;
-    const char16_t* b2 = rhs.mData != nullptr ? rhs.mData : &nullStr;
-    return strzcmp16(b1, mLength, b2, rhs.mLength);
+inline int BasicStringPiece<char16_t>::compare(
+    const BasicStringPiece<char16_t>& rhs) const {
+  const char16_t nullStr = u'\0';
+  const char16_t* b1 = mData != nullptr ? mData : &nullStr;
+  const char16_t* b2 = rhs.mData != nullptr ? rhs.mData : &nullStr;
+  return strzcmp16(b1, mLength, b2, rhs.mLength);
 }
 
 template <typename TChar>
-inline bool BasicStringPiece<TChar>::operator<(const BasicStringPiece<TChar>& rhs) const {
-    return compare(rhs) < 0;
+inline bool BasicStringPiece<TChar>::operator<(
+    const BasicStringPiece<TChar>& rhs) const {
+  return compare(rhs) < 0;
 }
 
 template <typename TChar>
-inline bool BasicStringPiece<TChar>::operator>(const BasicStringPiece<TChar>& rhs) const {
-    return compare(rhs) > 0;
+inline bool BasicStringPiece<TChar>::operator>(
+    const BasicStringPiece<TChar>& rhs) const {
+  return compare(rhs) > 0;
 }
 
 template <typename TChar>
-inline bool BasicStringPiece<TChar>::operator==(const BasicStringPiece<TChar>& rhs) const {
-    return compare(rhs) == 0;
+inline bool BasicStringPiece<TChar>::operator==(
+    const BasicStringPiece<TChar>& rhs) const {
+  return compare(rhs) == 0;
 }
 
 template <typename TChar>
-inline bool BasicStringPiece<TChar>::operator!=(const BasicStringPiece<TChar>& rhs) const {
-    return compare(rhs) != 0;
+inline bool BasicStringPiece<TChar>::operator!=(
+    const BasicStringPiece<TChar>& rhs) const {
+  return compare(rhs) != 0;
 }
 
 template <typename TChar>
-inline typename BasicStringPiece<TChar>::const_iterator BasicStringPiece<TChar>::begin() const {
-    return mData;
+inline typename BasicStringPiece<TChar>::const_iterator
+BasicStringPiece<TChar>::begin() const {
+  return mData;
 }
 
 template <typename TChar>
-inline typename BasicStringPiece<TChar>::const_iterator BasicStringPiece<TChar>::end() const {
-    return mData + mLength;
+inline typename BasicStringPiece<TChar>::const_iterator
+BasicStringPiece<TChar>::end() const {
+  return mData + mLength;
 }
 
-inline ::std::ostream& operator<<(::std::ostream& out, const BasicStringPiece<char>& str) {
-    return out.write(str.data(), str.size());
+inline ::std::ostream& operator<<(::std::ostream& out,
+                                  const BasicStringPiece<char>& str) {
+  return out.write(str.data(), str.size());
 }
 
-} // namespace aapt
+}  // namespace aapt
 
-inline ::std::ostream& operator<<(::std::ostream& out, const std::u16string& str) {
-    android::String8 utf8(str.data(), str.size());
-    return out.write(utf8.string(), utf8.size());
+inline ::std::ostream& operator<<(::std::ostream& out,
+                                  const std::u16string& str) {
+  android::String8 utf8(str.data(), str.size());
+  return out.write(utf8.string(), utf8.size());
 }
 
 namespace std {
 
 template <typename TChar>
 struct hash<aapt::BasicStringPiece<TChar>> {
-    size_t operator()(const aapt::BasicStringPiece<TChar>& str) const {
-        uint32_t hashCode = android::JenkinsHashMixBytes(
-                0, reinterpret_cast<const uint8_t*>(str.data()), sizeof(TChar) * str.size());
-        return static_cast<size_t>(hashCode);
-    }
+  size_t operator()(const aapt::BasicStringPiece<TChar>& str) const {
+    uint32_t hashCode = android::JenkinsHashMixBytes(
+        0, reinterpret_cast<const uint8_t*>(str.data()),
+        sizeof(TChar) * str.size());
+    return static_cast<size_t>(hashCode);
+  }
 };
 
-} // namespace std
+}  // namespace std
 
-#endif // AAPT_STRING_PIECE_H
+#endif  // AAPT_STRING_PIECE_H
diff --git a/tools/aapt2/util/TypeTraits.h b/tools/aapt2/util/TypeTraits.h
index 76c13d6..b6539ed 100644
--- a/tools/aapt2/util/TypeTraits.h
+++ b/tools/aapt2/util/TypeTraits.h
@@ -21,19 +21,20 @@
 
 namespace aapt {
 
-#define DEFINE_HAS_BINARY_OP_TRAIT(name, op) \
-    template <typename T, typename U> \
-    struct name { \
-        template <typename V, typename W> \
-        static constexpr decltype(std::declval<V>() op std::declval<W>(), bool()) test(int) { \
-        return true; \
-    } \
-    template <typename V, typename W> \
-    static constexpr bool test(...) { \
-        return false; \
-    } \
-    static constexpr bool value = test<T, U>(int()); \
-}
+#define DEFINE_HAS_BINARY_OP_TRAIT(name, op)                                  \
+  template <typename T, typename U>                                           \
+  struct name {                                                               \
+    template <typename V, typename W>                                         \
+    static constexpr decltype(std::declval<V>() op std::declval<W>(), bool()) \
+    test(int) {                                                               \
+      return true;                                                            \
+    }                                                                         \
+    template <typename V, typename W>                                         \
+    static constexpr bool test(...) {                                         \
+      return false;                                                           \
+    }                                                                         \
+    static constexpr bool value = test<T, U>(int());                          \
+  }
 
 DEFINE_HAS_BINARY_OP_TRAIT(has_eq_op, ==);
 DEFINE_HAS_BINARY_OP_TRAIT(has_lt_op, <);
@@ -43,9 +44,10 @@
  */
 template <typename T, typename U>
 struct is_comparable {
-    static constexpr bool value = has_eq_op<T, U>::value && has_lt_op<T, U>::value;
+  static constexpr bool value =
+      has_eq_op<T, U>::value && has_lt_op<T, U>::value;
 };
 
-} // namespace aapt
+}  // namespace aapt
 
 #endif /* AAPT_UTIL_TYPETRAITS_H */
diff --git a/tools/aapt2/util/Util.h b/tools/aapt2/util/Util.h
index 9c88354..077e193 100644
--- a/tools/aapt2/util/Util.h
+++ b/tools/aapt2/util/Util.h
@@ -56,16 +56,14 @@
  * UTF-16 isspace(). It basically checks for lower range characters that are
  * whitespace.
  */
-inline bool isspace16(char16_t c) {
-    return c < 0x0080 && isspace(c);
-}
+inline bool isspace16(char16_t c) { return c < 0x0080 && isspace(c); }
 
 /**
  * Returns an iterator to the first character that is not alpha-numeric and that
  * is not in the allowedChars set.
  */
-StringPiece::const_iterator findNonAlphaNumericAndNotInSet(const StringPiece& str,
-                                                           const StringPiece& allowedChars);
+StringPiece::const_iterator findNonAlphaNumericAndNotInSet(
+    const StringPiece& str, const StringPiece& allowedChars);
 
 /**
  * Tests that the string is a valid Java class name.
@@ -78,7 +76,8 @@
 bool isJavaPackageName(const StringPiece& str);
 
 /**
- * Converts the class name to a fully qualified class name from the given `package`. Ex:
+ * Converts the class name to a fully qualified class name from the given
+ * `package`. Ex:
  *
  * asdf         --> package.asdf
  * .asdf        --> package.asdf
@@ -89,111 +88,114 @@
                                               const StringPiece& className);
 
 /**
- * Makes a std::unique_ptr<> with the template parameter inferred by the compiler.
+ * Makes a std::unique_ptr<> with the template parameter inferred by the
+ * compiler.
  * This will be present in C++14 and can be removed then.
  */
 template <typename T, class... Args>
 std::unique_ptr<T> make_unique(Args&&... args) {
-    return std::unique_ptr<T>(new T{std::forward<Args>(args)...});
+  return std::unique_ptr<T>(new T{std::forward<Args>(args)...});
 }
 
 /**
- * Writes a set of items to the std::ostream, joining the times with the provided
+ * Writes a set of items to the std::ostream, joining the times with the
+ * provided
  * separator.
  */
 template <typename Container>
-::std::function<::std::ostream&(::std::ostream&)> joiner(const Container& container,
-                                                         const char* sep) {
-    using std::begin;
-    using std::end;
-    const auto beginIter = begin(container);
-    const auto endIter = end(container);
-    return [beginIter, endIter, sep](::std::ostream& out) -> ::std::ostream& {
-        for (auto iter = beginIter; iter != endIter; ++iter) {
-            if (iter != beginIter) {
-                out << sep;
-            }
-            out << *iter;
-        }
-        return out;
-    };
+::std::function<::std::ostream&(::std::ostream&)> joiner(
+    const Container& container, const char* sep) {
+  using std::begin;
+  using std::end;
+  const auto beginIter = begin(container);
+  const auto endIter = end(container);
+  return [beginIter, endIter, sep](::std::ostream& out) -> ::std::ostream& {
+    for (auto iter = beginIter; iter != endIter; ++iter) {
+      if (iter != beginIter) {
+        out << sep;
+      }
+      out << *iter;
+    }
+    return out;
+  };
 }
 
-inline ::std::function<::std::ostream&(::std::ostream&)> formatSize(size_t size) {
-    return [size](::std::ostream& out) -> ::std::ostream& {
-        constexpr size_t K = 1024u;
-        constexpr size_t M = K * K;
-        constexpr size_t G = M * K;
-        if (size < K) {
-            out << size << "B";
-        } else if (size < M) {
-            out << (double(size) / K) << " KiB";
-        } else if (size < G) {
-            out << (double(size) / M) << " MiB";
-        } else {
-            out << (double(size) / G) << " GiB";
-        }
-        return out;
-    };
+inline ::std::function<::std::ostream&(::std::ostream&)> formatSize(
+    size_t size) {
+  return [size](::std::ostream& out) -> ::std::ostream& {
+    constexpr size_t K = 1024u;
+    constexpr size_t M = K * K;
+    constexpr size_t G = M * K;
+    if (size < K) {
+      out << size << "B";
+    } else if (size < M) {
+      out << (double(size) / K) << " KiB";
+    } else if (size < G) {
+      out << (double(size) / M) << " MiB";
+    } else {
+      out << (double(size) / G) << " GiB";
+    }
+    return out;
+  };
 }
 
 /**
- * Helper method to extract a UTF-16 string from a StringPool. If the string is stored as UTF-8,
+ * Helper method to extract a UTF-16 string from a StringPool. If the string is
+ * stored as UTF-8,
  * the conversion to UTF-16 happens within ResStringPool.
  */
 StringPiece16 getString16(const android::ResStringPool& pool, size_t idx);
 
 /**
- * Helper method to extract a UTF-8 string from a StringPool. If the string is stored as UTF-16,
- * the conversion from UTF-16 to UTF-8 does not happen in ResStringPool and is done by this method,
- * which maintains no state or cache. This means we must return an std::string copy.
+ * Helper method to extract a UTF-8 string from a StringPool. If the string is
+ * stored as UTF-16,
+ * the conversion from UTF-16 to UTF-8 does not happen in ResStringPool and is
+ * done by this method,
+ * which maintains no state or cache. This means we must return an std::string
+ * copy.
  */
 std::string getString(const android::ResStringPool& pool, size_t idx);
 
 /**
- * Checks that the Java string format contains no non-positional arguments (arguments without
- * explicitly specifying an index) when there are more than one argument. This is an error
- * because translations may rearrange the order of the arguments in the string, which will
+ * Checks that the Java string format contains no non-positional arguments
+ * (arguments without
+ * explicitly specifying an index) when there are more than one argument. This
+ * is an error
+ * because translations may rearrange the order of the arguments in the string,
+ * which will
  * break the string interpolation.
  */
 bool verifyJavaStringFormat(const StringPiece& str);
 
 class StringBuilder {
-public:
-    StringBuilder& append(const StringPiece& str);
-    const std::string& str() const;
-    const std::string& error() const;
+ public:
+  StringBuilder& append(const StringPiece& str);
+  const std::string& str() const;
+  const std::string& error() const;
 
-    // When building StyledStrings, we need UTF-16 indices into the string,
-    // which is what the Java layer expects when dealing with java String.charAt().
-    size_t utf16Len() const;
+  // When building StyledStrings, we need UTF-16 indices into the string,
+  // which is what the Java layer expects when dealing with java
+  // String.charAt().
+  size_t utf16Len() const;
 
-    operator bool() const;
+  operator bool() const;
 
-private:
-    std::string mStr;
-    size_t mUtf16Len = 0;
-    bool mQuote = false;
-    bool mTrailingSpace = false;
-    bool mLastCharWasEscape = false;
-    std::string mError;
+ private:
+  std::string mStr;
+  size_t mUtf16Len = 0;
+  bool mQuote = false;
+  bool mTrailingSpace = false;
+  bool mLastCharWasEscape = false;
+  std::string mError;
 };
 
-inline const std::string& StringBuilder::str() const {
-    return mStr;
-}
+inline const std::string& StringBuilder::str() const { return mStr; }
 
-inline const std::string& StringBuilder::error() const {
-    return mError;
-}
+inline const std::string& StringBuilder::error() const { return mError; }
 
-inline size_t StringBuilder::utf16Len() const {
-    return mUtf16Len;
-}
+inline size_t StringBuilder::utf16Len() const { return mUtf16Len; }
 
-inline StringBuilder::operator bool() const {
-    return mError.empty();
-}
+inline StringBuilder::operator bool() const { return mError.empty(); }
 
 /**
  * Converts a UTF8 string to a UTF16 string.
@@ -216,65 +218,51 @@
  * any memory on the heap nor use standard containers.
  */
 class Tokenizer {
-public:
-    class iterator {
-    public:
-        iterator(const iterator&) = default;
-        iterator& operator=(const iterator&) = default;
+ public:
+  class iterator {
+   public:
+    iterator(const iterator&) = default;
+    iterator& operator=(const iterator&) = default;
 
-        iterator& operator++();
+    iterator& operator++();
 
-        StringPiece operator*() {
-            return mToken;
-        }
-        bool operator==(const iterator& rhs) const;
-        bool operator!=(const iterator& rhs) const;
+    StringPiece operator*() { return mToken; }
+    bool operator==(const iterator& rhs) const;
+    bool operator!=(const iterator& rhs) const;
 
-    private:
-        friend class Tokenizer;
+   private:
+    friend class Tokenizer;
 
-        iterator(StringPiece s, char sep, StringPiece tok, bool end);
+    iterator(StringPiece s, char sep, StringPiece tok, bool end);
 
-        StringPiece mStr;
-        char mSeparator;
-        StringPiece mToken;
-        bool mEnd;
-    };
+    StringPiece mStr;
+    char mSeparator;
+    StringPiece mToken;
+    bool mEnd;
+  };
 
-    Tokenizer(StringPiece str, char sep);
+  Tokenizer(StringPiece str, char sep);
 
-    iterator begin() {
-        return mBegin;
-    }
+  iterator begin() { return mBegin; }
 
-    iterator end() {
-        return mEnd;
-    }
+  iterator end() { return mEnd; }
 
-private:
-    const iterator mBegin;
-    const iterator mEnd;
+ private:
+  const iterator mBegin;
+  const iterator mEnd;
 };
 
 inline Tokenizer tokenize(const StringPiece& str, char sep) {
-    return Tokenizer(str, sep);
+  return Tokenizer(str, sep);
 }
 
-inline uint16_t hostToDevice16(uint16_t value) {
-    return htods(value);
-}
+inline uint16_t hostToDevice16(uint16_t value) { return htods(value); }
 
-inline uint32_t hostToDevice32(uint32_t value) {
-    return htodl(value);
-}
+inline uint32_t hostToDevice32(uint32_t value) { return htodl(value); }
 
-inline uint16_t deviceToHost16(uint16_t value) {
-    return dtohs(value);
-}
+inline uint16_t deviceToHost16(uint16_t value) { return dtohs(value); }
 
-inline uint32_t deviceToHost32(uint32_t value) {
-    return dtohl(value);
-}
+inline uint32_t deviceToHost32(uint32_t value) { return dtohl(value); }
 
 /**
  * Given a path like: res/xml-sw600dp/foo.xml
@@ -288,17 +276,19 @@
 bool extractResFilePathParts(const StringPiece& path, StringPiece* outPrefix,
                              StringPiece* outEntry, StringPiece* outSuffix);
 
-} // namespace util
+}  // namespace util
 
 /**
- * Stream operator for functions. Calls the function with the stream as an argument.
+ * Stream operator for functions. Calls the function with the stream as an
+ * argument.
  * In the aapt namespace for lookup.
  */
-inline ::std::ostream& operator<<(::std::ostream& out,
-                                  const ::std::function<::std::ostream&(::std::ostream&)>& f) {
-    return f(out);
+inline ::std::ostream& operator<<(
+    ::std::ostream& out,
+    const ::std::function<::std::ostream&(::std::ostream&)>& f) {
+  return f(out);
 }
 
-} // namespace aapt
+}  // namespace aapt
 
-#endif // AAPT_UTIL_H
+#endif  // AAPT_UTIL_H