CallingConvention::Win32Signature Class Reference

Inheritance diagram for CallingConvention::Win32Signature:

Signature CallingConvention::Win32TcSignature List of all members.

Detailed Description

Definition at line 72 of file signature.cpp.

Public Member Functions

virtual void addParameter (Type *type, const char *nam=NULL, Exp *e=NULL, const char *boundMax="")
virtual void addReturn (Type *type, Exp *e=NULL)
virtual Signatureclone ()
virtual ExpgetArgumentExp (int n)
virtual callconv getConvention ()
virtual platform getPlatform ()
virtual ExpgetProven (Exp *left)
virtual int getStackRegister () throw (StackRegisterNotDefinedException)
virtual ExpgetStackWildcard ()
virtual bool isPreserved (Exp *e)
virtual bool isPromoted ()
virtual bool operator== (Signature &other)
virtual Signaturepromote (UserProc *p)
virtual void setLibraryDefines (StatementList *defs)
 Win32Signature (Signature &old)
 Win32Signature (const char *nam)
virtual ~Win32Signature ()

Static Public Member Functions

static bool qualified (UserProc *p, Signature &candidate)


Constructor & Destructor Documentation

CallingConvention::Win32Signature::Win32Signature const char *  nam  ) 
 

Definition at line 224 of file signature.cpp.

References Signature::addReturn(), and Location::regOf().

Referenced by clone().

CallingConvention::Win32Signature::Win32Signature Signature old  ) 
 

Definition at line 230 of file signature.cpp.

virtual CallingConvention::Win32Signature::~Win32Signature  )  [inline, virtual]
 

Definition at line 77 of file signature.cpp.


Member Function Documentation

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

Reimplemented from Signature.

Definition at line 343 of file signature.cpp.

References Signature::addParameter(), getArgumentExp(), NULL, and Signature::params.

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

Reimplemented from Signature.

Definition at line 330 of file signature.cpp.

References Signature::addReturn(), Type::isFloat(), Type::isVoid(), NULL, and Location::regOf().

Signature * CallingConvention::Win32Signature::clone  )  [virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::Win32TcSignature.

Definition at line 267 of file signature.cpp.

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

Exp * CallingConvention::Win32Signature::getArgumentExp int  n  )  [virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::Win32TcSignature.

Definition at line 351 of file signature.cpp.

References Signature::getArgumentExp(), Location::memOf(), opPlus, Signature::params, and Location::regOf().

Referenced by addParameter().

virtual callconv CallingConvention::Win32Signature::getConvention  )  [inline, virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::Win32TcSignature.

Definition at line 96 of file signature.cpp.

References CONV_PASCAL.

virtual platform CallingConvention::Win32Signature::getPlatform  )  [inline, virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::Win32TcSignature.

Definition at line 95 of file signature.cpp.

References PLAT_PENTIUM.

Exp * CallingConvention::Win32Signature::getProven Exp left  )  [virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::Win32TcSignature.

Definition at line 390 of file signature.cpp.

References Exp::getSubExp1(), Exp::isRegOfK(), opPlus, Signature::params, and Location::regOf().

virtual int CallingConvention::Win32Signature::getStackRegister  )  throw (StackRegisterNotDefinedException) [inline, virtual]
 

Reimplemented from Signature.

Definition at line 88 of file signature.cpp.

Exp * CallingConvention::Win32Signature::getStackWildcard  )  [virtual]
 

Reimplemented from Signature.

Definition at line 382 of file signature.cpp.

References Location::memOf(), opMinus, opWild, and Location::regOf().

bool CallingConvention::Win32Signature::isPreserved Exp e  )  [virtual]
 

Reimplemented from Signature.

Definition at line 415 of file signature.cpp.

References Exp::getSubExp1(), and Exp::isRegOfK().

virtual bool CallingConvention::Win32Signature::isPromoted  )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 93 of file signature.cpp.

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

Reimplemented from Signature.

Definition at line 297 of file signature.cpp.

References Signature::operator==().

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

Reimplemented from Signature.

Definition at line 375 of file signature.cpp.

bool CallingConvention::Win32Signature::qualified UserProc p,
Signature candidate
[static]
 

Definition at line 307 of file signature.cpp.

References Prog::getFrontEndId(), Proc::getName(), Proc::getProg(), UserProc::getProven(), Prog::isWin32(), LOG, opPC, PLAT_PENTIUM, Location::regOf(), savedReturnLocation, stackPlusFour, and VERBOSE.

Referenced by Signature::promote().

void CallingConvention::Win32Signature::setLibraryDefines StatementList defs  )  [virtual]
 

Reimplemented from Signature.

Definition at line 437 of file signature.cpp.

References Type::isFloat(), Location::regOf(), Signature::returns, and StatementList::size().


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