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(); }
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); }