diff --git a/include/llvm/IR/DebugInfo.h b/include/llvm/IR/DebugInfo.h index a17ebbc0d3e..00652a72d83 100644 --- a/include/llvm/IR/DebugInfo.h +++ b/include/llvm/IR/DebugInfo.h @@ -500,6 +500,7 @@ public: // FIXME: Make this derive from DIType directly & just store the // base type in a single DIType field. class DICompositeType : public DIDerivedType { + friend class DIBuilder; friend class DIDescriptor; void printInternal(raw_ostream &OS) const; @@ -513,6 +514,8 @@ public: assert(!isSubroutineType() && "no elements for DISubroutineType"); return getFieldAs(4); } + +private: template void setArrays(DITypedArray Elements, DIArray TParams = DIArray()) { assert((!TParams || DbgNode->getNumOperands() == 8) && @@ -520,13 +523,18 @@ public: "for that!"); setArraysHelper(Elements, TParams); } + +public: unsigned getRunTimeLang() const { return getHeaderFieldAs(7); } DITypeRef getContainingType() const { return getFieldAs(5); } +private: /// \brief Set the containing type. void setContainingType(DICompositeType ContainingType); + +public: DIArray getTemplateParams() const { return getFieldAs(6); } MDString *getIdentifier() const;