Lines Matching refs:Elt

55 static Value *getField(const MDNode *DbgNode, unsigned Elt) {
56 if (!DbgNode || Elt >= DbgNode->getNumOperands())
58 return DbgNode->getOperand(Elt);
61 static MDNode *getNodeField(const MDNode *DbgNode, unsigned Elt) {
62 return dyn_cast_or_null<MDNode>(getField(DbgNode, Elt));
65 static StringRef getStringField(const MDNode *DbgNode, unsigned Elt) {
66 if (MDString *MDS = dyn_cast_or_null<MDString>(getField(DbgNode, Elt)))
71 StringRef DIDescriptor::getStringField(unsigned Elt) const {
72 return ::getStringField(DbgNode, Elt);
75 uint64_t DIDescriptor::getUInt64Field(unsigned Elt) const {
79 if (Elt < DbgNode->getNumOperands())
81 dyn_cast_or_null<ConstantInt>(DbgNode->getOperand(Elt)))
87 int64_t DIDescriptor::getInt64Field(unsigned Elt) const {
91 if (Elt < DbgNode->getNumOperands())
93 dyn_cast_or_null<ConstantInt>(DbgNode->getOperand(Elt)))
99 DIDescriptor DIDescriptor::getDescriptorField(unsigned Elt) const {
100 MDNode *Field = getNodeField(DbgNode, Elt);
104 GlobalVariable *DIDescriptor::getGlobalVariableField(unsigned Elt) const {
108 if (Elt < DbgNode->getNumOperands())
109 return dyn_cast_or_null<GlobalVariable>(DbgNode->getOperand(Elt));
113 Constant *DIDescriptor::getConstantField(unsigned Elt) const {
117 if (Elt < DbgNode->getNumOperands())
118 return dyn_cast_or_null<Constant>(DbgNode->getOperand(Elt));
122 Function *DIDescriptor::getFunctionField(unsigned Elt) const {
126 if (Elt < DbgNode->getNumOperands())
127 return dyn_cast_or_null<Function>(DbgNode->getOperand(Elt));
131 void DIDescriptor::replaceFunctionField(unsigned Elt, Function *F) {
135 if (Elt < DbgNode->getNumOperands()) {
137 Node->replaceOperandWith(Elt, F);
403 /// Check if a field at position Elt of a MDNode is a MDNode.
406 static bool fieldIsMDNode(const MDNode *DbgNode, unsigned Elt) {
409 Value *Fld = getField(DbgNode, Elt);
415 /// Check if a field at position Elt of a MDNode is a MDString.
416 static bool fieldIsMDString(const MDNode *DbgNode, unsigned Elt) {
417 Value *Fld = getField(DbgNode, Elt);
428 /// Check if a field at position Elt of a MDNode can be a reference to a type.
429 static bool fieldIsTypeRef(const MDNode *DbgNode, unsigned Elt) {
430 Value *Fld = getField(DbgNode, Elt);
443 /// Check if a field at position Elt of a MDNode can be a ScopeRef.
444 static bool fieldIsScopeRef(const MDNode *DbgNode, unsigned Elt) {
445 Value *Fld = getField(DbgNode, Elt);
1462 DIScopeRef DIDescriptor::getFieldAs<DIScopeRef>(unsigned Elt) const {
1463 return DIScopeRef(getField(DbgNode, Elt));
1466 template <> DITypeRef DIDescriptor::getFieldAs<DITypeRef>(unsigned Elt) const {
1467 return DITypeRef(getField(DbgNode, Elt));