forked from OSchip/llvm-project
parent
6f70fda2f0
commit
c10245352c
|
|
@ -85,6 +85,7 @@ public:
|
|||
ValueSubclass *remove(iterator &DI); // Defined in ValueHolderImpl.h
|
||||
ValueSubclass *remove(const iterator &DI); // Defined in ValueHolderImpl.h
|
||||
void remove(ValueSubclass *D); // Defined in ValueHolderImpl.h
|
||||
ValueSubclass *pop_back(); // Defined in ValueHolderImpl.h
|
||||
|
||||
void push_front(ValueSubclass *Inst); // Defined in ValueHolderImpl.h
|
||||
void push_back(ValueSubclass *Inst); // Defined in ValueHolderImpl.h
|
||||
|
|
|
|||
|
|
@ -59,6 +59,21 @@ ValueSubclass *ValueHolder<ValueSubclass,ItemParentType>::remove(iterator &DI) {
|
|||
return i;
|
||||
}
|
||||
|
||||
template<class ValueSubclass, class ItemParentType>
|
||||
ValueSubclass *ValueHolder<ValueSubclass,ItemParentType>::pop_back() {
|
||||
assert(!ValueList.empty() && "Can't pop_back an empty valuelist!");
|
||||
ValueSubclass *i = ValueList.back();
|
||||
ValueList.pop_back();
|
||||
i->setParent(0); // I don't own you anymore... byebye...
|
||||
|
||||
// You don't get to be in the symbol table anymore... byebye
|
||||
if (i->hasName() && Parent)
|
||||
Parent->getSymbolTable()->remove(i);
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
template<class ValueSubclass, class ItemParentType>
|
||||
ValueSubclass *ValueHolder<ValueSubclass,ItemParentType>
|
||||
::remove(const iterator &DI) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue