diff options
author | Chris Lattner <sabre@nondot.org> | 2002-04-09 19:39:35 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-04-09 19:39:35 +0000 |
commit | 80dd50b4aaee0ae609d21f8dded9c3af1e801b9e (patch) | |
tree | 32a0faba53919e198ee45e4502d268c96a92d145 /lib/VMCore/Function.cpp | |
parent | 6c7fd1f4142223c188bc1bd5a99046e1ba6c61cf (diff) |
Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.
Move Argument implementation to Function.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2211 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Function.cpp')
-rw-r--r-- | lib/VMCore/Function.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index f2e6bd5c64..598f9fd0c2 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -12,9 +12,26 @@ #include "llvm/GlobalVariable.h" #include "llvm/BasicBlock.h" #include "llvm/iOther.h" +#include "llvm/Argument.h" #include "ValueHolderImpl.h" //===----------------------------------------------------------------------===// +// Argument Implementation +//===----------------------------------------------------------------------===// + +// Specialize setName to take care of symbol table majik +void Argument::setName(const std::string &name, SymbolTable *ST) { + Function *P; + assert((ST == 0 || (!getParent() || ST == getParent()->getSymbolTable())) && + "Invalid symtab argument!"); + if ((P = getParent()) && hasName()) P->getSymbolTable()->remove(this); + Value::setName(name); + if (P && hasName()) P->getSymbolTable()->insert(this); +} + + + +//===----------------------------------------------------------------------===// // Function Implementation //===----------------------------------------------------------------------===// @@ -22,8 +39,8 @@ // Instantiate Templates - This ugliness is the price we have to pay // for having a ValueHolderImpl.h file seperate from ValueHolder.h! :( // -template class ValueHolder<FunctionArgument, Function, Function>; -template class ValueHolder<BasicBlock , Function, Function>; +template class ValueHolder<Argument , Function, Function>; +template class ValueHolder<BasicBlock, Function, Function>; Function::Function(const FunctionType *Ty, bool isInternal, const std::string &name) |