Exemplo n.º 1
0
        public IDebugType GetType(string fullName)
        {
            IDebugField type = null;

            this.SymbolProvider.GetTypeByName(fullName, NAME_MATCH.nmCaseSensitive, out type);
            if (type != null)
            {
                return(SymbolHelper.DebugTypeFromField(type, this));
            }
            IEnumDebugFields namespaceList = null;

            this.SymbolProvider.GetNamespacesUsedAtAddress(this.Address, out namespaceList);
            if (namespaceList != null)
            {
                int        namespaceCount = 0;
                int        fetched        = 0;
                FIELD_INFO namespaceInfo  = new FIELD_INFO();
                namespaceList.GetCount(out namespaceCount);
                for (int i = 0; i < namespaceCount; i++)
                {
                    IDebugField[] namespc = new IDebugField[1];
                    namespaceList.Next(1, namespc, out fetched);
                    if (fetched > 0)
                    {
                        namespc[0].GetInfo(FIELD_INFO_FIELDS.FIF_FULLNAME, out namespaceInfo);
                        this.SymbolProvider.GetTypeByName(namespaceInfo.bstrFullName + "." + fullName, NAME_MATCH.nmCaseSensitive, out type);
                        if (type != null)
                        {
                            return(SymbolHelper.DebugTypeFromField(type, this));
                        }
                    }
                }
            }
            if (type == null)
            {
                this.SymbolProvider.GetTypeByName("StructuralTypes." + fullName, NAME_MATCH.nmCaseSensitive, out type);
            }
            if (type != null)
            {
                return(SymbolHelper.DebugTypeFromField(type, this));
            }
            return(null);
        }
Exemplo n.º 2
0
 public  CEnumLocalSymbols(IEnumDebugFields fields, IDebugContext context) {
   this.m_Fields = fields;
   this.m_Context = context;
   this.m_Current = null;
   this.m_IsEnumeratingClosureClass = false;
   this.m_DisplayRetunLocal = false;
 }
Exemplo n.º 3
0
 public  CEnumSymbols(IEnumDebugFields fields, IDebugContext context) {
   this.m_Fields = fields;
   this.m_Context = context;
   this.m_Current = null;
 }