Add a convenince member function for appending strings to a module's
[oota-llvm.git] / include / llvm / Argument.h
index ea735b546a4490a7ddd0873a91574c5d81193349..c995043616c0d00054a695aa637695c9e303fed7 100644 (file)
@@ -18,9 +18,8 @@
 
 namespace llvm {
 
-template<typename SC> struct ilist_traits;
-template<typename ValueSubClass, typename ItemParentClass, typename SymTabClass,
-         typename SubClass> class SymbolTableListTraits;
+template<typename ValueSubClass, typename ItemParentClass>
+  class SymbolTableListTraits;
 
 /// A class to represent an incoming formal argument to a Function. An argument
 /// is a very simple Value. It is essentially a named (optional) type. When used
@@ -33,8 +32,7 @@ class Argument : public Value {  // Defined in the Function.cpp file
   Argument *Prev, *Next; // Next and Prev links for our intrusive linked list
   void setNext(Argument *N) { Next = N; }
   void setPrev(Argument *N) { Prev = N; }
-  friend class SymbolTableListTraits<Argument, Function, Function,
-                                     ilist_traits<Argument> >;
+  friend class SymbolTableListTraits<Argument, Function>;
   void setParent(Function *parent);
 
 public:
@@ -48,12 +46,6 @@ public:
   inline const Function *getParent() const { return Parent; }
   inline       Function *getParent()       { return Parent; }
 
-  // getNext/Prev - Return the next or previous argument in the list.
-        Argument *getNext()       { return Next; }
-  const Argument *getNext() const { return Next; }
-        Argument *getPrev()       { return Prev; }
-  const Argument *getPrev() const { return Prev; }
-
   virtual void print(std::ostream &OS) const;
   void print(std::ostream *OS) const {
     if (OS) print(*OS);
@@ -66,6 +58,13 @@ public:
   static inline bool classof(const Value *V) {
     return V->getValueID() == ArgumentVal;
   }
+  
+private:
+  // getNext/Prev - Return the next or previous argument in the list.
+  Argument *getNext()       { return Next; }
+  const Argument *getNext() const { return Next; }
+  Argument *getPrev()       { return Prev; }
+  const Argument *getPrev() const { return Prev; }
 };
 
 } // End llvm namespace