コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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);
        }