00001 // THIS IS AN AUTOMATICALLY GENERATED FILE 00002 // CREATED BY GenOutputTool. 00003 00004 #include "ReachConstsStandard.hpp" 00005 00006 namespace OA { 00007 namespace ReachConsts { 00008 00009 void ConstDef::output(OA::IRHandlesIRInterface &ir) 00010 { 00011 sOutBuild->objStart("ConstDef"); 00012 00013 sOutBuild->fieldStart("Location"); 00014 mLocPtr->output(ir); 00015 sOutBuild->fieldEnd("Location"); 00016 00017 // mCDType.output(ir); 00018 00019 sOutBuild->fieldStart("mCDType"); 00020 std::ostringstream oss; 00021 switch (mCDType) { 00022 case TOP: 00023 oss << ",TOP>"; break; 00024 case BOTTOM: 00025 oss << ",BOTTOM>"; break; 00026 case VALUE: 00027 oss << ",VALUE=" << (*mConstPtr).toString() << ">"; break; 00028 } 00029 sOutBuild->fieldEnd("mCDType"); 00030 // return oss.str(); 00031 00032 sOutBuild->outputString( oss.str()); 00033 00034 sOutBuild->objEnd("ConstDef"); 00035 } 00036 00037 void ConstDefSet::output(OA::IRHandlesIRInterface &ir) 00038 { 00039 sOutBuild->objStart("ConstDefSet"); 00040 00041 sOutBuild->listStart(); 00042 std::set<OA::OA_ptr<ConstDef> >::iterator reg_mSet_iterator; 00043 for(reg_mSet_iterator = mSet->begin(); 00044 reg_mSet_iterator != mSet->end(); 00045 reg_mSet_iterator++) 00046 { 00047 OA::OA_ptr<ConstDef> item = *reg_mSet_iterator; 00048 sOutBuild->listItemStart(); 00049 sOutBuild->fieldStart("ConstDefSet"); 00050 item->output(ir); 00051 sOutBuild->fieldEnd("ConstDefSet"); 00052 sOutBuild->listItemEnd(); 00053 } 00054 sOutBuild->listEnd(); 00055 sOutBuild->objEnd("ConstDefSet"); 00056 } 00057 00058 void ReachConstsStandard::output(OA::IRHandlesIRInterface &ir) 00059 { 00060 sOutBuild->objStart("ReachConstsStandard"); 00061 00062 sOutBuild->mapStart("mReachConsts", "StmtHandle", "OA::OA_ptr<ConstDefSet> "); 00063 std::map<StmtHandle, OA::OA_ptr<ConstDefSet> >::iterator reg_mReachConsts_iterator; 00064 for(reg_mReachConsts_iterator = mReachConsts.begin(); 00065 reg_mReachConsts_iterator != mReachConsts.end(); 00066 reg_mReachConsts_iterator++) 00067 { 00068 const StmtHandle &first = reg_mReachConsts_iterator->first; 00069 OA::OA_ptr<ConstDefSet> &second = reg_mReachConsts_iterator->second; 00070 sOutBuild->mapEntryStart(); 00071 sOutBuild->mapKeyStart(); 00072 sOutBuild->fieldStart("Statement"); 00073 sOutBuild->outputIRHandle(first, ir); 00074 sOutBuild->fieldEnd("Statement"); 00075 00076 sOutBuild->mapKeyEnd(); 00077 sOutBuild->mapValueStart(); 00078 second->output(ir); 00079 sOutBuild->mapValueEnd(); 00080 sOutBuild->mapEntryEnd(); 00081 } 00082 sOutBuild->mapEnd("mReachConsts"); 00083 00084 sOutBuild->objEnd("ReachConstsStandard"); 00085 } 00086 00087 00088 } // end of ReachConsts namespace 00089 } // end of OA namespace
1.7.1