AAPT2: Fix inclusion of comments in R.java javadoc

Comments weren't being copied when merged from the various
resource tables.

Also refactored the JavaClassGenerator to omit a class
if no entries exist for it.

Change-Id: I6eaa89b7b3715bc05403635a2baf0d1db3efd142
This commit is contained in:
Adam Lesinski
2015-11-06 15:14:35 -08:00
parent 557b64abad
commit b274e35abf
18 changed files with 443 additions and 196 deletions

View File

@@ -27,6 +27,9 @@
namespace aapt {
class AnnotationProcessor;
class ClassDefinitionWriter;
struct JavaClassGeneratorOptions {
/*
* Specifies whether to use the 'final' modifier
@@ -40,9 +43,6 @@ struct JavaClassGeneratorOptions {
kPublic,
};
/*
*
*/
SymbolTypes types = SymbolTypes::kAll;
};
@@ -69,15 +69,16 @@ public:
const std::string& getError() const;
private:
bool generateType(const StringPiece16& packageNameToGenerate,
const ResourceTablePackage* package,
const ResourceTableType* type,
std::ostream* out);
bool writeEntriesForClass(ClassDefinitionWriter* outClassDef,
const StringPiece16& packageNameToGenerate,
const ResourceTablePackage* package,
const ResourceTableType* type);
void generateStyleable(const StringPiece16& packageNameToGenerate,
const std::u16string& entryName,
const Styleable* styleable,
std::ostream* out);
void writeStyleableEntryForClass(ClassDefinitionWriter* outClassDef,
AnnotationProcessor* processor,
const StringPiece16& packageNameToGenerate,
const std::u16string& entryName,
const Styleable* styleable);
bool skipSymbol(SymbolState state);