Update documentation, rename Method to Function, move typedef to Value.h for now.

llvm-svn: 1953
This commit is contained in:
Chris Lattner 2002-03-23 22:47:28 +00:00
parent 6485258d9c
commit d781ebd257
1 changed files with 12 additions and 14 deletions

View File

@ -1,15 +1,15 @@
//===-- llvm/Method.h - Class to represent a single VM method ----*- C++ -*--=// //===-- llvm/Function.h - Class to represent a single VM function -*- C++ -*-=//
// //
// This file contains the declaration of the Method class, which represents a // This file contains the declaration of the Function class, which represents a
// single Method/function/procedure in the VM. // single function/procedure in the VM.
// //
// Note that basic blocks themselves are Def's, because they are referenced // Note that basic blocks in the method are value's, because they are referenced
// by instructions like calls and can go in virtual function tables and stuff. // by instructions like calls and can go into virtual function tables and stuff.
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#ifndef LLVM_METHOD_H #ifndef LLVM_FUNCTION_H
#define LLVM_METHOD_H #define LLVM_FUNCTION_H
#include "llvm/SymTabValue.h" #include "llvm/SymTabValue.h"
#include "llvm/GlobalValue.h" #include "llvm/GlobalValue.h"
@ -21,7 +21,7 @@ class MethodArgument;
class MethodType; class MethodType;
class Module; class Module;
class Method : public GlobalValue, public SymTabValue { class Function : public GlobalValue, public SymTabValue {
public: public:
typedef ValueHolder<MethodArgument, Method, Method> ArgumentListType; typedef ValueHolder<MethodArgument, Method, Method> ArgumentListType;
typedef ValueHolder<BasicBlock , Method, Method> BasicBlocksType; typedef ValueHolder<BasicBlock , Method, Method> BasicBlocksType;
@ -38,12 +38,12 @@ private:
BasicBlocksType BasicBlocks; // The basic blocks BasicBlocksType BasicBlocks; // The basic blocks
ArgumentListType ArgumentList; // The formal arguments ArgumentListType ArgumentList; // The formal arguments
friend class ValueHolder<Method, Module, Module>; friend class ValueHolder<Function, Module, Module>;
void setParent(Module *parent); void setParent(Module *parent);
public: public:
Method(const MethodType *Ty, bool isInternal, const std::string &Name = ""); Function(const MethodType *Ty, bool isInternal, const std::string &Name = "");
~Method(); ~Function();
// Specialize setName to handle symbol table majik... // Specialize setName to handle symbol table majik...
virtual void setName(const std::string &name, SymbolTable *ST = 0); virtual void setName(const std::string &name, SymbolTable *ST = 0);
@ -89,7 +89,7 @@ public:
// Methods for support type inquiry through isa, cast, and dyn_cast: // Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const Method *T) { return true; } static inline bool classof(const Function *) { return true; }
static inline bool classof(const Value *V) { static inline bool classof(const Value *V) {
return V->getValueType() == Value::MethodVal; return V->getValueType() == Value::MethodVal;
} }
@ -105,6 +105,4 @@ public:
void dropAllReferences(); void dropAllReferences();
}; };
typedef Method Function;
#endif #endif