#include <xi-Parameter.h>
Public Member Functions | |
ParamList (ParamList *pl) | |
ParamList (Parameter *Nparam, ParamList *Nnext=NULL) | |
int | print (XStr &str, int withDefaultValues=0, int useConst=1, int fwdNum=0) |
void | printTypes (XStr &str, int withDefaultValues=0, int useConst=1) |
void | printAddress (XStr &str) |
void | printValue (XStr &str) |
int | isNamed (void) const |
int | isBuiltin (void) const |
int | isMessage (void) const |
const char * | getArrayLen (void) const |
int | isArray (void) const |
int | isReference (void) const |
int | declaredReference (void) const |
bool | isConst (void) const |
int | isVoid (void) const |
int | isPointer (void) const |
int | hasRdma (void) |
int | hasSendRdma (void) |
int | hasRecvRdma (void) |
int | isRdma (void) |
int | getRdma (void) |
int | isFirstRdma (void) |
int | isRecvRdma (void) |
const char * | getGivenName (void) const |
void | setGivenName (const char *s) |
const char * | getName (void) const |
int | isMarshalled (void) const |
int | isCkArgMsgPtr (void) const |
int | isCkMigMsgPtr (void) const |
int | getNumStars (void) const |
const char * | getBaseName (void) |
void | genMsgProxyName (XStr &str) |
void | printMsg (XStr &str) |
void | preprocess () |
int | hasConditional () |
void | marshall (XStr &str, XStr &entry) |
marshalling: pack fields into flat byte buffer | |
void | beginUnmarshall (XStr &str) |
unmarshalling: unpack fields from flat buffer | |
void | beginUnmarshallSDAG (XStr &str) |
void | beginUnmarshallSDAGCall (XStr &str, bool usesImplBuf) |
unmarshalling: unpack fields from flat buffer | |
void | beginRednWrapperUnmarshall (XStr &str, bool isSDAGGen) |
void | unmarshall (XStr &str, bool isInline=false, bool isFirst=true, bool isRdmaPost=false) |
void | unmarshallForward (XStr &str, bool isInline=false, bool isFirst=true, bool isRdmaPost=false, int fwdNum=1) |
void | unmarshallSDAGCall (XStr &str, int isFirst=1) |
void | unmarshallAddress (XStr &str, int isFirst=1) |
void | pupAllValues (XStr &str) |
void | endUnmarshall (XStr &str) |
int | operator== (ParamList &plist) |
void | checkParamList () |
void | storePostedRdmaPtrs (XStr &str, bool isSDAGGen) |
Data Fields | |
Entry * | entry |
Parameter * | param |
ParamList * | next |
Private Types | |
typedef int(Parameter::* | pred_t )(void) const |
typedef void(Parameter::* | fn_t )(XStr &str) |
typedef void(Parameter::* | rdmafn_t )(XStr &str, bool genRegArray) |
typedef void(Parameter::* | rdmarecvfn_t )(XStr &str, bool genRdma, bool isSDAGGen, int &count) |
Private Member Functions | |
int | orEach (pred_t f) |
void | callEach (fn_t f, XStr &str) |
void | callEach (rdmafn_t f, XStr &str, bool genRegArray) |
void | callEach (rdmarecvfn_t f, XStr &str, bool genRdma, bool isSDAGGen) |
void | encloseFlag (XStr &str) |
Private Attributes | |
bool | manyPointers |
Definition at line 109 of file xi-Parameter.h.
typedef int(Parameter::* xi::ParamList::pred_t)(void) const [private] |
typedef void(Parameter::* xi::ParamList::fn_t)(XStr &str) [private] |
typedef void(Parameter::* xi::ParamList::rdmafn_t)(XStr &str, bool genRegArray) [private] |
typedef void(Parameter::* xi::ParamList::rdmarecvfn_t)(XStr &str, bool genRdma, bool isSDAGGen, int &count) [private] |
xi::ParamList::ParamList | ( | ParamList * | pl | ) |
Definition at line 89 of file xi-Parameter.C.
Definition at line 971 of file xi-Parameter.C.
References isMessage(), xi::Parameter::isMessage(), manyPointers, next, and param.
Definition at line 172 of file xi-Parameter.C.
Referenced by hasConditional(), hasRdma(), hasRecvRdma(), hasSendRdma(), and marshall().
Definition at line 181 of file xi-Parameter.C.
Referenced by beginRednWrapperUnmarshall(), beginUnmarshall(), beginUnmarshallSDAG(), beginUnmarshallSDAGCall(), marshall(), pupAllValues(), and storePostedRdmaPtrs().
void xi::ParamList::callEach | ( | rdmarecvfn_t | f, | |
XStr & | str, | |||
bool | genRdma, | |||
bool | isSDAGGen | |||
) | [private] |
void xi::ParamList::encloseFlag | ( | XStr & | str | ) | [private] |
int xi::ParamList::print | ( | XStr & | str, | |
int | withDefaultValues = 0 , |
|||
int | useConst = 1 , |
|||
int | fwdNum = 0 | |||
) |
Definition at line 92 of file xi-Parameter.C.
References next, param, print(), and xi::Parameter::print().
Referenced by beginRednWrapperUnmarshall(), beginUnmarshall(), xi::Entry::genIndexDecls(), marshall(), xi::Entry::paramType(), xi::FuncType::print(), print(), and xi::Entry::print().
Definition at line 101 of file xi-Parameter.C.
References xi::Parameter::getType(), next, param, xi::Type::print(), and printTypes().
Referenced by xi::CEntry::check(), and printTypes().
void xi::ParamList::printAddress | ( | XStr & | str | ) |
Definition at line 145 of file xi-Parameter.C.
References next, param, printAddress(), and xi::Parameter::printAddress().
Referenced by xi::Entry::genDefs(), and printAddress().
void xi::ParamList::printValue | ( | XStr & | str | ) |
Definition at line 159 of file xi-Parameter.C.
References next, param, printValue(), and xi::Parameter::printValue().
Referenced by xi::Entry::genDefs(), and printValue().
int xi::ParamList::isNamed | ( | void | ) | const |
Definition at line 978 of file xi-Parameter.C.
References xi::Type::isNamed(), param, and xi::Parameter::type.
int xi::ParamList::isBuiltin | ( | void | ) | const |
Definition at line 979 of file xi-Parameter.C.
References xi::Type::isBuiltin(), param, and xi::Parameter::type.
int xi::ParamList::isMessage | ( | void | ) | const |
Definition at line 980 of file xi-Parameter.C.
References xi::Parameter::isMessage(), next, and param.
Referenced by xi::Entry::eo(), xi::Entry::epStr(), xi::Entry::genDefs(), xi::Entry::genRegularCall(), isMarshalled(), ParamList(), unmarshall(), unmarshallAddress(), and unmarshallSDAGCall().
const char * xi::ParamList::getArrayLen | ( | void | ) | const |
Definition at line 988 of file xi-Parameter.C.
References xi::Parameter::getArrayLen(), and param.
int xi::ParamList::isArray | ( | void | ) | const |
Definition at line 989 of file xi-Parameter.C.
References xi::Parameter::isArray(), and param.
Referenced by beginRednWrapperUnmarshall().
int xi::ParamList::isReference | ( | void | ) | const |
Definition at line 990 of file xi-Parameter.C.
References xi::Parameter::byReference, xi::Type::isReference(), param, and xi::Parameter::type.
Referenced by unmarshallForward().
int xi::ParamList::declaredReference | ( | void | ) | const |
Definition at line 993 of file xi-Parameter.C.
References xi::Parameter::declaredReference, xi::Type::isReference(), param, and xi::Parameter::type.
bool xi::ParamList::isConst | ( | void | ) | const |
Definition at line 996 of file xi-Parameter.C.
References xi::Parameter::byConst, xi::Type::isConst(), param, and xi::Parameter::type.
int xi::ParamList::isVoid | ( | void | ) | const |
Definition at line 997 of file xi-Parameter.C.
References xi::Parameter::isVoid(), next, and param.
Referenced by xi::Entry::check(), xi::Entry::epStr(), xi::Entry::genCall(), xi::Entry::genChareStaticConstructorDecl(), xi::Entry::genChareStaticConstructorDefs(), xi::Entry::genDefs(), xi::SdagEntryConstruct::generateCode(), xi::WhenConstruct::generateEntryName(), xi::Entry::genGroupStaticConstructorDecl(), xi::Entry::genGroupStaticConstructorDefs(), xi::Entry::genReg(), xi::Entry::genRegEp(), xi::Entry::genRegularCall(), isMarshalled(), marshall(), xi::Entry::paramComma(), xi::Entry::paramType(), xi::SdagConstruct::propagateState(), xi::Entry::setChare(), unmarshall(), unmarshallAddress(), and unmarshallSDAGCall().
int xi::ParamList::isPointer | ( | void | ) | const |
Definition at line 998 of file xi-Parameter.C.
References xi::Type::isPointer(), param, and xi::Parameter::type.
int xi::ParamList::hasRdma | ( | void | ) |
Definition at line 981 of file xi-Parameter.C.
References xi::Parameter::isRdma(), and orEach().
Referenced by beginRednWrapperUnmarshall(), beginUnmarshall(), beginUnmarshallSDAG(), beginUnmarshallSDAGCall(), xi::Entry::genChareDefs(), xi::Entry::genGroupDefs(), xi::Entry::genRegularCall(), and marshall().
int xi::ParamList::hasSendRdma | ( | void | ) |
Definition at line 982 of file xi-Parameter.C.
References xi::Parameter::isSendRdma(), and orEach().
Referenced by marshall().
int xi::ParamList::hasRecvRdma | ( | void | ) |
Definition at line 983 of file xi-Parameter.C.
References xi::Parameter::isRecvRdma(), and orEach().
Referenced by beginRednWrapperUnmarshall(), beginUnmarshall(), beginUnmarshallSDAGCall(), xi::Entry::genCall(), xi::Entry::genRegularCall(), and marshall().
int xi::ParamList::isRdma | ( | void | ) |
Definition at line 984 of file xi-Parameter.C.
References xi::Parameter::isRdma(), and param.
int xi::ParamList::getRdma | ( | void | ) |
Definition at line 985 of file xi-Parameter.C.
References xi::Parameter::getRdma(), and param.
int xi::ParamList::isFirstRdma | ( | void | ) |
Definition at line 986 of file xi-Parameter.C.
References xi::Parameter::isFirstRdma(), and param.
int xi::ParamList::isRecvRdma | ( | void | ) |
Definition at line 987 of file xi-Parameter.C.
References xi::Parameter::isRecvRdma(), and param.
const char * xi::ParamList::getGivenName | ( | void | ) | const |
Definition at line 999 of file xi-Parameter.C.
References xi::Parameter::getGivenName(), and param.
void xi::ParamList::setGivenName | ( | const char * | s | ) |
Definition at line 1000 of file xi-Parameter.C.
References param, and xi::Parameter::setGivenName().
const char * xi::ParamList::getName | ( | void | ) | const |
Definition at line 1001 of file xi-Parameter.C.
References xi::Parameter::getName(), and param.
int xi::ParamList::isMarshalled | ( | void | ) | const |
Definition at line 1002 of file xi-Parameter.C.
References isMessage(), and isVoid().
Referenced by beginRednWrapperUnmarshall(), beginUnmarshall(), beginUnmarshallSDAG(), beginUnmarshallSDAGCall(), xi::Entry::check(), xi::Entry::Entry(), xi::Entry::genCall(), xi::Entry::genDefs(), xi::Entry::genIndexDecls(), xi::Entry::genRegEp(), xi::Entry::genRegularCall(), marshall(), xi::Entry::paramIsMarshalled(), pupAllValues(), and xi::Entry::setChare().
int xi::ParamList::isCkArgMsgPtr | ( | void | ) | const |
Definition at line 1003 of file xi-Parameter.C.
References xi::Parameter::isCkArgMsgPtr(), next, and param.
Referenced by xi::Entry::check(), and xi::Entry::genCall().
int xi::ParamList::isCkMigMsgPtr | ( | void | ) | const |
Definition at line 1006 of file xi-Parameter.C.
References xi::Parameter::isCkMigMsgPtr(), next, and param.
Referenced by xi::Entry::genCall().
int xi::ParamList::getNumStars | ( | void | ) | const |
Definition at line 1009 of file xi-Parameter.C.
References xi::Type::getNumStars(), param, and xi::Parameter::type.
const char * xi::ParamList::getBaseName | ( | void | ) |
Definition at line 1010 of file xi-Parameter.C.
References xi::Type::getBaseName(), param, and xi::Parameter::type.
Referenced by xi::Entry::epStr().
void xi::ParamList::genMsgProxyName | ( | XStr & | str | ) |
Definition at line 1011 of file xi-Parameter.C.
References xi::Type::genMsgProxyName(), param, and xi::Parameter::type.
Referenced by xi::Entry::genRegEp().
void xi::ParamList::printMsg | ( | XStr & | str | ) |
Definition at line 922 of file xi-Parameter.C.
References next, param, and xi::Parameter::printMsg().
void xi::ParamList::preprocess | ( | ) |
int xi::ParamList::hasConditional | ( | ) |
Definition at line 203 of file xi-Parameter.C.
References xi::Parameter::isConditional(), and orEach().
Referenced by xi::Entry::genDefs(), xi::Entry::genRegEp(), marshall(), and xi::Entry::preprocess().
marshalling: pack fields into flat byte buffer
Definition at line 206 of file xi-Parameter.C.
References callEach(), xi::Parameter::copyPtr(), entry, xi::Entry::getContainer(), hasConditional(), hasRdma(), hasRecvRdma(), hasSendRdma(), xi::Parameter::isArray(), xi::Chare::isChare(), xi::Chare::isForElement(), isMarshalled(), isVoid(), xi::Parameter::marshallArrayData(), xi::Parameter::marshallRdmaArrayData(), xi::Parameter::marshallRdmaParameters(), xi::Parameter::marshallRegArraySizes(), xi::Entry::numRdmaRecvParams, xi::Entry::numRdmaSendParams, orEach(), print(), xi::Parameter::pup(), and xi::Parameter::pupRdma().
Referenced by xi::Entry::marshallMsg().
void xi::ParamList::beginUnmarshall | ( | XStr & | str | ) |
unmarshalling: unpack fields from flat buffer
Definition at line 513 of file xi-Parameter.C.
References xi::Parameter::beginUnmarshall(), xi::Parameter::beginUnmarshallRdma(), callEach(), entry, hasRdma(), hasRecvRdma(), index, isMarshalled(), xi::Entry::numRdmaRecvParams, print(), xi::Parameter::unmarshallRdmaArrayData(), and xi::Parameter::unmarshallRegArrayData().
Referenced by xi::Entry::genCall(), and xi::Entry::genDefs().
void xi::ParamList::beginUnmarshallSDAG | ( | XStr & | str | ) |
Definition at line 703 of file xi-Parameter.C.
References xi::Parameter::adjustUnmarshalledRdmaPtrsSDAG(), xi::Parameter::beginUnmarshall(), xi::Parameter::beginUnmarshallRdma(), callEach(), hasRdma(), isMarshalled(), xi::Parameter::unmarshallRdmaArrayDataSDAG(), and xi::Parameter::unmarshallRegArrayDataSDAG().
Referenced by xi::Entry::genClosure().
unmarshalling: unpack fields from flat buffer
Definition at line 654 of file xi-Parameter.C.
References xi::Parameter::beginUnmarshallSDAGCall(), xi::Parameter::beginUnmarshallSDAGCallRdma(), callEach(), entry, xi::Entry::genClosureTypeNameProxyTemp, hasRdma(), hasRecvRdma(), index, isMarshalled(), xi::Entry::numRdmaRecvParams, xi::Parameter::unmarshallRdmaArrayDataSDAGCall(), and xi::Parameter::unmarshallRegArrayDataSDAGCall().
Referenced by xi::Entry::genCall().
Definition at line 388 of file xi-Parameter.C.
References xi::Parameter::beginUnmarshall(), xi::Parameter::beginUnmarshallRdma(), xi::Parameter::beginUnmarshallSDAGCall(), xi::Parameter::beginUnmarshallSDAGCallRdma(), callEach(), xi::Type::deref(), dt, entry, xi::Entry::genClosureTypeNameProxyTemp, hasRdma(), hasRecvRdma(), isArray(), isMarshalled(), xi::Parameter::name, next, param, print(), xi::Parameter::type, xi::Parameter::unmarshallRegArrayData(), and xi::Parameter::unmarshallRegArrayDataSDAGCall().
Referenced by xi::Entry::genCall().
void xi::ParamList::unmarshall | ( | XStr & | str, | |
bool | isInline = false , |
|||
bool | isFirst = true , |
|||
bool | isRdmaPost = false | |||
) |
Definition at line 799 of file xi-Parameter.C.
References entry, xi::Parameter::getName(), xi::Parameter::isArray(), isMessage(), xi::Parameter::isRdma(), xi::Parameter::isRecvRdma(), isVoid(), xi::Entry::isWhenEntry, next, param, xi::Entry::sdagCon, xi::Parameter::type, and unmarshall().
Referenced by xi::Entry::genGroupDefs(), xi::Entry::genRegularCall(), unmarshall(), and unmarshallForward().
void xi::ParamList::unmarshallForward | ( | XStr & | str, | |
bool | isInline = false , |
|||
bool | isFirst = true , |
|||
bool | isRdmaPost = false , |
|||
int | fwdNum = 1 | |||
) |
Definition at line 837 of file xi-Parameter.C.
References xi::Parameter::getName(), isReference(), next, param, unmarshall(), and unmarshallForward().
Referenced by xi::Entry::genArrayDefs(), and unmarshallForward().
Definition at line 771 of file xi-Parameter.C.
References xi::Parameter::getName(), isMessage(), isVoid(), next, param, xi::Parameter::type, and unmarshallSDAGCall().
Referenced by unmarshallSDAGCall().
Definition at line 856 of file xi-Parameter.C.
References xi::Parameter::getName(), xi::Parameter::isArray(), isMessage(), isVoid(), next, param, xi::Parameter::type, and unmarshallAddress().
Referenced by xi::Entry::genCall(), and unmarshallAddress().
void xi::ParamList::pupAllValues | ( | XStr & | str | ) |
Definition at line 874 of file xi-Parameter.C.
References callEach(), isMarshalled(), and xi::Parameter::pupAllValues().
Referenced by xi::Entry::genDefs().
void xi::ParamList::endUnmarshall | ( | XStr & | str | ) |
Definition at line 914 of file xi-Parameter.C.
Referenced by xi::Entry::genDefs().
void xi::ParamList::checkParamList | ( | ) |
Definition at line 1013 of file xi-Parameter.C.
References xi::Parameter::line, manyPointers, and param.
Referenced by xi::Entry::check().
Definition at line 552 of file xi-Parameter.C.
References callEach(), and xi::Parameter::storePostedRdmaPtrs().
Referenced by xi::Entry::genRegularCall().
bool xi::ParamList::manyPointers [private] |
Definition at line 122 of file xi-Parameter.h.
Referenced by beginRednWrapperUnmarshall(), beginUnmarshall(), beginUnmarshallSDAGCall(), xi::Entry::Entry(), marshall(), and unmarshall().
Definition at line 123 of file xi-Parameter.h.
Referenced by xi::Entry::aggregatorGlobalType(), xi::Entry::aggregatorType(), beginRednWrapperUnmarshall(), callEach(), xi::Entry::check(), checkParamList(), xi::Entry::dataItemType(), declaredReference(), xi::Entry::Entry(), xi::Entry::genAccelFullCallList(), xi::Entry::genAccelFullParamList(), xi::Entry::genAccelIndexWrapperDef_spe(), xi::Entry::genAccels_spe_c_funcBodies(), xi::Entry::genArrayDecl(), xi::Entry::genArrayDefs(), xi::Entry::genDefs(), genMsgProxyName(), xi::Entry::genTramDefs(), getArrayLen(), getBaseName(), getGivenName(), getName(), getNumStars(), getRdma(), isArray(), isBuiltin(), isCkArgMsgPtr(), isCkMigMsgPtr(), isConst(), isFirstRdma(), isMessage(), isNamed(), isPointer(), isRdma(), isRecvRdma(), isReference(), isVoid(), operator==(), orEach(), ParamList(), xi::Entry::preprocess(), print(), printAddress(), printMsg(), printTypes(), printValue(), setGivenName(), unmarshall(), unmarshallAddress(), unmarshallForward(), and unmarshallSDAGCall().
Definition at line 124 of file xi-Parameter.h.
Referenced by beginRednWrapperUnmarshall(), callEach(), xi::Entry::check(), xi::Entry::Entry(), xi::Entry::genAccelFullCallList(), xi::Entry::genAccelFullParamList(), xi::Entry::genAccelIndexWrapperDef_spe(), xi::Entry::genAccels_spe_c_funcBodies(), xi::Entry::genArrayDecl(), xi::Entry::genArrayDefs(), xi::Entry::genClosure(), isCkArgMsgPtr(), isCkMigMsgPtr(), isMessage(), isVoid(), operator==(), orEach(), ParamList(), xi::Entry::preprocess(), print(), printAddress(), printMsg(), printTypes(), printValue(), unmarshall(), unmarshallAddress(), unmarshallForward(), and unmarshallSDAGCall().