示例#1
0
        private int GetEnum(NavInfoList navInfoList, bool isObjectBrowser, bool isCanonical, ref ImmutableArray<IVsNavInfoNode> nodeList, out IVsEnumNavInfoNodes ppEnum)
        {
            if (nodeList == null)
            {
                var builder = ImmutableArray.CreateBuilder<IVsNavInfoNode>();
                FillNodeList(navInfoList, isObjectBrowser, isCanonical, builder);
                nodeList = builder.ToImmutable();
            }

            ppEnum = new EnumNavInfoNodes(nodeList);
            return VSConstants.S_OK;
        }
示例#2
0
 public int EnumPresentationNodes(uint dwFlags, out IVsEnumNavInfoNodes ppEnum)
 {
     if (dwFlags == (uint)_LIB_LISTFLAGS.LLF_NONE)
     {
         // NavInfo for Object Browser
         return GetEnum(_navInfo, true, false, ref _objectBrowserFlatNodes, out ppEnum);
     }
     else
     {
         // NavInfo for Class View
         return GetEnum(_navInfo, false, false, ref _classViewFlatNodes, out ppEnum);
     }
 }
示例#3
0
 public int Clone(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = new NavInfoNodeEnum(_nodes);
     return VSConstants.S_OK;
 }
示例#4
0
 public int Clone(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = new NodeEnumerator <T>(_locations);
     return(VSConstants.S_OK);
 }
示例#5
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     return GetEnum(_canonicalNavInfo, false, true, ref _canonicalNodes, out ppEnum);
 }
示例#6
0
 int IVsNavInfo.EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = null;
     return VSConstants.E_NOTIMPL;
 }
示例#7
0
        private int GetEnum(NavInfoList navInfoList, bool isObjectBrowser, bool isCanonical, ref ImmutableArray <IVsNavInfoNode> nodeList, out IVsEnumNavInfoNodes ppEnum)
        {
            if (nodeList == null)
            {
                var builder = ImmutableArray.CreateBuilder <IVsNavInfoNode>();
                FillNodeList(navInfoList, isObjectBrowser, isCanonical, builder);
                nodeList = builder.ToImmutable();
            }

            ppEnum = new EnumNavInfoNodes(nodeList);
            return(VSConstants.S_OK);
        }
示例#8
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     return(EnumPresentationNodes(0, out ppEnum));
 }
示例#9
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = new NodeEnumerator <SymbolList>(Children);
     return(VSConstants.S_OK);
 }
示例#10
0
 public int EnumPresentationNodes(uint dwFlags, out IVsEnumNavInfoNodes ppEnum)
 {
     throw new NotImplementedException();
 }
示例#11
0
 public int Clone(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = new VsEnumNavInfoNodes(_nodeEnum);
     return(VSConstants.S_OK);
 }
示例#12
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     throw new NotImplementedException();
 }
示例#13
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = CreateEnum(ref _canonicalEnumNodes, _baseCanonicalNodes, isCanonical: true, isObjectBrowser: false);
     return(VSConstants.S_OK);
 }
示例#14
0
 public int EnumPresentationNodes(uint dwFlags, out IVsEnumNavInfoNodes ppEnum) {
     ppEnum = new NodeEnumerator<SymbolList>(Children);
     return VSConstants.S_OK;
 }
示例#15
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = CreateEnum(ref _canonicalEnumNodes, _baseCanonicalNodes, isCanonical: true, isObjectBrowser: false);
     return VSConstants.S_OK;
 }
示例#16
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = new NodeEnumerator <SimpleLocationInfo>(Children);
     return(VSConstants.S_OK);
 }
示例#17
0
        public int EnumPresentationNodes(uint dwFlags, out IVsEnumNavInfoNodes ppEnum)
        {
            ppEnum = dwFlags == (uint)_LIB_LISTFLAGS.LLF_NONE
                ? CreateEnum(ref _objectBrowserEnumNodes, _basePresentationNodes, isCanonical: false, isObjectBrowser: true)
                : CreateEnum(ref _classViewEnumNodes, _basePresentationNodes, isCanonical: false, isObjectBrowser: false);

            return VSConstants.S_OK;
        }
示例#18
0
 public int EnumPresentationNodes(uint dwFlags, out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = new NodeEnumerator <SimpleLocationInfo>(Children);
     return(VSConstants.S_OK);
 }
示例#19
0
 int IVsNavInfo.EnumPresentationNodes(uint dwFlags, out IVsEnumNavInfoNodes ppEnum)
 {
     ppEnum = null;
     return VSConstants.E_NOTIMPL;
 }
示例#20
0
 public int EnumCanonicalNodes(out IVsEnumNavInfoNodes ppEnum)
 {
     return(GetEnum(_canonicalNavInfo, false, true, ref _canonicalNodes, out ppEnum));
 }