예제 #1
0
 virtual void Save(NativeWriter * pWriter)
 {
     int existingOffset = pWriter->GetCurrentOffset(m_pDebugInfo);
     if (existingOffset != -1)
     {
         _ASSERTE(pWriter->GetCurrentOffset() > existingOffset);
         pWriter->WriteUnsigned(pWriter->GetCurrentOffset() - existingOffset);
     }
     else
     {
         pWriter->WriteUnsigned(0);
         pWriter->SetCurrentOffset(m_pDebugInfo);
         m_pDebugInfo->Save(pWriter);
     }
 }
예제 #2
0
 virtual void Save(NativeWriter * pWriter)
 {
     if (m_pFixups != NULL)
     {
         int existingOffset = pWriter->GetCurrentOffset(m_pFixups);
         if (existingOffset != -1)
         {
             pWriter->WriteUnsigned((m_methodIndex << 2) | 3);
             pWriter->WriteUnsigned(pWriter->GetCurrentOffset() - existingOffset);
         }
         else
         {
             pWriter->WriteUnsigned((m_methodIndex << 2) | 1);
             pWriter->SetCurrentOffset(m_pFixups);
             m_pFixups->Save(pWriter);
         }
     }
     else
     {
         pWriter->WriteUnsigned(m_methodIndex << 1);
     }
 }
예제 #3
0
 virtual void Save(NativeWriter * pWriter)
 {
     m_pBlob->Save(pWriter);
     EntryPointVertex::Save(pWriter);
 }