Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4dc5812d authored by Chih-Hung Hsieh's avatar Chih-Hung Hsieh
Browse files

Fix clang-tidy performance warnings in aapt2.

* Use const reference parameter type to avoid unnecessary copy.
* Use more efficient overloaded string methods.

Bug: 30407689
Bug: 30411878
Test: build with WITH_TIDY=1
Change-Id: Iaa0a6f18f64cf573bee49dd1466281ea4d37b410
parent d02180fa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ bool LoadedApk::WriteToArchive(IAaptContext* context, const TableFlattenerOption

    std::string path = file->GetSource().path;
    // The name of the path has the format "<zip-file-name>@<path-to-file>".
    path = path.substr(path.find("@") + 1);
    path = path.substr(path.find('@') + 1);

    // Skip resources that are not referenced if requested.
    if (path.find("res/") == 0 && referenced_resources.find(path) == referenced_resources.end()) {
+1 −1
Original line number Diff line number Diff line
@@ -915,7 +915,7 @@ class LinkCommand {

  bool WriteJavaFile(ResourceTable* table, const StringPiece& package_name_to_generate,
                     const StringPiece& out_package, const JavaClassGeneratorOptions& java_options,
                     const Maybe<std::string> out_text_symbols_path = {}) {
                     const Maybe<std::string>& out_text_symbols_path = {}) {
    if (!options_.generate_java_class_path) {
      return true;
    }
+2 −3
Original line number Diff line number Diff line
@@ -520,11 +520,10 @@ bool Tokenizer::iterator::operator!=(const iterator& rhs) const {
  return !(*this == rhs);
}

Tokenizer::iterator::iterator(StringPiece s, char sep, StringPiece tok,
                              bool end)
Tokenizer::iterator::iterator(const StringPiece& s, char sep, const StringPiece& tok, bool end)
    : str_(s), separator_(sep), token_(tok), end_(end) {}

Tokenizer::Tokenizer(StringPiece str, char sep)
Tokenizer::Tokenizer(const StringPiece& str, char sep)
    : begin_(++iterator(str, sep, StringPiece(str.begin() - 1, 0), false)),
      end_(str, sep, StringPiece(str.end(), 0), true) {}

+2 −2
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ class Tokenizer {
   private:
    friend class Tokenizer;

    iterator(android::StringPiece s, char sep, android::StringPiece tok, bool end);
    iterator(const android::StringPiece& s, char sep, const android::StringPiece& tok, bool end);

    android::StringPiece str_;
    char separator_;
@@ -244,7 +244,7 @@ class Tokenizer {
    bool end_;
  };

  Tokenizer(android::StringPiece str, char sep);
  Tokenizer(const android::StringPiece& str, char sep);

  iterator begin() { return begin_; }