Beispiel #1
0
        private SymbolCollection(IPlatformIdAllocator aIdAllocator, SymbolCollection aCopy)
        {
            iId                  = aIdAllocator.AllocateId();
            iIdAllocator         = aIdAllocator;
            iTag                 = aCopy.iTag;
            iOriginalCollection  = aCopy;
            iFlags               = aCopy.iFlags;
            iTagged              = aCopy.iTagged;
            iBaseAddress         = aCopy.iBaseAddress;
            iCodeSegmentResolver = aCopy.iCodeSegmentResolver;
            iRelocationHandler   = aCopy.iRelocationHandler;
            iFileName            = PlatformFileName.New(aCopy.FileName);
            iCodeSegmentResolver = aCopy.IfaceCodeSegmentResolver;
            iRelocationHandler   = aCopy.IfaceRelocationHandler;

            // Deep copy symbols
            foreach (Symbol symbol in aCopy)
            {
                Symbol clone = Symbol.NewClone(this, symbol);
                iSymbols.Add(clone);
            }

            // Recalculate addresses
            RecalculationAddressRange();
        }
Beispiel #2
0
 private SymbolCollection(IPlatformIdAllocator aIdAllocator, string aFileNameInHost)
 {
     iOriginalCollection = null;
     iId          = aIdAllocator.AllocateId();
     iIdAllocator = aIdAllocator;
     iFileName    = PlatformFileName.NewByHostName(aFileNameInHost);
     DefaultSymbolAdd();
 }
 private CodeCollection(IPlatformIdAllocator aIdAllocator, CodeCollection aCopy)
 {
     iId = aIdAllocator.AllocateId();
     //
     iCode                 = aCopy.iCode;
     iTag                  = aCopy.iTag;
     iFlags                = aCopy.iFlags;
     iTagged               = aCopy.iTagged;
     iBaseAddress          = aCopy.iBaseAddress;
     iCodeSegmentResolver  = aCopy.iCodeSegmentResolver;
     iRelocationHandler    = aCopy.iRelocationHandler;
     iFileName             = PlatformFileName.New(aCopy.FileName);
     iInstructionConverter = aCopy.IfaceInstructionConverter;
     iCodeSegmentResolver  = aCopy.IfaceCodeSegmentResolver;
     iRelocationHandler    = aCopy.IfaceRelocationHandler;
 }
 private CodeCollection(IPlatformIdAllocator aIdAllocator, string aFileNameInHost)
 {
     iId       = aIdAllocator.AllocateId();
     iFileName = PlatformFileName.NewByHostName(aFileNameInHost);
 }