Signature Class Reference

#include <include/signature.h>

Inheritance diagram for Signature:

CallingConvention::StdC::PentiumSignature CallingConvention::StdC::PPCSignature CallingConvention::StdC::SparcSignature CallingConvention::StdC::ST20Signature CallingConvention::Win32Signature CustomSignature CallingConvention::StdC::SparcLibSignature CallingConvention::Win32TcSignature List of all members.

Detailed Description

Definition at line 86 of file signature.h.

Public Member Functions

void addEllipsis ()
virtual void addParameter (Parameter *param)
virtual void addParameter (Exp *e, Type *ty)
virtual void addParameter (Type *type, const char *nam=NULL, Exp *e=NULL, const char *boundMax="")
virtual void addParameter (const char *nam=NULL)
void addPreferedParameter (int n)
virtual void addReturn (Return *ret)
virtual void addReturn (Exp *e)
virtual void addReturn (Type *type, Exp *e=NULL)
virtual bool argumentCompare (Assignment &a, Assignment &b)
virtual Signatureclone ()
bool dfaTypeAnalysis (Cfg *cfg)
virtual int findParam (const char *nam)
virtual int findParam (Exp *e)
int findReturn (Exp *e)
virtual ExpgetArgumentExp (int n)
virtual callconv getConvention ()
ExpgetEarlyParamExp (int n, Prog *prog)
ExpgetFirstArgLoc (Prog *prog)
virtual const char * getName ()
virtual unsigned getNumParams ()
unsigned int getNumPreferedParams ()
virtual unsigned getNumReturns ()
virtual const char * getParamBoundMax (int n)
virtual ExpgetParamExp (int n)
virtual const char * getParamName (int n)
virtual TypegetParamType (int n)
virtual platform getPlatform ()
const char * getPreferedName ()
int getPreferedParam (int n)
TypegetPreferedReturn ()
virtual ExpgetProven (Exp *left)
virtual ExpgetReturnExp (int n)
ReturnsgetReturns ()
virtual TypegetReturnType (int n)
const char * getSigFile ()
virtual int getStackRegister () throw (StackRegisterNotDefinedException)
virtual ExpgetStackWildcard ()
TypegetTypeFor (Exp *e)
virtual bool hasEllipsis ()
virtual bool isAddrOfStackLocal (Prog *prog, Exp *e)
bool isForced ()
virtual bool isLocalOffsetNegative ()
virtual bool isLocalOffsetPositive ()
bool isOpCompatStackLocal (OPER op)
virtual bool isPreserved (Exp *e)
virtual bool isPromoted ()
bool isStackLocal (Prog *prog, Exp *e)
bool isUnknown ()
void killEllipsis ()
virtual bool operator== (Signature &other)
void print (std::ostream &out, bool html=false)
char * prints ()
void printToLog ()
virtual Signaturepromote (UserProc *p)
virtual void removeParameter (int i)
virtual void removeParameter (Exp *e)
virtual void removeReturn (Exp *e)
void renameParam (const char *oldName, const char *newName)
virtual bool returnCompare (Assignment &a, Assignment &b)
void setForced (bool f)
virtual void setLibraryDefines (StatementList *defs)
virtual void setName (const char *nam)
virtual void setNumParams (int n)
virtual void setParamExp (int n, Exp *e)
virtual void setParamName (int n, const char *nam)
virtual void setParamType (Exp *e, Type *ty)
virtual void setParamType (const char *nam, Type *ty)
virtual void setParamType (int n, Type *ty)
void setPreferedName (const char *nam)
void setPreferedReturn (Type *ty)
void setRetType (Type *t)
void setReturnExp (int n, Exp *e)
virtual void setReturnType (int n, Type *ty)
void setSigFile (const char *nam)
void setUnknown (bool b)
 Signature (const char *nam)
virtual ~Signature ()

Static Public Member Functions

static char * conventionName (callconv cc)
static ExpgetReturnExp2 (BinaryFile *pBF)
static int getStackRegister (Prog *prog) throw (StackRegisterNotDefinedException)
static StatementListgetStdRetStmt (Prog *prog)
static Signatureinstantiate (platform plat, callconv cc, const char *nam)
static char * platformName (platform plat)
static void setABIdefines (Prog *prog, StatementList *defs)

Protected Member Functions

void appendParameter (Parameter *p)
void appendReturn (Return *r)
 Signature ()
bool usesNewParam (UserProc *p, Statement *stmt, bool checkreach, int &n)

Protected Attributes

bool ellipsis
bool forced
std::string name
std::vector< Parameter * > params
std::string preferedName
std::vector< int > preferedParams
TypepreferedReturn
Typerettype
Returns returns
std::string sigFile
bool unknown

Friends

class XMLProgParser

Classes

class  StackRegisterNotDefinedException


Constructor & Destructor Documentation

Signature::Signature const char *  nam  ) 
 

Definition at line 1049 of file signature.cpp.

References name, and NULL.

virtual Signature::~Signature  )  [inline, virtual]
 

Definition at line 114 of file signature.h.

Signature::Signature  )  [inline, protected]
 

Definition at line 261 of file signature.h.

Referenced by clone().


Member Function Documentation

void Signature::addEllipsis  )  [inline]
 

Definition at line 155 of file signature.h.

References ellipsis.

void Signature::addParameter Parameter param  )  [virtual]
 

Definition at line 1173 of file signature.cpp.

References addParameter(), Parameter::getBoundMax(), Parameter::getExp(), Parameter::getName(), Parameter::getType(), NULL, and params.

void Signature::addParameter Exp e,
Type ty
[virtual]
 

Definition at line 1133 of file signature.cpp.

References addParameter(), and NULL.

void Signature::addParameter Type type,
const char *  nam = NULL,
Exp e = NULL,
const char *  boundMax = ""
[virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 1137 of file signature.cpp.

References addParameter(), Type::getCtype(), NULL, and params.

void Signature::addParameter const char *  nam = NULL  )  [virtual]
 

Definition at line 1129 of file signature.cpp.

Referenced by addParameter(), CallingConvention::StdC::SparcSignature::addParameter(), CallingConvention::StdC::ST20Signature::addParameter(), CallingConvention::StdC::PPCSignature::addParameter(), CallingConvention::StdC::PentiumSignature::addParameter(), CallingConvention::Win32Signature::addParameter(), UserProc::addParameter(), and CallStatement::addSigParam().

void Signature::addPreferedParameter int  n  )  [inline]
 

Definition at line 248 of file signature.h.

References preferedParams.

virtual void Signature::addReturn Return ret  )  [inline, virtual]
 

Definition at line 130 of file signature.h.

References returns.

void Signature::addReturn Exp e  )  [virtual]
 

Definition at line 1305 of file signature.cpp.

References addReturn().

void Signature::addReturn Type type,
Exp e = NULL
[virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 1299 of file signature.cpp.

Referenced by addReturn(), CallingConvention::StdC::SparcSignature::addReturn(), CallingConvention::StdC::ST20Signature::addReturn(), CallingConvention::StdC::PPCSignature::addReturn(), CallingConvention::StdC::PentiumSignature::addReturn(), CallingConvention::Win32Signature::addReturn(), Prog::newProc(), CallingConvention::StdC::PentiumSignature::PentiumSignature(), CallingConvention::StdC::PPCSignature::PPCSignature(), CustomSignature::setSP(), CallingConvention::StdC::SparcSignature::SparcSignature(), CallingConvention::StdC::ST20Signature::ST20Signature(), CallingConvention::Win32Signature::Win32Signature(), and CallingConvention::Win32TcSignature::Win32TcSignature().

void Signature::appendParameter Parameter p  )  [inline, protected]
 

Definition at line 262 of file signature.h.

References params.

void Signature::appendReturn Return r  )  [inline, protected]
 

Definition at line 264 of file signature.h.

References returns.

bool Signature::argumentCompare Assignment a,
Assignment b
[virtual]
 

Reimplemented in CallingConvention::StdC::PentiumSignature, and CallingConvention::StdC::SparcSignature.

Definition at line 1851 of file signature.cpp.

References Assignment::getLeft().

Referenced by UserProc::insertParameter().

Signature * Signature::clone  )  [virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::Win32TcSignature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::SparcLibSignature, CallingConvention::StdC::PPCSignature, CallingConvention::StdC::ST20Signature, and CustomSignature.

Definition at line 1070 of file signature.cpp.

References Type::clone(), cloneVec(), ellipsis, name, NULL, params, preferedName, preferedParams, preferedReturn, rettype, returns, sigFile, Signature(), and unknown.

Referenced by FrontEnd::decode(), FrontEnd::getEntryPoints(), CallStatement::rangeAnalysis(), and CallStatement::setSigArguments().

char * Signature::conventionName callconv  cc  )  [static]
 

Definition at line 61 of file signature.cpp.

References CONV_C, CONV_PASCAL, and CONV_THISCALL.

Referenced by instantiate(), and XMLProgParser::persistToXML().

bool Signature::dfaTypeAnalysis Cfg cfg  ) 
 

Definition at line 1298 of file dfa.cpp.

References DEBUG_TA, Cfg::findImplicitParamAssign(), LOG, Statement::meetWithFor(), and params.

Referenced by UserProc::dfaTypeAnalysis().

int Signature::findParam const char *  nam  )  [virtual]
 

Definition at line 1285 of file signature.cpp.

References getNumParams(), and getParamName().

int Signature::findParam Exp e  )  [virtual]
 

Definition at line 1269 of file signature.cpp.

References getNumParams(), and getParamExp().

Referenced by removeParameter(), Proc::removeParameter(), and setParamType().

int Signature::findReturn Exp e  ) 
 

Definition at line 1292 of file signature.cpp.

References getNumReturns(), and returns.

Referenced by CallStatement::bypassRef(), and removeReturn().

Exp * Signature::getArgumentExp int  n  )  [virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::Win32TcSignature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 1325 of file signature.cpp.

References getParamExp().

Referenced by CallStatement::generateCode(), CallingConvention::StdC::SparcSignature::getArgumentExp(), CallingConvention::StdC::ST20Signature::getArgumentExp(), CallingConvention::StdC::PPCSignature::getArgumentExp(), CallingConvention::StdC::PentiumSignature::getArgumentExp(), CallingConvention::Win32TcSignature::getArgumentExp(), CallingConvention::Win32Signature::getArgumentExp(), CallStatement::setNumArguments(), and CallStatement::setSigArguments().

virtual callconv Signature::getConvention  )  [inline, virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::Win32TcSignature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 243 of file signature.h.

References CONV_NONE.

Referenced by XMLProgParser::persistToXML().

Exp * Signature::getEarlyParamExp int  n,
Prog prog
 

Definition at line 1543 of file signature.cpp.

References Prog::getMachine(), getParamExp(), MACHINE_PENTIUM, MACHINE_SPARC, MACHINE_ST20, and NULL.

Exp * Signature::getFirstArgLoc Prog prog  ) 
 

Definition at line 1466 of file signature.cpp.

References CallingConvention::StdC::ST20Signature::getArgumentExp(), CallingConvention::StdC::SparcSignature::getArgumentExp(), Prog::getMachine(), MACHINE_PENTIUM, MACHINE_SPARC, MACHINE_ST20, and Location::memOf().

const char * Signature::getName  )  [virtual]
 

Definition at line 1119 of file signature.cpp.

References name.

Referenced by Proc::getName(), Proc::Proc(), and renameParam().

int Signature::getNumParams  )  [inline, virtual]
 

Definition at line 163 of file signature.h.

References params.

Referenced by CallStatement::addSigParam(), Decompiler::alert_new(), ArgSourceProvider::ArgSourceProvider(), UserProc::findFinalParameters(), findParam(), FuncType::getCtype(), UserProc::getParamType(), FuncType::getReturnAndParam(), Proc::printDetailsXML(), CallStatement::rangeAnalysis(), renameParam(), CallStatement::setSigArguments(), and usesNewParam().

unsigned int Signature::getNumPreferedParams  )  [inline]
 

Definition at line 251 of file signature.h.

References preferedParams.

virtual unsigned Signature::getNumReturns  )  [inline, virtual]
 

Definition at line 132 of file signature.h.

References returns.

Referenced by CHLLCode::AddProcDec(), CHLLCode::AddReturnStatement(), CallStatement::calcResults(), findReturn(), CallStatement::generateCode(), FuncType::getCtype(), UserProc::getDefinitions(), FuncType::getReturnAndParam(), Proc::printDetailsXML(), and UserProc::removeRedundantReturns().

const char * Signature::getParamBoundMax int  n  )  [virtual]
 

Definition at line 1227 of file signature.cpp.

References NULL, and params.

Referenced by CallStatement::dfaTypeAnalysis().

Exp * Signature::getParamExp int  n  )  [virtual]
 

Definition at line 1215 of file signature.cpp.

References params.

Referenced by CallStatement::addSigParam(), ArgSourceProvider::exists(), UserProc::findFinalParameters(), findParam(), getArgumentExp(), getEarlyParamExp(), ArgSourceProvider::nextArgLoc(), Proc::printDetailsXML(), CallStatement::rangeAnalysis(), and usesNewParam().

const char * Signature::getParamName int  n  )  [virtual]
 

Definition at line 1210 of file signature.cpp.

References params.

Referenced by UserProc::addParameterSymbols(), Decompiler::alert_new(), CallStatement::dfaTypeAnalysis(), findParam(), UserProc::getParamType(), and Proc::printDetailsXML().

Type * Signature::getParamType int  n  )  [virtual]
 

Definition at line 1220 of file signature.cpp.

References NULL, and params.

Referenced by Decompiler::alert_new(), ArgSourceProvider::curType(), PentiumFrontEnd::extraProcessCall(), CallStatement::generateCode(), FuncType::getCtype(), UserProc::getParamType(), FuncType::getReturnAndParam(), Proc::printDetailsXML(), CallStatement::setNumArguments(), CallStatement::setSigArguments(), and TypeTest::testCompound().

virtual platform Signature::getPlatform  )  [inline, virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::Win32TcSignature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 242 of file signature.h.

References PLAT_GENERIC.

Referenced by XMLProgParser::persistToXML().

const char* Signature::getPreferedName  )  [inline]
 

Definition at line 250 of file signature.h.

References preferedName.

int Signature::getPreferedParam int  n  )  [inline]
 

Definition at line 252 of file signature.h.

References preferedParams.

Type* Signature::getPreferedReturn  )  [inline]
 

Definition at line 249 of file signature.h.

References preferedReturn.

virtual Exp* Signature::getProven Exp left  )  [inline, virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::Win32TcSignature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::SparcLibSignature, CallingConvention::StdC::PPCSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 228 of file signature.h.

References NULL.

Referenced by CallStatement::bypassRef(), and LibProc::getProven().

virtual Exp* Signature::getReturnExp int  n  )  [inline, virtual]
 

Definition at line 133 of file signature.h.

References returns.

Referenced by CHLLCode::AddProcDec(), CallStatement::calcResults(), UserProc::getDefinitions(), Proc::printDetailsXML(), and UserProc::removeRedundantReturns().

Exp * Signature::getReturnExp2 BinaryFile pBF  )  [static]
 

Definition at line 1496 of file signature.cpp.

References BinaryFile::GetMachine(), MACHINE_PENTIUM, MACHINE_SPARC, MACHINE_ST20, NULL, and Location::regOf().

Returns& Signature::getReturns  )  [inline]
 

Definition at line 140 of file signature.h.

References returns.

virtual Type* Signature::getReturnType int  n  )  [inline, virtual]
 

Definition at line 135 of file signature.h.

References returns.

Referenced by CHLLCode::AddProcDec(), FuncType::getCtype(), FuncType::getReturnAndParam(), and Proc::printDetailsXML().

const char* Signature::getSigFile  )  [inline]
 

Definition at line 147 of file signature.h.

References sigFile.

Referenced by Decompiler::getSigFile().

int Signature::getStackRegister Prog prog  )  throw (StackRegisterNotDefinedException) [static]
 

Definition at line 1614 of file signature.cpp.

References MACHINE_PENTIUM, MACHINE_PPC, MACHINE_SPARC, and MACHINE_ST20.

int Signature::getStackRegister  )  throw (StackRegisterNotDefinedException) [virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, CallingConvention::StdC::ST20Signature, and CustomSignature.

Definition at line 1607 of file signature.cpp.

References LOG, and VERBOSE.

Referenced by CHLLCode::AddProcDec(), UserProc::filterParams(), UserProc::findSpPreservation(), UserProc::fixCallAndPhiRefs(), UserProc::getSymbolExp(), isAddrOfStackLocal(), UserProc::isLocalOrParamPattern(), UserProc::mapExpressionsToLocals(), UserProc::removeSpAssignsIfPossible(), and ReturnStatement::updateReturns().

virtual Exp* Signature::getStackWildcard  )  [inline, virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 202 of file signature.h.

References NULL.

StatementList & Signature::getStdRetStmt Prog prog  )  [static]
 

Definition at line 1566 of file signature.cpp.

References StatementList::append(), Prog::getMachine(), MACHINE_PENTIUM, MACHINE_SPARC, MACHINE_ST20, Location::memOf(), opPC, and opPlus.

Type * Signature::getTypeFor Exp e  ) 
 

Definition at line 2016 of file signature.cpp.

References returns.

virtual bool Signature::hasEllipsis  )  [inline, virtual]
 

Definition at line 177 of file signature.h.

References ellipsis.

Referenced by CallStatement::ellipsisProcessing(), and ArgSourceProvider::exists().

Signature * Signature::instantiate platform  plat,
callconv  cc,
const char *  nam
[static]
 

Definition at line 1369 of file signature.cpp.

References CONV_C, CONV_PASCAL, CONV_THISCALL, conventionName(), NULL, PLAT_PENTIUM, PLAT_PPC, PLAT_SPARC, PLAT_ST20, and platformName().

Referenced by FrontEnd::getDefaultSignature(), and Prog::newProc().

bool Signature::isAddrOfStackLocal Prog prog,
Exp e
[virtual]
 

Reimplemented in CallingConvention::StdC::SparcSignature.

Definition at line 1639 of file signature.cpp.

References Exp::getOper(), getStackRegister(), Unary::getSubExp1(), Exp::getSubExp1(), Exp::isIntConst(), isLocalOffsetNegative(), isLocalOffsetPositive(), isStackLocal(), Exp::isSubscript(), opAddrOf, opMinus, opPlus, Location::regOf(), and sp.

Referenced by Binary::descendType(), isStackLocal(), and UserProc::mapExpressionsToLocals().

bool Signature::isForced  )  [inline]
 

Definition at line 124 of file signature.h.

References forced.

Referenced by CHLLCode::AddProcDec(), UserProc::findFinalParameters(), print(), UserProc::removeRedundantParameters(), and UserProc::removeRedundantReturns().

virtual bool Signature::isLocalOffsetNegative  )  [inline, virtual]
 

Definition at line 217 of file signature.h.

Referenced by isAddrOfStackLocal(), and isOpCompatStackLocal().

virtual bool Signature::isLocalOffsetPositive  )  [inline, virtual]
 

Reimplemented in CallingConvention::StdC::SparcSignature, and CallingConvention::StdC::PPCSignature.

Definition at line 219 of file signature.h.

Referenced by isAddrOfStackLocal(), and isOpCompatStackLocal().

bool Signature::isOpCompatStackLocal OPER  op  ) 
 

Definition at line 1841 of file signature.cpp.

References isLocalOffsetNegative(), isLocalOffsetPositive(), opMinus, and opPlus.

virtual bool Signature::isPreserved Exp e  )  [inline, virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, and CallingConvention::StdC::PPCSignature.

Definition at line 229 of file signature.h.

Referenced by LibProc::isPreserved().

virtual bool Signature::isPromoted  )  [inline, virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, CallingConvention::StdC::PPCSignature, CallingConvention::StdC::ST20Signature, and CustomSignature.

Definition at line 234 of file signature.h.

Referenced by UserProc::isLocalOrParamPattern().

bool Signature::isStackLocal Prog prog,
Exp e
 

Definition at line 1630 of file signature.cpp.

References addr(), Exp::getSubExp1(), isAddrOfStackLocal(), Exp::isMemOf(), and Exp::isSubscript().

Referenced by Assignment::dfaTypeAnalysis(), CallingConvention::StdC::SparcSignature::isAddrOfStackLocal(), isAddrOfStackLocal(), and DfaLocalMapper::processExp().

bool Signature::isUnknown  )  [inline]
 

Definition at line 121 of file signature.h.

References unknown.

Referenced by Decompiler::alert_new().

void Signature::killEllipsis  )  [inline]
 

Definition at line 156 of file signature.h.

References ellipsis.

bool Signature::operator== Signature other  )  [virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 1104 of file signature.cpp.

References params, and returns.

Referenced by CallingConvention::StdC::SparcSignature::operator==(), CallingConvention::StdC::ST20Signature::operator==(), CallingConvention::StdC::PentiumSignature::operator==(), and CallingConvention::Win32Signature::operator==().

char * Signature::platformName platform  plat  )  [static]
 

Definition at line 48 of file signature.cpp.

References PLAT_M68K, PLAT_MIPS, PLAT_PARISC, PLAT_PENTIUM, PLAT_PPC, PLAT_SPARC, and PLAT_ST20.

Referenced by instantiate(), XMLProgParser::persistToXML(), and FrontEnd::readLibraryCatalog().

void Signature::print std::ostream &  out,
bool  html = false
 

Definition at line 1394 of file signature.cpp.

References isForced(), and returns.

Referenced by UserProc::print(), prints(), and printToLog().

char * Signature::prints  ) 
 

Definition at line 1420 of file signature.cpp.

References debug_buffer, DEBUG_BUFSIZE, and print().

void Signature::printToLog  ) 
 

Definition at line 1428 of file signature.cpp.

References LOG, and print().

Referenced by Prog::newProc().

Signature * Signature::promote UserProc p  )  [virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, and CallingConvention::StdC::ST20Signature.

Definition at line 1329 of file signature.cpp.

References CallingConvention::StdC::ST20Signature::qualified(), CallingConvention::StdC::PPCSignature::qualified(), CallingConvention::StdC::SparcSignature::qualified(), CallingConvention::StdC::PentiumSignature::qualified(), and CallingConvention::Win32Signature::qualified().

Referenced by UserProc::promoteSignature().

void Signature::removeParameter int  i  )  [virtual]
 

Definition at line 1194 of file signature.cpp.

References params.

void Signature::removeParameter Exp e  )  [virtual]
 

Definition at line 1188 of file signature.cpp.

References findParam().

Referenced by Proc::removeParameter(), and UserProc::removeRedundantParameters().

void Signature::removeReturn Exp e  )  [virtual]
 

Definition at line 1310 of file signature.cpp.

References findReturn(), and returns.

Referenced by Proc::removeReturn().

void Signature::renameParam const char *  oldName,
const char *  newName
 

Definition at line 1276 of file signature.cpp.

References getName(), getNumParams(), and params.

Referenced by Proc::renameParam().

bool Signature::returnCompare Assignment a,
Assignment b
[virtual]
 

Reimplemented in CallingConvention::StdC::PentiumSignature, and CallingConvention::StdC::SparcSignature.

Definition at line 1847 of file signature.cpp.

References Assignment::getLeft().

void Signature::setABIdefines Prog prog,
StatementList defs
[static]
 

Definition at line 1514 of file signature.cpp.

References StatementList::append(), Prog::getMachine(), MACHINE_PENTIUM, MACHINE_PPC, MACHINE_SPARC, MACHINE_ST20, and StatementList::size().

void Signature::setForced bool  f  )  [inline]
 

Definition at line 125 of file signature.h.

References forced.

Referenced by FrontEnd::getEntryPoints().

virtual void Signature::setLibraryDefines StatementList defs  )  [inline, virtual]
 

Reimplemented in CallingConvention::Win32Signature, CallingConvention::StdC::PentiumSignature, CallingConvention::StdC::SparcSignature, and CallingConvention::StdC::PPCSignature.

Definition at line 230 of file signature.h.

Referenced by CallStatement::updateDefines().

void Signature::setName const char *  nam  )  [virtual]
 

Definition at line 1124 of file signature.cpp.

References name.

Referenced by FrontEnd::getEntryPoints(), and Proc::setName().

void Signature::setNumParams int  n  )  [virtual]
 

Definition at line 1200 of file signature.cpp.

References params.

void Signature::setParamExp int  n,
Exp e
[virtual]
 

Definition at line 1263 of file signature.cpp.

References params.

void Signature::setParamName int  n,
const char *  nam
[virtual]
 

Definition at line 1258 of file signature.cpp.

References params.

void Signature::setParamType Exp e,
Type ty
[virtual]
 

Definition at line 1249 of file signature.cpp.

References findParam(), LOG, and params.

void Signature::setParamType const char *  nam,
Type ty
[virtual]
 

Definition at line 1240 of file signature.cpp.

References findParam(), LOG, and params.

void Signature::setParamType int  n,
Type ty
[virtual]
 

Definition at line 1236 of file signature.cpp.

References params.

Referenced by UserProc::setParamType().

void Signature::setPreferedName const char *  nam  )  [inline]
 

Definition at line 247 of file signature.h.

References preferedName.

void Signature::setPreferedReturn Type ty  )  [inline]
 

Definition at line 246 of file signature.h.

References preferedReturn.

void Signature::setRetType Type t  )  [inline]
 

Definition at line 139 of file signature.h.

References rettype.

void Signature::setReturnExp int  n,
Exp e
[inline]
 

Definition at line 134 of file signature.h.

References returns.

void Signature::setReturnType int  n,
Type ty
[virtual]
 

Definition at line 1320 of file signature.cpp.

References returns.

void Signature::setSigFile const char *  nam  )  [inline]
 

Definition at line 148 of file signature.h.

References sigFile.

void Signature::setUnknown bool  b  )  [inline]
 

Definition at line 122 of file signature.h.

References unknown.

bool Signature::usesNewParam UserProc p,
Statement stmt,
bool  checkreach,
int &  n
[protected]
 

Definition at line 1435 of file signature.cpp.

References StatementSet::begin(), StatementSet::end(), getNumParams(), getParamExp(), Statement::printAsUse(), Statement::usesExp(), and VERBOSE.


Friends And Related Function Documentation

friend class XMLProgParser [friend]
 

Definition at line 260 of file signature.h.


Member Data Documentation

bool Signature::ellipsis [protected]
 

Definition at line 94 of file signature.h.

Referenced by addEllipsis(), CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), hasEllipsis(), killEllipsis(), and XMLProgParser::persistToXML().

bool Signature::forced [protected]
 

Definition at line 98 of file signature.h.

Referenced by isForced(), and setForced().

std::string Signature::name [protected]
 

Definition at line 88 of file signature.h.

Referenced by CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), getName(), XMLProgParser::persistToXML(), setName(), and Signature().

std::vector<Parameter*> Signature::params [protected]
 

Definition at line 90 of file signature.h.

Referenced by addParameter(), CallingConvention::StdC::SparcSignature::addParameter(), CallingConvention::StdC::ST20Signature::addParameter(), CallingConvention::StdC::PPCSignature::addParameter(), CallingConvention::StdC::PentiumSignature::addParameter(), CallingConvention::Win32Signature::addParameter(), appendParameter(), CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), dfaTypeAnalysis(), CallingConvention::StdC::SparcSignature::getArgumentExp(), CallingConvention::StdC::ST20Signature::getArgumentExp(), CallingConvention::StdC::PPCSignature::getArgumentExp(), CallingConvention::StdC::PentiumSignature::getArgumentExp(), CallingConvention::Win32TcSignature::getArgumentExp(), CallingConvention::Win32Signature::getArgumentExp(), getNumParams(), getParamBoundMax(), getParamExp(), getParamName(), getParamType(), CallingConvention::Win32TcSignature::getProven(), CallingConvention::Win32Signature::getProven(), operator==(), XMLProgParser::persistToXML(), removeParameter(), renameParam(), setNumParams(), setParamExp(), setParamName(), and setParamType().

std::string Signature::preferedName [protected]
 

Definition at line 100 of file signature.h.

Referenced by CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), getPreferedName(), XMLProgParser::persistToXML(), and setPreferedName().

std::vector<int> Signature::preferedParams [protected]
 

Definition at line 101 of file signature.h.

Referenced by addPreferedParameter(), CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), getNumPreferedParams(), and getPreferedParam().

Type* Signature::preferedReturn [protected]
 

Definition at line 99 of file signature.h.

Referenced by CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), getPreferedReturn(), and setPreferedReturn().

Type* Signature::rettype [protected]
 

Definition at line 93 of file signature.h.

Referenced by CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), and setRetType().

Returns Signature::returns [protected]
 

Definition at line 92 of file signature.h.

Referenced by addReturn(), appendReturn(), CustomSignature::clone(), clone(), CallingConvention::StdC::SparcLibSignature::clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), CallingConvention::Win32TcSignature::clone(), CallingConvention::Win32Signature::clone(), findReturn(), getNumReturns(), getReturnExp(), getReturns(), getReturnType(), getTypeFor(), operator==(), print(), removeReturn(), CallingConvention::StdC::PentiumSignature::setLibraryDefines(), CallingConvention::Win32Signature::setLibraryDefines(), setReturnExp(), and setReturnType().

std::string Signature::sigFile [protected]
 

Definition at line 89 of file signature.h.

Referenced by clone(), getSigFile(), and setSigFile().

bool Signature::unknown [protected]
 

Definition at line 95 of file signature.h.

Referenced by clone(), CallingConvention::StdC::SparcSignature::clone(), CallingConvention::StdC::ST20Signature::clone(), CallingConvention::StdC::PPCSignature::clone(), CallingConvention::StdC::PentiumSignature::clone(), isUnknown(), and setUnknown().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:45 2006 for Boomerang by  doxygen 1.4.6