ArgSourceProvider Class Reference

List of all members.

Detailed Description

Definition at line 4586 of file statement.cpp.

Public Member Functions

 ArgSourceProvider (CallStatement *call)
TypecurType (Exp *e)
bool exists (Exp *loc)
Explocalise (Exp *e)
ExpnextArgLoc ()

Private Types

enum  Src { SRC_LIB, SRC_CALLEE, SRC_COL }

Private Attributes

CallStatementcall
StatementListcalleeParams
SignaturecallSig
DefCollector::iterator cc
DefCollectordefCol
int i
int n
StatementList::iterator pp
Src src


Member Enumeration Documentation

enum ArgSourceProvider::Src [private]
 

Enumerator:
SRC_LIB 
SRC_CALLEE 
SRC_COL 

Definition at line 4587 of file statement.cpp.


Constructor & Destructor Documentation

ArgSourceProvider::ArgSourceProvider CallStatement call  ) 
 

Definition at line 4604 of file statement.cpp.

References call, callSig, CallStatement::getDestProc(), Signature::getNumParams(), CallStatement::getSignature(), Proc::isLib(), src, and SRC_LIB.


Member Function Documentation

Type * ArgSourceProvider::curType Exp e  ) 
 

Definition at line 4668 of file statement.cpp.

References callSig, cc, Signature::getParamType(), NULL, pp, src, SRC_CALLEE, SRC_COL, and SRC_LIB.

Referenced by CallStatement::updateArguments().

bool ArgSourceProvider::exists Exp loc  ) 
 

Definition at line 4687 of file statement.cpp.

References StatementList::begin(), call, calleeParams, callSig, Exp::clone(), StatementList::end(), Signature::getParamExp(), Signature::hasEllipsis(), CallStatement::localiseComp(), pp, Exp::removeSubscripts(), src, SRC_CALLEE, and SRC_LIB.

Exp * ArgSourceProvider::localise Exp e  ) 
 

Definition at line 4657 of file statement.cpp.

References call, cc, CallStatement::localiseExp(), src, and SRC_COL.

Referenced by CallStatement::updateArguments().

Exp * ArgSourceProvider::nextArgLoc  ) 
 

Definition at line 4632 of file statement.cpp.

References call, calleeParams, callSig, cc, Exp::clone(), defCol, DefCollector::end(), StatementList::end(), Signature::getParamExp(), CallStatement::localiseComp(), NULL, pp, Exp::removeSubscripts(), src, SRC_CALLEE, SRC_COL, and SRC_LIB.

Referenced by CallStatement::updateArguments().


Member Data Documentation

CallStatement* ArgSourceProvider::call [private]
 

Definition at line 4589 of file statement.cpp.

Referenced by ArgSourceProvider(), exists(), localise(), and nextArgLoc().

StatementList* ArgSourceProvider::calleeParams [private]
 

Definition at line 4593 of file statement.cpp.

Referenced by exists(), and nextArgLoc().

Signature* ArgSourceProvider::callSig [private]
 

Definition at line 4591 of file statement.cpp.

Referenced by ArgSourceProvider(), curType(), exists(), and nextArgLoc().

DefCollector::iterator ArgSourceProvider::cc [private]
 

Definition at line 4594 of file statement.cpp.

Referenced by curType(), localise(), and nextArgLoc().

DefCollector* ArgSourceProvider::defCol [private]
 

Definition at line 4595 of file statement.cpp.

Referenced by nextArgLoc().

int ArgSourceProvider::i [private]
 

Definition at line 4590 of file statement.cpp.

int ArgSourceProvider::n [private]
 

Definition at line 4590 of file statement.cpp.

StatementList::iterator ArgSourceProvider::pp [private]
 

Definition at line 4592 of file statement.cpp.

Referenced by curType(), exists(), and nextArgLoc().

Src ArgSourceProvider::src [private]
 

Definition at line 4588 of file statement.cpp.

Referenced by ArgSourceProvider(), curType(), exists(), localise(), and nextArgLoc().


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