//===----------------------------------------------------------------------===// // SourceFunctionInfo implementation // SourceFunctionInfo::SourceFunctionInfo(ProgramInfo &PI, const GlobalVariable *Desc) : Descriptor(Desc) { LineNo = ColNo = 0; if (Desc && Desc->hasInitializer()) if (ConstantStruct *CS = dyn_cast<ConstantStruct>(Desc->getInitializer())) if (CS->getNumOperands() > 2) { // Entry #1 is the file descriptor. if (const GlobalVariable *GV = dyn_cast<GlobalVariable>(CS->getOperand(1))) SourceFile = &PI.getSourceFile(GV); // Entry #2 is the function name. if (!GetConstantStringInfo(CS->getOperand(2), Name)) Name = ""; } }