Lines Matching refs:Reference
40 * to the reference object.
54 void visit(Reference* ref) override {
73 // Transform the attribute reference so that it is using the fully qualified package
74 // name. This will also mark the reference as being able to see private resources if
75 // there was a '*' in the reference or if the package came from the private namespace.
76 Reference transformedReference = entry.key;
93 // Link/resolve the final value (mostly if it's a reference).
164 * The symbol is visible if it is public, or if the reference to it is requesting private access
167 bool ReferenceLinker::isSymbolVisible(const SymbolTable::Symbol& symbol, const Reference& ref,
181 const SymbolTable::Symbol* ReferenceLinker::resolveSymbol(const Reference& reference,
184 if (reference.name) {
185 Maybe<ResourceName> mangled = mangler->mangleName(reference.name.value());
186 return symbols->findByName(mangled ? mangled.value() : reference.name.value());
187 } else if (reference.id) {
188 return symbols->findById(reference.id.value());
195 const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
197 const SymbolTable::Symbol* symbol = resolveSymbol(reference, nameMangler, symbols);
203 if (!isSymbolVisible(*symbol, reference, *callSite)) {
211 const Reference& reference, NameMangler* nameMangler, SymbolTable* symbols,
213 const SymbolTable::Symbol* symbol = resolveSymbolCheckVisibility(reference, nameMangler,
227 Maybe<xml::AaptAttribute> ReferenceLinker::compileXmlAttribute(const Reference& reference,
232 const SymbolTable::Symbol* symbol = resolveSymbol(reference, nameMangler, symbols);
244 void ReferenceLinker::writeResourceName(DiagMessage* outMsg, const Reference& orig,
245 const Reference& transformed) {
258 bool ReferenceLinker::linkReference(Reference* reference, IAaptContext* context,
261 assert(reference);
262 assert(reference->name || reference->id);
264 Reference transformedReference = *reference;
275 reference->id = s->id;
279 DiagMessage errorMsg(reference->getSource());
281 writeResourceName(&errorMsg, *reference, transformedReference);