diff options
-rw-r--r-- | include/llvm/ADT/ImmutableMap.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/llvm/ADT/ImmutableMap.h b/include/llvm/ADT/ImmutableMap.h index 7a517b43f8..e439a09948 100644 --- a/include/llvm/ADT/ImmutableMap.h +++ b/include/llvm/ADT/ImmutableMap.h @@ -134,11 +134,23 @@ public: return Root && RHS.Root ? Root->isNotEqual(*RHS.Root) : Root != RHS.Root; } - TreeTy* getRoot() const { + TreeTy *getRoot() const { if (Root) { Root->retain(); } return Root; } + TreeTy *getRootWithoutRetain() const { + return Root; + } + + void manualRetain() { + if (Root) Root->retain(); + } + + void manualRelease() { + if (Root) Root->release(); + } + bool isEmpty() const { return !Root; } //===--------------------------------------------------===// |