Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(372)

Unified Diff: experimental/visual_studio_plugin/src/MsAd7.BaseImpl/Ad7Enumerators.cs

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: experimental/visual_studio_plugin/src/MsAd7.BaseImpl/Ad7Enumerators.cs
diff --git a/experimental/visual_studio_plugin/src/MsAd7.BaseImpl/Ad7Enumerators.cs b/experimental/visual_studio_plugin/src/MsAd7.BaseImpl/Ad7Enumerators.cs
deleted file mode 100644
index 18b5b999f129e099c09b38c7e27f59feba26ddd9..0000000000000000000000000000000000000000
--- a/experimental/visual_studio_plugin/src/MsAd7.BaseImpl/Ad7Enumerators.cs
+++ /dev/null
@@ -1,244 +0,0 @@
-// Copyright 2009 The Native Client Authors. All rights reserved.
-//
-// Use of this source code is governed by a BSD-style license that can
-//
-// be found in the LICENSE file.
-
-using System.Collections.Generic;
-using System.Reflection;
-using Microsoft.VisualStudio;
-using Microsoft.VisualStudio.Debugger.Interop;
-using System.Linq;
-
-namespace Google.MsAd7.BaseImpl {
- namespace Ad7Enumerators {
-
- #region Base
-
- public class EnumeratorBase<TElement, TBase, TDerived>
- where TDerived : EnumeratorBase<TElement, TBase, TDerived>, TBase
- where TBase : class {
- public EnumeratorBase(ICollection<TElement> collection) {
- collection_ = collection;
- enumerator_ = collection.GetEnumerator();
- }
-
- public ICollection<TElement> Collection {
- get { return collection_; }
- }
-
- #region Implementation of IEnumDebugTElements2
-
- /// <summary>
- /// Returns the next set of elements from the enumeration.
- /// </summary>
- /// <param name = "celt">
- /// [in] The number of elements to retrieve.
- /// Also specifies the maximum size of the <paramref name = "rgelt" />
- /// array.
- /// </param>
- /// <param name = "rgelt">
- /// [in, out] Array of TInterface elements to be filled in.
- /// </param>
- /// <param name = "pceltFetched">
- /// [out] Returns the number of elements actually returned in rgelt.
- /// </param>
- /// <returns>
- /// If successful, returns S_OK. Returns S_FALSE if fewer than the
- /// requested number of elements could be returned; otherwise, returns
- /// an error code
- /// </returns>
- public int Next(uint celt, TElement[] rgelt, ref uint pceltFetched) {
- pceltFetched = 0;
- for (uint i = 0;
- i < celt && enumerator_.MoveNext();
- ++i) {
- rgelt[i] = enumerator_.Current;
- ++pceltFetched;
- }
- return (celt == pceltFetched) ? VSConstants.S_OK : VSConstants.S_FALSE;
- }
-
-
- /// <summary>
- /// Skips over the specified number of elements.
- /// </summary>
- /// <param name = "celt">[in] Number of elements to skip.</param>
- /// <returns>
- /// If successful, returns S_OK. Returns S_FALSE if celt is greater than
- /// the number of remaining elements; otherwise, returns an error code.
- /// </returns>
- public int Skip(uint celt) {
- uint i;
- for (i = 0;
- i < celt && enumerator_.MoveNext();
- ++i) {}
- return (i == celt) ? VSConstants.S_OK : VSConstants.S_FALSE;
- }
-
- /// <summary>
- /// Resets the enumeration to the first element.
- /// </summary>
- /// <returns>
- /// If successful, returns S_OK; otherwise, returns an error code.
- /// </returns>
- public int Reset() {
- enumerator_ = collection_.GetEnumerator();
- return VSConstants.S_OK;
- }
-
- /// <summary>
- /// Returns a copy of the current enumeration as a separate object.
- /// </summary>
- /// <param name = "ppEnum">
- /// [out] Returns a copy of this enumeration as a separate object.
- /// </param>
- /// <returns>
- /// If successful, returns S_OK; otherwise, returns an error code.
- /// </returns>
- public int Clone(out TBase ppEnum) {
- ConstructorInfo cons =
- typeof (TDerived).GetConstructor(new[] {collection_.GetType()});
- ppEnum = cons.Invoke(new object[] {collection_}) as TBase;
-
- return VSConstants.S_OK;
- }
-
- /// <summary>
- /// </summary>
- /// <param name = "pcelt">
- /// [out] Returns the number of elements in the enumeration.
- /// </param>
- /// <returns>
- /// If successful, returns S_OK; otherwise, returns an error code.
- /// </returns>
- public int GetCount(out uint pcelt) {
- pcelt = (uint) collection_.Count;
- return VSConstants.S_OK;
- }
-
- #endregion
-
- #region Private Implementation
-
- readonly ICollection<TElement> collection_;
- IEnumerator<TElement> enumerator_;
-
- #endregion
- }
-
- #endregion Base
-
- public class ErrorBreakpointEnumerator
- : EnumeratorBase<IDebugErrorBreakpoint2,
- IEnumDebugErrorBreakpoints2,
- ErrorBreakpointEnumerator>,
- IEnumDebugErrorBreakpoints2 {
- public ErrorBreakpointEnumerator()
- : base(new List<IDebugErrorBreakpoint2>()) {}
- public ErrorBreakpointEnumerator(ICollection<IDebugErrorBreakpoint2> collection)
- :base(collection) {}
-
- /// <summary>
- /// This function exists so the PendingBreakpoint can add itself to the errors in this
- /// enumeration after BreakpointInfo generates them.
- /// </summary>
- public int PopulateBreakpoint(PendingBreakpoint breakpoint) {
- int populated = VSConstants.S_FALSE;
- if (Collection != null) {
- foreach (
- ErrorBreakpoint assignable in
- Collection.OfType<ErrorBreakpoint>()) {
- assignable.PendingBreakpoint = breakpoint;
- populated = VSConstants.S_OK;
- }
- }
- return populated;
- }
-
- public void Insert(IDebugErrorBreakpoint2 point) {
- Collection.Add(point);
- // Reset makes the underlying class get a new enumerator, which is necessary because the
- // old one was just invalidated.
- Reset();
- }
- }
-
- public class ProgramEnumerator
- : EnumeratorBase<IDebugProgram2, IEnumDebugPrograms2, ProgramEnumerator>
- ,
- IEnumDebugPrograms2 {
- public ProgramEnumerator(ICollection<IDebugProgram2> collection)
- : base(collection) {}
- }
-
- public class ModuleEnumerator
- : EnumeratorBase<IDebugModule2, IEnumDebugModules2, ModuleEnumerator>,
- IEnumDebugModules2 {
- public ModuleEnumerator(ICollection<IDebugModule2> collection)
- : base(collection) {}
- }
-
- public class FrameInfoEnumerator
- : EnumeratorBase<FRAMEINFO, IEnumDebugFrameInfo2, FrameInfoEnumerator>,
- IEnumDebugFrameInfo2 {
- public FrameInfoEnumerator(ICollection<FRAMEINFO> collection)
- : base(collection) {}
- }
-
- public class ThreadEnumerator
- : EnumeratorBase<IDebugThread2, IEnumDebugThreads2, ThreadEnumerator>,
- IEnumDebugThreads2 {
- public ThreadEnumerator(ICollection<IDebugThread2> collection)
- : base(collection) {}
- }
-
- public class PropertyEnumerator
- : EnumeratorBase
- <DEBUG_PROPERTY_INFO, IEnumDebugPropertyInfo2, PropertyEnumerator>,
- IEnumDebugPropertyInfo2 {
- public PropertyEnumerator(ICollection<DEBUG_PROPERTY_INFO> collection)
- : base(collection) {}
-
- // The PIA definition of this interface has a typo, and Next is defined with
- // an out param instead of a ref param. This little shim fixes that.
-
- #region IEnumDebugPropertyInfo2 Members
-
- public int Next(uint celt,
- DEBUG_PROPERTY_INFO[] rgelt,
- out uint pceltFetched) {
- uint n = 0;
- int result = base.Next(celt, rgelt, ref n);
- pceltFetched = n;
- return result;
- }
-
- #endregion
- }
-
- public class CodeContextEnumerator
- : EnumeratorBase
- <IDebugCodeContext2, IEnumDebugCodeContexts2,
- CodeContextEnumerator>,
- IEnumDebugCodeContexts2 {
- public CodeContextEnumerator(ICollection<IDebugCodeContext2> collection)
- : base(collection) {}
- }
-
- public class PortEnumerator
- : EnumeratorBase<IDebugPort2, IEnumDebugPorts2, PortEnumerator>,
- IEnumDebugPorts2 {
- public PortEnumerator(ICollection<IDebugPort2> collection)
- : base(collection) { }
- }
-
- public class ProcessEnumerator
- : EnumeratorBase
- <IDebugProcess2, IEnumDebugProcesses2, ProcessEnumerator>,
- IEnumDebugProcesses2 {
- public ProcessEnumerator(ICollection<IDebugProcess2> collection)
- : base(collection) {}
- }
- }
-}
« no previous file with comments | « experimental/visual_studio_plugin/go.cmd ('k') | experimental/visual_studio_plugin/src/MsAd7.BaseImpl/Ad7Events.cs » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698