AAPT2: Rename to match new style
Use Google3 naming style to match new
projects' and open source google projects' style.
Preferred to do this in a massive CL so as to avoid
style inconsistencies that plague legacy code bases.
This is a relatively NEW code base, may as well keep
it up to date.
Test: name/style refactor - existing tests pass
Change-Id: Ie80ecb78d46ec53efdfca2336bb57d96cbb7fb87
diff --git a/tools/aapt2/link/ReferenceLinker.cpp b/tools/aapt2/link/ReferenceLinker.cpp
index 7fe0956..be787b2 100644
--- a/tools/aapt2/link/ReferenceLinker.cpp
+++ b/tools/aapt2/link/ReferenceLinker.cpp
@@ -14,7 +14,11 @@
* limitations under the License.
*/
-#include "ReferenceLinker.h"
+#include "link/ReferenceLinker.h"
+
+#include "android-base/logging.h"
+#include "androidfw/ResourceTypes.h"
+
#include "Diagnostics.h"
#include "ResourceTable.h"
#include "ResourceUtils.h"
@@ -26,9 +30,6 @@
#include "util/Util.h"
#include "xml/XmlUtil.h"
-#include <androidfw/ResourceTypes.h>
-#include <cassert>
-
namespace aapt {
namespace {
@@ -46,21 +47,21 @@
*/
class ReferenceLinkerVisitor : public ValueVisitor {
public:
- using ValueVisitor::visit;
+ using ValueVisitor::Visit;
ReferenceLinkerVisitor(IAaptContext* context, SymbolTable* symbols,
- StringPool* stringPool, xml::IPackageDeclStack* decl,
- CallSite* callSite)
- : mContext(context),
- mSymbols(symbols),
- mPackageDecls(decl),
- mStringPool(stringPool),
- mCallSite(callSite) {}
+ StringPool* string_pool, xml::IPackageDeclStack* decl,
+ CallSite* callsite)
+ : context_(context),
+ symbols_(symbols),
+ package_decls_(decl),
+ string_pool_(string_pool),
+ callsite_(callsite) {}
- void visit(Reference* ref) override {
- if (!ReferenceLinker::linkReference(ref, mContext, mSymbols, mPackageDecls,
- mCallSite)) {
- mError = true;
+ void Visit(Reference* ref) override {
+ if (!ReferenceLinker::LinkReference(ref, context_, symbols_, package_decls_,
+ callsite_)) {
+ error_ = true;
}
}
@@ -72,13 +73,13 @@
* lookup the attributes to find out which types are allowed for the
* attributes' values.
*/
- void visit(Style* style) override {
+ void Visit(Style* style) override {
if (style->parent) {
- visit(&style->parent.value());
+ Visit(&style->parent.value());
}
for (Style::Entry& entry : style->entries) {
- std::string errStr;
+ std::string err_str;
// Transform the attribute reference so that it is using the fully
// qualified package
@@ -86,17 +87,17 @@
// resources if
// there was a '*' in the reference or if the package came from the
// private namespace.
- Reference transformedReference = entry.key;
- transformReferenceFromNamespace(mPackageDecls,
- mContext->getCompilationPackage(),
- &transformedReference);
+ Reference transformed_reference = entry.key;
+ TransformReferenceFromNamespace(package_decls_,
+ context_->GetCompilationPackage(),
+ &transformed_reference);
// Find the attribute in the symbol table and check if it is visible from
// this callsite.
const SymbolTable::Symbol* symbol =
- ReferenceLinker::resolveAttributeCheckVisibility(
- transformedReference, mContext->getNameMangler(), mSymbols,
- mCallSite, &errStr);
+ ReferenceLinker::ResolveAttributeCheckVisibility(
+ transformed_reference, context_->GetNameMangler(), symbols_,
+ callsite_, &err_str);
if (symbol) {
// Assign our style key the correct ID.
// The ID may not exist.
@@ -104,11 +105,11 @@
// Try to convert the value to a more specific, typed value based on the
// attribute it is set to.
- entry.value = parseValueWithAttribute(std::move(entry.value),
+ entry.value = ParseValueWithAttribute(std::move(entry.value),
symbol->attribute.get());
// Link/resolve the final value (mostly if it's a reference).
- entry.value->accept(this);
+ entry.value->Accept(this);
// Now verify that the type of this item is compatible with the
// attribute it
@@ -116,39 +117,34 @@
// check is
// fast and we avoid creating a DiagMessage when the match is
// successful.
- if (!symbol->attribute->matches(entry.value.get(), nullptr)) {
+ if (!symbol->attribute->Matches(entry.value.get(), nullptr)) {
// The actual type of this item is incompatible with the attribute.
- DiagMessage msg(entry.key.getSource());
+ DiagMessage msg(entry.key.GetSource());
// Call the matches method again, this time with a DiagMessage so we
// fill
// in the actual error message.
- symbol->attribute->matches(entry.value.get(), &msg);
- mContext->getDiagnostics()->error(msg);
- mError = true;
+ symbol->attribute->Matches(entry.value.get(), &msg);
+ context_->GetDiagnostics()->Error(msg);
+ error_ = true;
}
} else {
- DiagMessage msg(entry.key.getSource());
+ DiagMessage msg(entry.key.GetSource());
msg << "style attribute '";
- ReferenceLinker::writeResourceName(&msg, entry.key,
- transformedReference);
- msg << "' " << errStr;
- mContext->getDiagnostics()->error(msg);
- mError = true;
+ ReferenceLinker::WriteResourceName(&msg, entry.key,
+ transformed_reference);
+ msg << "' " << err_str;
+ context_->GetDiagnostics()->Error(msg);
+ error_ = true;
}
}
}
- bool hasError() { return mError; }
+ bool HasError() { return error_; }
private:
- IAaptContext* mContext;
- SymbolTable* mSymbols;
- xml::IPackageDeclStack* mPackageDecls;
- StringPool* mStringPool;
- CallSite* mCallSite;
- bool mError = false;
+ DISALLOW_COPY_AND_ASSIGN(ReferenceLinkerVisitor);
/**
* Transform a RawString value into a more specific, appropriate value, based
@@ -156,20 +152,20 @@
* Attribute. If a non RawString value is passed in, this is an identity
* transform.
*/
- std::unique_ptr<Item> parseValueWithAttribute(std::unique_ptr<Item> value,
+ std::unique_ptr<Item> ParseValueWithAttribute(std::unique_ptr<Item> value,
const Attribute* attr) {
- if (RawString* rawString = valueCast<RawString>(value.get())) {
+ if (RawString* raw_string = ValueCast<RawString>(value.get())) {
std::unique_ptr<Item> transformed =
- ResourceUtils::tryParseItemForAttribute(*rawString->value, attr);
+ ResourceUtils::TryParseItemForAttribute(*raw_string->value, attr);
// If we could not parse as any specific type, try a basic STRING.
if (!transformed &&
- (attr->typeMask & android::ResTable_map::TYPE_STRING)) {
- util::StringBuilder stringBuilder;
- stringBuilder.append(*rawString->value);
- if (stringBuilder) {
+ (attr->type_mask & android::ResTable_map::TYPE_STRING)) {
+ util::StringBuilder string_builder;
+ string_builder.Append(*raw_string->value);
+ if (string_builder) {
transformed = util::make_unique<String>(
- mStringPool->makeRef(stringBuilder.str()));
+ string_pool_->MakeRef(string_builder.ToString()));
}
}
@@ -179,6 +175,31 @@
};
return value;
}
+
+ IAaptContext* context_;
+ SymbolTable* symbols_;
+ xml::IPackageDeclStack* package_decls_;
+ StringPool* string_pool_;
+ CallSite* callsite_;
+ bool error_ = false;
+};
+
+class EmptyDeclStack : public xml::IPackageDeclStack {
+ public:
+ EmptyDeclStack() = default;
+
+ Maybe<xml::ExtractedPackage> TransformPackageAlias(
+ const StringPiece& alias,
+ const StringPiece& local_package) const override {
+ if (alias.empty()) {
+ return xml::ExtractedPackage{local_package.ToString(),
+ true /* private */};
+ }
+ return {};
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(EmptyDeclStack);
};
} // namespace
@@ -188,14 +209,14 @@
* requesting private access
* or if the callsite comes from the same package.
*/
-bool ReferenceLinker::isSymbolVisible(const SymbolTable::Symbol& symbol,
+bool ReferenceLinker::IsSymbolVisible(const SymbolTable::Symbol& symbol,
const Reference& ref,
- const CallSite& callSite) {
- if (!symbol.isPublic && !ref.privateReference) {
+ const CallSite& callsite) {
+ if (!symbol.is_public && !ref.private_reference) {
if (ref.name) {
- return callSite.resource.package == ref.name.value().package;
+ return callsite.resource.package == ref.name.value().package;
} else if (ref.id && symbol.id) {
- return ref.id.value().packageId() == symbol.id.value().packageId();
+ return ref.id.value().package_id() == symbol.id.value().package_id();
} else {
return false;
}
@@ -203,160 +224,144 @@
return true;
}
-const SymbolTable::Symbol* ReferenceLinker::resolveSymbol(
+const SymbolTable::Symbol* ReferenceLinker::ResolveSymbol(
const Reference& reference, NameMangler* mangler, SymbolTable* symbols) {
if (reference.name) {
- Maybe<ResourceName> mangled = mangler->mangleName(reference.name.value());
- return symbols->findByName(mangled ? mangled.value()
+ Maybe<ResourceName> mangled = mangler->MangleName(reference.name.value());
+ return symbols->FindByName(mangled ? mangled.value()
: reference.name.value());
} else if (reference.id) {
- return symbols->findById(reference.id.value());
+ return symbols->FindById(reference.id.value());
} else {
return nullptr;
}
}
-const SymbolTable::Symbol* ReferenceLinker::resolveSymbolCheckVisibility(
- const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
- CallSite* callSite, std::string* outError) {
+const SymbolTable::Symbol* ReferenceLinker::ResolveSymbolCheckVisibility(
+ const Reference& reference, NameMangler* name_mangler, SymbolTable* symbols,
+ CallSite* callsite, std::string* out_error) {
const SymbolTable::Symbol* symbol =
- resolveSymbol(reference, nameMangler, symbols);
+ ResolveSymbol(reference, name_mangler, symbols);
if (!symbol) {
- if (outError) *outError = "not found";
+ if (out_error) *out_error = "not found";
return nullptr;
}
- if (!isSymbolVisible(*symbol, reference, *callSite)) {
- if (outError) *outError = "is private";
+ if (!IsSymbolVisible(*symbol, reference, *callsite)) {
+ if (out_error) *out_error = "is private";
return nullptr;
}
return symbol;
}
-const SymbolTable::Symbol* ReferenceLinker::resolveAttributeCheckVisibility(
- const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
- CallSite* callSite, std::string* outError) {
- const SymbolTable::Symbol* symbol = resolveSymbolCheckVisibility(
- reference, nameMangler, symbols, callSite, outError);
+const SymbolTable::Symbol* ReferenceLinker::ResolveAttributeCheckVisibility(
+ const Reference& reference, NameMangler* name_mangler, SymbolTable* symbols,
+ CallSite* callsite, std::string* out_error) {
+ const SymbolTable::Symbol* symbol = ResolveSymbolCheckVisibility(
+ reference, name_mangler, symbols, callsite, out_error);
if (!symbol) {
return nullptr;
}
if (!symbol->attribute) {
- if (outError) *outError = "is not an attribute";
+ if (out_error) *out_error = "is not an attribute";
return nullptr;
}
return symbol;
}
-Maybe<xml::AaptAttribute> ReferenceLinker::compileXmlAttribute(
- const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
- CallSite* callSite, std::string* outError) {
+Maybe<xml::AaptAttribute> ReferenceLinker::CompileXmlAttribute(
+ const Reference& reference, NameMangler* name_mangler, SymbolTable* symbols,
+ CallSite* callsite, std::string* out_error) {
const SymbolTable::Symbol* symbol =
- resolveSymbol(reference, nameMangler, symbols);
+ ResolveSymbol(reference, name_mangler, symbols);
if (!symbol) {
- if (outError) *outError = "not found";
+ if (out_error) *out_error = "not found";
return {};
}
if (!symbol->attribute) {
- if (outError) *outError = "is not an attribute";
+ if (out_error) *out_error = "is not an attribute";
return {};
}
return xml::AaptAttribute{symbol->id, *symbol->attribute};
}
-void ReferenceLinker::writeResourceName(DiagMessage* outMsg,
+void ReferenceLinker::WriteResourceName(DiagMessage* out_msg,
const Reference& orig,
const Reference& transformed) {
- assert(outMsg);
+ CHECK(out_msg != nullptr);
if (orig.name) {
- *outMsg << orig.name.value();
+ *out_msg << orig.name.value();
if (transformed.name.value() != orig.name.value()) {
- *outMsg << " (aka " << transformed.name.value() << ")";
+ *out_msg << " (aka " << transformed.name.value() << ")";
}
} else {
- *outMsg << orig.id.value();
+ *out_msg << orig.id.value();
}
}
-bool ReferenceLinker::linkReference(Reference* reference, IAaptContext* context,
+bool ReferenceLinker::LinkReference(Reference* reference, IAaptContext* context,
SymbolTable* symbols,
xml::IPackageDeclStack* decls,
- CallSite* callSite) {
- assert(reference);
- assert(reference->name || reference->id);
+ CallSite* callsite) {
+ CHECK(reference != nullptr);
+ CHECK(reference->name || reference->id);
- Reference transformedReference = *reference;
- transformReferenceFromNamespace(decls, context->getCompilationPackage(),
- &transformedReference);
+ Reference transformed_reference = *reference;
+ TransformReferenceFromNamespace(decls, context->GetCompilationPackage(),
+ &transformed_reference);
- std::string errStr;
- const SymbolTable::Symbol* s = resolveSymbolCheckVisibility(
- transformedReference, context->getNameMangler(), symbols, callSite,
- &errStr);
+ std::string err_str;
+ const SymbolTable::Symbol* s = ResolveSymbolCheckVisibility(
+ transformed_reference, context->GetNameMangler(), symbols, callsite,
+ &err_str);
if (s) {
// The ID may not exist. This is fine because of the possibility of building
- // against
- // libraries without assigned IDs.
+ // against libraries without assigned IDs.
// Ex: Linking against own resources when building a static library.
reference->id = s->id;
return true;
}
- DiagMessage errorMsg(reference->getSource());
- errorMsg << "resource ";
- writeResourceName(&errorMsg, *reference, transformedReference);
- errorMsg << " " << errStr;
- context->getDiagnostics()->error(errorMsg);
+ DiagMessage error_msg(reference->GetSource());
+ error_msg << "resource ";
+ WriteResourceName(&error_msg, *reference, transformed_reference);
+ error_msg << " " << err_str;
+ context->GetDiagnostics()->Error(error_msg);
return false;
}
-namespace {
-
-struct EmptyDeclStack : public xml::IPackageDeclStack {
- Maybe<xml::ExtractedPackage> transformPackageAlias(
- const StringPiece& alias,
- const StringPiece& localPackage) const override {
- if (alias.empty()) {
- return xml::ExtractedPackage{localPackage.toString(), true /* private */};
- }
- return {};
- }
-};
-
-} // namespace
-
-bool ReferenceLinker::consume(IAaptContext* context, ResourceTable* table) {
- EmptyDeclStack declStack;
+bool ReferenceLinker::Consume(IAaptContext* context, ResourceTable* table) {
+ EmptyDeclStack decl_stack;
bool error = false;
for (auto& package : table->packages) {
for (auto& type : package->types) {
for (auto& entry : type->entries) {
// Symbol state information may be lost if there is no value for the
// resource.
- if (entry->symbolStatus.state != SymbolState::kUndefined &&
+ if (entry->symbol_status.state != SymbolState::kUndefined &&
entry->values.empty()) {
- context->getDiagnostics()->error(
- DiagMessage(entry->symbolStatus.source)
+ context->GetDiagnostics()->Error(
+ DiagMessage(entry->symbol_status.source)
<< "no definition for declared symbol '"
<< ResourceNameRef(package->name, type->type, entry->name)
<< "'");
error = true;
}
- CallSite callSite = {
+ CallSite callsite = {
ResourceNameRef(package->name, type->type, entry->name)};
- ReferenceLinkerVisitor visitor(context, context->getExternalSymbols(),
- &table->stringPool, &declStack,
- &callSite);
+ ReferenceLinkerVisitor visitor(context, context->GetExternalSymbols(),
+ &table->string_pool, &decl_stack,
+ &callsite);
- for (auto& configValue : entry->values) {
- configValue->value->accept(&visitor);
+ for (auto& config_value : entry->values) {
+ config_value->value->Accept(&visitor);
}
- if (visitor.hasError()) {
+ if (visitor.HasError()) {
error = true;
}
}