summaryrefslogtreecommitdiffstats
path: root/tools/aapt2/ResourceValues.h
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2015-05-04 17:40:56 -0700
committerAdam Lesinski <adamlesinski@google.com>2015-05-12 20:41:31 -0700
commit330edcdf1316ed599fe0eb16a64330821fd92f18 (patch)
tree8a9bddd59f53efc836b787565ba206a1d78383e3 /tools/aapt2/ResourceValues.h
parenta4492b418d23e3bcdb077aab5d48eb24e932fc13 (diff)
downloadframeworks_base-330edcdf1316ed599fe0eb16a64330821fd92f18.zip
frameworks_base-330edcdf1316ed599fe0eb16a64330821fd92f18.tar.gz
frameworks_base-330edcdf1316ed599fe0eb16a64330821fd92f18.tar.bz2
AAPT2: Support static lib referencing static lib
When a static library A references static library B, and app C references both A and B, we get the following symbol merging, symbols from library B get imported twice. We must only check that symbol references to library B are valid when building library A. We should only merge all the symbols when building final app C. Change-Id: I23cba33b0901dcbb5328d9c9dfaa6a979c073c36
Diffstat (limited to 'tools/aapt2/ResourceValues.h')
-rw-r--r--tools/aapt2/ResourceValues.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/aapt2/ResourceValues.h b/tools/aapt2/ResourceValues.h
index f8ece6f..b448bd8 100644
--- a/tools/aapt2/ResourceValues.h
+++ b/tools/aapt2/ResourceValues.h
@@ -222,6 +222,7 @@ struct Attribute : public BaseValue<Attribute> {
bool isWeak() const override;
virtual Attribute* clone(StringPool* newPool) const override;
+ void printMask(std::ostream& out) const;
virtual void print(std::ostream& out) const override;
};
@@ -280,6 +281,10 @@ inline ::std::ostream& operator<<(::std::ostream& out, const Value& value) {
return out;
}
+inline ::std::ostream& operator<<(::std::ostream& out, const Attribute::Symbol& s) {
+ return out << s.symbol.name.entry << "=" << s.value;
+}
+
/**
* The argument object that gets passed through the value
* back to the ValueVisitor. Subclasses of ValueVisitor should