Lines Matching full:refs
146 // Implicit refs will be marked with a symbol just before the token.
157 std::vector<Ref> Refs;
166 return Refs[I].Type == RefType::Explicit;
180 // FIXME: library should signal main-file refs somehow.
181 // Non-physical refs to the main-file should be possible.
215 int RefIndex = Refs.size();
216 Refs.emplace_back(Ref{Offset, SR.RT, SR.Target});
217 Ref &R = Refs.back();
243 for (unsigned I = 0; I < Refs.size(); ++I) {
245 writeTarget(Refs[I]);
307 const Ref &R = Refs[RefIndex];
310 Refs[I.first->second].Type != RefType::Explicit)
317 auto &R = Refs[RefIndex];
346 void writeInsertion(llvm::StringRef Text, llvm::ArrayRef<unsigned> Refs) {
348 writeProvides(Refs);
442 std::vector<unsigned> RefOrder(Refs.size());
445 return std::make_pair(Refs[A].Offset, Refs[A].Type != RefType::Implicit) <
446 std::make_pair(Refs[B].Offset, Refs[B].Type != RefType::Implicit);
452 // Finish refs early at EOL to avoid dealing with splitting the span.
457 // Handle implicit refs, which are rendered *before* the token.
458 while (!Rest.empty() && Refs[Rest.front()].Offset == I &&
459 Refs[Rest.front()].Type == RefType::Implicit) {
460 const Ref &R = Refs[Rest.front()];
466 // Accumulate all explicit refs that appear on the same token.
470 const Ref &R = Refs[RefIndex];