InterSideEffectStandard_output.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #include "InterSideEffectStandard.hpp"
00009
00010 namespace OA {
00011 namespace SideEffect {
00012
00013 void InterSideEffectStandard::output(OA::IRHandlesIRInterface &ir)
00014 {
00015 sOutBuild->objStart("InterSideEffectStandard");
00016
00017 sOutBuild->mapStart("ProcToSideEffectMap", "ProcHandle", "OA_ptr<OA::SideEffect::SideEffectStandard>" );
00018
00019 std::map<ProcHandle, OA_ptr<OA::SideEffect::SideEffectStandard> >::iterator reg_ProcToSideEffectStandard_iterator;
00020 for(reg_ProcToSideEffectStandard_iterator = mProcToSideEffectMap.begin();
00021 reg_ProcToSideEffectStandard_iterator != mProcToSideEffectMap.end();
00022 reg_ProcToSideEffectStandard_iterator++)
00023 {
00024
00025 ProcHandle first = reg_ProcToSideEffectStandard_iterator->first;
00026 OA_ptr<OA::SideEffect::SideEffectStandard> &second = reg_ProcToSideEffectStandard_iterator->second;
00027 sOutBuild->mapEntryStart();
00028 sOutBuild->mapKeyStart();
00029 sOutBuild->outputIRHandle(first, ir);
00030 sOutBuild->mapKeyEnd();
00031 sOutBuild->mapValueStart();
00032 second->output(ir);
00033 sOutBuild->mapValueEnd();
00034 sOutBuild->mapEntryEnd();
00035 }
00036 sOutBuild->mapEnd("ProcToSideEffectMap");
00037
00038
00039
00040 sOutBuild->mapStart("CallToSideEffectMap", "CallHandle", "OA_ptr<OA::SideEffect::SideEffectStandard>" );
00041
00042 std::map<CallHandle, OA_ptr<OA::SideEffect::SideEffectStandard> >::iterator reg_CallToSideEffectStandard_iterator;
00043 for(reg_CallToSideEffectStandard_iterator = mCallToSideEffectMap.begin();
00044 reg_CallToSideEffectStandard_iterator != mCallToSideEffectMap.end();
00045 reg_CallToSideEffectStandard_iterator++)
00046 {
00047
00048 CallHandle first = reg_CallToSideEffectStandard_iterator->first;
00049 OA_ptr<OA::SideEffect::SideEffectStandard> &second = reg_CallToSideEffectStandard_iterator->second;
00050 sOutBuild->mapEntryStart();
00051 sOutBuild->mapKeyStart();
00052 sOutBuild->outputIRHandle(first, ir);
00053 sOutBuild->mapKeyEnd();
00054 sOutBuild->mapValueStart();
00055 second->output(ir);
00056 sOutBuild->mapValueEnd();
00057 sOutBuild->mapEntryEnd();
00058 }
00059 sOutBuild->mapEnd("CallToSideEffectMap");
00060
00061
00062
00063
00064 }
00065 }
00066 }