internal CIStackEntry(CIStack aParent, StackOutputEntry aEntry) : base(aParent.Container, aParent) { iEntry = aEntry; // If the stack entry references a symbol then associate it with // the parent dictionary immediately. if (aEntry.Symbol != null) { ICISymbolManager symbolManager = this.SymbolManager; CISymbol symbol = symbolManager.SymbolDictionary.Register(aEntry.Symbol); this.AddChild(symbol); base.Trace(string.Format("[CIStackEntry] address: 0x{0:x8}, symbol: {1}, symId: {2}", iEntry.Data, symbol.Symbol, symbol.Id)); } }
public CIRegister(CIRegisterList aList, TArmRegisterType aType, string aName, uint aValue) : base(aList.Container) { iList = aList; // Create register and observe when it changes value iRegister = new ArmRegister(aType, aName, aValue); iRegister.Tag = this; // Prepare non-resolved symbol. I.e. this saves the address // but doesn't actually do any symbolic look up at this stage. ICISymbolManager symbolManager = this.SymbolManager; CISymbol symbol = symbolManager.SymbolDictionary.Register(iRegister.Value); base.AddChild(symbol); }