diff options
author | Adam Lesinski <adamlesinski@google.com> | 2017-06-01 15:22:57 -0700 |
---|---|---|
committer | Adam Lesinski <adamlesinski@google.com> | 2017-06-02 16:48:38 -0700 |
commit | bab4ef56d7803f3a50ccfaca2729509338fcbb23 (patch) | |
tree | 3d3c1ad103f88f6ca60c46fc31872dee40244b3e /tools/aapt2/ResourceParser.h | |
parent | d6fb3081d9ddd6384d7e764308e2967ce672d3e5 (diff) |
AAPT2: Allow undefined resources (placeholders)
A resource defined like so:
<item type="drawable" name="foo" />
should be assigned the value @null.
The only exception is for <string> resources, which are given the
empty string value (since <string></string> is ambiguous). The decision
to use "" is based off the fact that old AAPT used to assign "" to all
undefined resources, even non-string ones.
Bug: 38425050
Test: make aapt2_tests
Change-Id: Ib3e0f6f83d16ddd8b279c9fd44a07a37867b85e9
Diffstat (limited to 'tools/aapt2/ResourceParser.h')
-rw-r--r-- | tools/aapt2/ResourceParser.h | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/tools/aapt2/ResourceParser.h b/tools/aapt2/ResourceParser.h index 825801995862..5631dc2ad29c 100644 --- a/tools/aapt2/ResourceParser.h +++ b/tools/aapt2/ResourceParser.h @@ -78,42 +78,32 @@ class ResourceParser { * Item, then a * RawString is returned. Otherwise this returns false; */ - std::unique_ptr<Item> ParseXml(xml::XmlPullParser* parser, - const uint32_t type_mask, + std::unique_ptr<Item> ParseXml(xml::XmlPullParser* parser, const uint32_t type_mask, const bool allow_raw_value); bool ParseResources(xml::XmlPullParser* parser); bool ParseResource(xml::XmlPullParser* parser, ParsedResource* out_resource); - bool ParseItem(xml::XmlPullParser* parser, ParsedResource* out_resource, - uint32_t format); + bool ParseItem(xml::XmlPullParser* parser, ParsedResource* out_resource, uint32_t format); bool ParseString(xml::XmlPullParser* parser, ParsedResource* out_resource); bool ParsePublic(xml::XmlPullParser* parser, ParsedResource* out_resource); - bool ParsePublicGroup(xml::XmlPullParser* parser, - ParsedResource* out_resource); - bool ParseSymbolImpl(xml::XmlPullParser* parser, - ParsedResource* out_resource); + bool ParsePublicGroup(xml::XmlPullParser* parser, ParsedResource* out_resource); + bool ParseSymbolImpl(xml::XmlPullParser* parser, ParsedResource* out_resource); bool ParseSymbol(xml::XmlPullParser* parser, ParsedResource* out_resource); - bool ParseAddResource(xml::XmlPullParser* parser, - ParsedResource* out_resource); + bool ParseAddResource(xml::XmlPullParser* parser, ParsedResource* out_resource); bool ParseAttr(xml::XmlPullParser* parser, ParsedResource* out_resource); - bool ParseAttrImpl(xml::XmlPullParser* parser, ParsedResource* out_resource, - bool weak); + bool ParseAttrImpl(xml::XmlPullParser* parser, ParsedResource* out_resource, bool weak); Maybe<Attribute::Symbol> ParseEnumOrFlagItem(xml::XmlPullParser* parser, const android::StringPiece& tag); bool ParseStyle(const ResourceType type, xml::XmlPullParser* parser, ParsedResource* out_resource); bool ParseStyleItem(xml::XmlPullParser* parser, Style* style); - bool ParseDeclareStyleable(xml::XmlPullParser* parser, - ParsedResource* out_resource); + bool ParseDeclareStyleable(xml::XmlPullParser* parser, ParsedResource* out_resource); bool ParseArray(xml::XmlPullParser* parser, ParsedResource* out_resource); - bool ParseIntegerArray(xml::XmlPullParser* parser, - ParsedResource* out_resource); - bool ParseStringArray(xml::XmlPullParser* parser, - ParsedResource* out_resource); - bool ParseArrayImpl(xml::XmlPullParser* parser, ParsedResource* out_resource, - uint32_t typeMask); + bool ParseIntegerArray(xml::XmlPullParser* parser, ParsedResource* out_resource); + bool ParseStringArray(xml::XmlPullParser* parser, ParsedResource* out_resource); + bool ParseArrayImpl(xml::XmlPullParser* parser, ParsedResource* out_resource, uint32_t typeMask); bool ParsePlural(xml::XmlPullParser* parser, ParsedResource* out_resource); IDiagnostics* diag_; |