void SlotInformationStackLocation::RegisterSlot(DeferrableAutowiring* pDeferrable) { if(!tss.get()) // Nothing to do, this slot entry is missing return; if(tss->stump.bInitialized) // No reason to continue, stump already initialized return; if(!tss->Encloses(pDeferrable)) // Slot is extraneous, falling outside of the bounds of the original object--ignore return; tss->m_pCur = new SlotInformation( tss->m_pCur, pDeferrable->GetType(), reinterpret_cast<const unsigned char*>(pDeferrable) - reinterpret_cast<const unsigned char*>(tss->pObj), false ); }
SlotInformationStackLocation* SlotInformationStackLocation::CurrentStackLocation(void) { return tss.get(); }