23 return cast_or_null<DILocation>(Loc.
get());
27 assert(
get() &&
"Expected valid DebugLoc");
32 assert(
get() &&
"Expected valid DebugLoc");
33 return get()->getColumn();
37 assert(
get() &&
"Expected valid DebugLoc");
42 assert(
get() &&
"Expected valid DebugLoc");
66 const_cast<MDNode *
>(Scope),
67 const_cast<MDNode *>(InlinedAt));
91 auto *Scope = cast<DIScope>(
getScope());
92 OS << Scope->getFilename();
99 InlinedAtDL.print(OS);
MDNode * getScope() const
DebugLoc getFnDebugLoc() const
Find the debug info location for the start of the function.
DILocation * get() const
Get the underlying DILocation.
DISubprogram * getDISubprogram(const MDNode *Scope)
Find subprogram that is enclosing this scope.
void print(raw_ostream &OS) const
prints source location /path/to/file.exe:line:col @[inlined at]
MDNode * getInlinedAtScope() const
Get the fully inlined-at scope for a DebugLoc.
DILocation * getInlinedAt() const
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
static MDTuple * get(LLVMContext &Context, ArrayRef< Metadata * > MDs)
LLVMContext & getContext() const
This class implements an extremely fast bulk output stream that can only output to a stream...