Lines Matching refs:symbol
80 // Find the attribute in the symbol table and check if it is visible from this callsite.
81 const SymbolTable::Symbol* symbol = ReferenceLinker::resolveAttributeCheckVisibility(
83 if (symbol) {
86 entry.key.id = symbol->id;
91 symbol->attribute.get());
99 if (!symbol->attribute->matches(entry.value.get(), nullptr)) {
105 symbol->attribute->matches(entry.value.get(), &msg);
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,
169 if (!symbol.isPublic && !ref.privateReference) {
172 } else if (ref.id && symbol.id) {
173 return ref.id.value().packageId() == symbol.id.value().packageId();
197 const SymbolTable::Symbol* symbol = resolveSymbol(reference, nameMangler, symbols);
198 if (!symbol) {
203 if (!isSymbolVisible(*symbol, reference, *callSite)) {
207 return symbol;
213 const SymbolTable::Symbol* symbol = resolveSymbolCheckVisibility(reference, nameMangler,
216 if (!symbol) {
220 if (!symbol->attribute) {
224 return symbol;
232 const SymbolTable::Symbol* symbol = resolveSymbol(reference, nameMangler, symbols);
233 if (!symbol) {
237 if (!symbol->attribute) {
241 return xml::AaptAttribute{ symbol->id, *symbol->attribute };
311 << "no definition for declared symbol '"