From f12e3df59ee6e47b6cdf26878bbf4fe163ce9a93 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sun, 13 May 2012 10:52:07 +0100 Subject: [PATCH] Create EnvDTE and Visual Studio API classes without any implementation to support MvcScaffolding. --- .../Project/PackageManagement.csproj | 35 +++++++++++++ .../Project/Src/EnvDTE/CodeAttribute.cs | 16 ++++++ .../Project/Src/EnvDTE/CodeAttribute2.cs | 22 +++++++++ .../Src/EnvDTE/CodeAttributeArgument.cs | 22 +++++++++ .../Project/Src/EnvDTE/CodeClass.cs | 19 +++++++ .../Project/Src/EnvDTE/CodeClass2.cs | 14 ++++++ .../Project/Src/EnvDTE/CodeDelegate.cs | 12 +++++ .../Project/Src/EnvDTE/CodeElement.cs | 27 ++++++++++ .../Project/Src/EnvDTE/CodeElements.cs | 15 ++++++ .../Project/Src/EnvDTE/CodeFunction.cs | 12 +++++ .../Project/Src/EnvDTE/CodeInterface.cs | 19 +++++++ .../Project/Src/EnvDTE/CodeModel.cs | 23 +++++++++ .../Project/Src/EnvDTE/CodeNamespace.cs | 22 +++++++++ .../Project/Src/EnvDTE/CodeProperty.cs | 36 ++++++++++++++ .../Project/Src/EnvDTE/CodeProperty2.cs | 26 ++++++++++ .../Project/Src/EnvDTE/CodeStruct.cs | 12 +++++ .../Project/Src/EnvDTE/CodeType.cs | 28 +++++++++++ .../Project/Src/EnvDTE/CodeTypeRef.cs | 26 ++++++++++ .../Project/Src/EnvDTE/CodeTypeRef2.cs | 18 +++++++ .../Project/Src/EnvDTE/CodeVariable.cs | 12 +++++ .../Project/Src/EnvDTE/Configuration.cs | 18 +++++++ .../Src/EnvDTE/ConfigurationManager.cs | 18 +++++++ .../Project/Src/EnvDTE/DTE.cs | 4 ++ .../Src/EnvDTE/DirectoryProjectItems.cs | 4 +- .../Project/Src/EnvDTE/EditPoint.cs | 19 +++++++ .../Project/Src/EnvDTE/Project.cs | 40 +++++++++++---- .../Project/Src/EnvDTE/ProjectItem.cs | 28 ++++++++--- .../Project/Src/EnvDTE/ProjectItems.cs | 49 +++++++++++++++---- .../Project/Src/EnvDTE/Projects.cs | 26 ++++++++++ .../Project/Src/EnvDTE/Properties.cs | 13 +++-- .../Project/Src/EnvDTE/Property.cs | 10 ++-- .../Project/Src/EnvDTE/Solution.cs | 8 +++ .../Project/Src/EnvDTE/SourceControl.cs | 29 +++++++++++ .../Project/Src/EnvDTE/TextPoint.cs | 21 ++++++++ .../Project/Src/EnvDTE/vsCMAccess.cs | 12 +++++ .../Project/Src/EnvDTE/vsCMFunction.cs | 12 +++++ .../Project/Src/EnvDTE/vsCMInfoLocation.cs | 12 +++++ .../Project/Src/EnvDTE/vsCMPropertyKind.cs | 13 +++++ .../Src/EnvDTE/vsEPReplaceTextOptions.cs | 15 ++++++ .../Src/VisualStudio/FlavoredProject.cs | 20 ++++++++ .../VisualStudio/IVsAggregatableProject.cs | 12 +++++ .../Project/Src/VisualStudio/IVsHierarchy.cs | 12 +++++ .../Project/Src/VisualStudio/IVsSolution.cs | 12 +++++ .../Project/Src/VisualStudio/Package.cs | 4 ++ .../Project/Src/VisualStudio/ThreadHelper.cs | 25 ++++++++++ .../Test/PackageManagement.Tests.csproj | 1 + .../Src/EnvDTE/ProjectItemPropertyTests.cs | 25 ++-------- .../Test/Src/EnvDTE/ProjectItemTests.cs | 3 +- .../Test/Src/EnvDTE/ProjectItemsTests.cs | 11 ++--- .../Test/Src/EnvDTE/ProjectPropertyTests.cs | 2 +- .../Test/Src/EnvDTE/ReferencesTests.cs | 3 +- ...ditorFontsAndColorsPropertyFactoryTests.cs | 4 +- .../Test/Src/Helpers/PropertiesHelper.cs | 27 ++++++++++ 53 files changed, 853 insertions(+), 75 deletions(-) create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute2.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttributeArgument.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElement.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElements.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeInterface.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeModel.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeNamespace.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty2.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeStruct.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef2.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeVariable.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Configuration.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ConfigurationManager.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/EditPoint.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Projects.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/SourceControl.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/TextPoint.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMAccess.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMFunction.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMInfoLocation.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMPropertyKind.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsEPReplaceTextOptions.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/FlavoredProject.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsAggregatableProject.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsHierarchy.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsSolution.cs create mode 100644 src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/ThreadHelper.cs create mode 100644 src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PropertiesHelper.cs diff --git a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj index 467ef85879..f396359c63 100644 --- a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj +++ b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj @@ -74,6 +74,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -365,9 +395,14 @@ + + + + + diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute.cs new file mode 100644 index 0000000000..3a7af479f1 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute.cs @@ -0,0 +1,16 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeAttribute : CodeElement + { + public CodeAttribute() + { + } + + public virtual string Value { get; set; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute2.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute2.cs new file mode 100644 index 0000000000..dd9430157e --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttribute2.cs @@ -0,0 +1,22 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeAttribute2 : CodeAttribute + { + public CodeAttribute2() + { + } + + public virtual string FullName { + get { throw new NotImplementedException(); } + } + + public virtual CodeElements Arguments { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttributeArgument.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttributeArgument.cs new file mode 100644 index 0000000000..4bef2347ba --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeAttributeArgument.cs @@ -0,0 +1,22 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeAttributeArgument : MarshalByRefObject + { + public CodeAttributeArgument() + { + } + + public virtual string Name { + get { throw new NotImplementedException(); } + } + + public virtual string Value { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass.cs new file mode 100644 index 0000000000..5a8b8dce64 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass.cs @@ -0,0 +1,19 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeClass : CodeType + { + public virtual CodeElements ImplementedInterfaces { + get { throw new NotImplementedException(); } + } + + public virtual CodeVariable AddVariable(string name, object type, object Position = null, vsCMAccess Access = vsCMAccess.vsCMAccessPublic, object Location = null) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs new file mode 100644 index 0000000000..a984711752 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs @@ -0,0 +1,14 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeClass2 : CodeClass + { + public CodeElements PartialClasses { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs new file mode 100644 index 0000000000..90f2ed998c --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeDelegate : CodeElement + { + public vsCMAccess Access { get; set; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElement.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElement.cs new file mode 100644 index 0000000000..52acfb829c --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElement.cs @@ -0,0 +1,27 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeElement : MarshalByRefObject + { + public virtual string Name { get; set; } + public virtual string Language { get; private set; } + + // default is vsCMPart.vsCMPartWholeWithAttributes + public virtual TextPoint GetStartPoint() + { + throw new NotImplementedException(); + } + + public virtual TextPoint GetEndPoint() + { + throw new NotImplementedException(); + } + + public virtual vsCMInfoLocation InfoLocation { get; private set; } + public virtual DTE DTE { get; private set; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElements.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElements.cs new file mode 100644 index 0000000000..15ce405c52 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElements.cs @@ -0,0 +1,15 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Collections; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public interface CodeElements : IEnumerable + { + new IEnumerator GetEnumerator(); + + int Count { get; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs new file mode 100644 index 0000000000..63efb85dc5 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeFunction : CodeElement + { + public vsCMAccess Access { get; set; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeInterface.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeInterface.cs new file mode 100644 index 0000000000..8421704557 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeInterface.cs @@ -0,0 +1,19 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeInterface : CodeType + { + public CodeInterface() + { + } + + public CodeFunction AddFunction(string name, vsCMFunction kind, object type, object Position = null, vsCMAccess Access = vsCMAccess.vsCMAccessPublic) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeModel.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeModel.cs new file mode 100644 index 0000000000..655ac754ec --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeModel.cs @@ -0,0 +1,23 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeModel : MarshalByRefObject + { + public CodeModel() + { + } + + public CodeElements CodeElements { + get { throw new NotImplementedException(); } + } + + public CodeType CodeTypeFromFullName(string name) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeNamespace.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeNamespace.cs new file mode 100644 index 0000000000..ee3cc83fe7 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeNamespace.cs @@ -0,0 +1,22 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeNamespace : CodeElement + { + public CodeNamespace() + { + } + + public string FullName { + get { throw new NotImplementedException(); } + } + + public CodeElements Members { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty.cs new file mode 100644 index 0000000000..efcc8fb2ef --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty.cs @@ -0,0 +1,36 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeProperty : CodeElement + { + public CodeProperty() + { + } + + public virtual vsCMAccess Access { get; set; } + + public virtual CodeClass Parent { + get { throw new NotImplementedException(); } + } + + public virtual CodeElements Attributes { + get { throw new NotImplementedException(); } + } + + public virtual CodeTypeRef Type { + get { throw new NotImplementedException(); } + } + + public virtual CodeFunction Getter { + get { throw new NotImplementedException(); } + } + + public virtual CodeFunction Setter { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty2.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty2.cs new file mode 100644 index 0000000000..abee151198 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty2.cs @@ -0,0 +1,26 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeProperty2 : CodeProperty + { + public CodeProperty2() + { + } + + public CodeElements Members { + get { throw new NotImplementedException(); } + } + + public vsCMPropertyKind ReadWrite { + get { throw new NotImplementedException(); } + } + + public CodeElements Parameters { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeStruct.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeStruct.cs new file mode 100644 index 0000000000..63027824d4 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeStruct.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeStruct : CodeElement + { + public vsCMAccess Access { get; set; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs new file mode 100644 index 0000000000..2c11f55d66 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs @@ -0,0 +1,28 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeType : CodeElement + { + public virtual vsCMAccess Access { get; set; } + + public virtual string FullName { + get { throw new NotImplementedException(); } + } + + public virtual CodeElements Members { + get { throw new NotImplementedException(); } + } + + public virtual CodeElements Bases { + get { throw new NotImplementedException(); } + } + + public virtual CodeElements Attributes { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef.cs new file mode 100644 index 0000000000..2e6bb34b06 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef.cs @@ -0,0 +1,26 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeTypeRef : MarshalByRefObject + { + public CodeTypeRef() + { + } + + public virtual string AsFullName { + get { throw new NotImplementedException(); } + } + + public virtual object Parent { + get { throw new NotImplementedException(); } + } + + public virtual CodeType CodeType { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef2.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef2.cs new file mode 100644 index 0000000000..d67abdc0e4 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeTypeRef2.cs @@ -0,0 +1,18 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeTypeRef2 : CodeTypeRef + { + public CodeTypeRef2() + { + } + + public bool IsGeneric { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeVariable.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeVariable.cs new file mode 100644 index 0000000000..33ccd3eda6 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeVariable.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class CodeVariable : CodeElement + { + public vsCMAccess Access { get; set; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Configuration.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Configuration.cs new file mode 100644 index 0000000000..021619c919 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Configuration.cs @@ -0,0 +1,18 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class Configuration : MarshalByRefObject + { + public Configuration() + { + } + + public Properties Properties { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ConfigurationManager.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ConfigurationManager.cs new file mode 100644 index 0000000000..acc21c5ca2 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ConfigurationManager.cs @@ -0,0 +1,18 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class ConfigurationManager : MarshalByRefObject + { + public ConfigurationManager() + { + } + + public Configuration ActiveConfiguration { + get { throw new NotImplementedException(); } + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DTE.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DTE.cs index e2205ee818..8ca47f63f8 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DTE.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DTE.cs @@ -69,5 +69,9 @@ namespace ICSharpCode.PackageManagement.EnvDTE { return projectService.GetOpenProjects(); } + + public SourceControl SourceControl { + get { throw new NotImplementedException(); } + } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DirectoryProjectItems.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DirectoryProjectItems.cs index d2220f6ed2..5497cbce16 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DirectoryProjectItems.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DirectoryProjectItems.cs @@ -2,7 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections.Generic; +using System.Collections; namespace ICSharpCode.PackageManagement.EnvDTE { @@ -16,7 +16,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE this.projectItem = projectItem; } - public override IEnumerator GetEnumerator() + public override IEnumerator GetEnumerator() { var items = new ChildProjectItems(projectItem); return items.GetEnumerator(); diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/EditPoint.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/EditPoint.cs new file mode 100644 index 0000000000..e50825ce3e --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/EditPoint.cs @@ -0,0 +1,19 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class EditPoint : TextPoint + { + public EditPoint() + { + } + + public void ReplaceText(object pointOrCount, string text, int Flags) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Project.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Project.cs index c10c64c37f..3d32cd6564 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Project.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Project.cs @@ -39,29 +39,41 @@ namespace ICSharpCode.PackageManagement.EnvDTE ProjectItems = new ProjectItems(this, fileService); } + public Project() + { + } + void CreateProperties() { var propertyFactory = new ProjectPropertyFactory(this); Properties = new Properties(propertyFactory); } - public string Name { + public virtual string Kind { + get { throw new NotImplementedException(); } + } + + public virtual string Name { get { return MSBuildProject.Name; } } + + public virtual string UniqueName { + get { throw new NotImplementedException(); } + } - public string FileName { + public virtual string FileName { get { return MSBuildProject.FileName; } } - public string FullName { + public virtual string FullName { get { return FileName; } } - public ProjectObject Object { get; private set; } - public Properties Properties { get; private set; } - public ProjectItems ProjectItems { get; private set; } + public virtual object Object { get; private set; } + public virtual Properties Properties { get; private set; } + public virtual ProjectItems ProjectItems { get; private set; } - public DTE DTE { + public virtual DTE DTE { get { if (dte == null) { dte = new DTE(projectService, fileService); @@ -70,7 +82,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE } } - public string Type { + public virtual string Type { get { return GetProjectType(); } } @@ -82,12 +94,12 @@ namespace ICSharpCode.PackageManagement.EnvDTE internal MSBuildBasedProject MSBuildProject { get; private set; } - public void Save() + public virtual void Save() { projectService.Save(MSBuildProject); } - internal void AddReference(string path) + internal virtual void AddReference(string path) { if (!HasReference(path)) { var referenceItem = new ReferenceProjectItem(MSBuildProject, path); @@ -154,5 +166,13 @@ namespace ICSharpCode.PackageManagement.EnvDTE } return names; } + + public virtual CodeModel CodeModel { + get { throw new NotImplementedException(); } + } + + public virtual ConfigurationManager ConfigurationManager { + get { throw new NotImplementedException(); } + } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs index 5b8d85c3fc..03f769d5d1 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs @@ -26,21 +26,33 @@ namespace ICSharpCode.PackageManagement.EnvDTE CreateProperties(); } + public ProjectItem() + { + } + void CreateProperties() { var propertyFactory = new ProjectItemPropertyFactory(this); Properties = new Properties(propertyFactory); } - public string Name { + public virtual string Name { get { return Path.GetFileName(projectItem.Include); } } - public Properties Properties { get; private set; } - public Project ContainingProject { get; private set; } - public ProjectItems ProjectItems { get; private set; } + public virtual string Kind { + get { throw new NotImplementedException(); } + } + + public Project SubProject { + get { throw new NotImplementedException(); } + } + + public virtual Properties Properties { get; private set; } + public virtual Project ContainingProject { get; private set; } + public virtual ProjectItems ProjectItems { get; private set; } - internal object GetProperty(string name) + internal virtual object GetProperty(string name) { if (name == CopyToOutputDirectoryPropertyName) { return GetCopyToOutputDirectory(); @@ -57,7 +69,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE return (UInt32)projectItem.CopyToOutputDirectory; } - internal void SetProperty(string name, object value) + internal virtual void SetProperty(string name, object value) { if (name == CopyToOutputDirectoryPropertyName) { SetCopyToOutputDirectory(value); @@ -78,7 +90,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE return (CopyToOutputDirectory)Enum.Parse(typeof(CopyToOutputDirectory), valueAsString); } - internal bool IsMatchByName(string name) + internal virtual bool IsMatchByName(string name) { return String.Equals(this.Name, name, StringComparison.InvariantCultureIgnoreCase); } @@ -89,7 +101,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE return IsMatchByName(directory); } - internal ProjectItemRelationship GetRelationship(SD.ProjectItem msbuildProjectItem) + internal virtual ProjectItemRelationship GetRelationship(SD.ProjectItem msbuildProjectItem) { return new ProjectItemRelationship(this, msbuildProjectItem); } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs index 1925cb3b7a..3dbe7aa215 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItems.cs @@ -8,7 +8,7 @@ using System.IO; namespace ICSharpCode.PackageManagement.EnvDTE { - public class ProjectItems : MarshalByRefObject, IEnumerable + public class ProjectItems : MarshalByRefObject, IEnumerable { Project project; IPackageManagementFileService fileService; @@ -19,7 +19,15 @@ namespace ICSharpCode.PackageManagement.EnvDTE this.fileService = fileService; } - public void AddFromFileCopy(string filePath) + public ProjectItems() + { + } + + public virtual object Parent { + get { throw new NotImplementedException(); } + } + + public virtual void AddFromFileCopy(string filePath) { string include = Path.GetFileName(filePath); CopyFileIntoProject(filePath, include); @@ -46,18 +54,13 @@ namespace ICSharpCode.PackageManagement.EnvDTE return Path.Combine(project.MSBuildProject.Directory, fileName); } - public virtual IEnumerator GetEnumerator() + public virtual IEnumerator GetEnumerator() { var items = new ProjectItemsInsideProject(project); return items.GetEnumerator(); } - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - - public ProjectItem Item(string name) + internal virtual ProjectItem Item(string name) { foreach (ProjectItem item in this) { if (item.IsMatchByName(name)) { @@ -66,5 +69,33 @@ namespace ICSharpCode.PackageManagement.EnvDTE } return null; } + + internal virtual ProjectItem Item(int index) + { + throw new NotImplementedException(); + } + + public virtual ProjectItem Item(object index) + { +// if (index is int) { +// return Item((int)index); +// } +// return null; + return Item(index as string); + } + + public virtual ProjectItem AddFromDirectory(string directory) + { + throw new NotImplementedException(); + } + + public virtual ProjectItem AddFromFile(string fileName) + { + throw new NotImplementedException(); + } + + public virtual int Count { + get { throw new NotImplementedException(); } + } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Projects.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Projects.cs new file mode 100644 index 0000000000..4a0878bb06 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Projects.cs @@ -0,0 +1,26 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Collections; +using System.Collections.Generic; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class Projects : MarshalByRefObject, IEnumerable + { + public Projects() + { + } + + public IEnumerator GetEnumerator() + { + throw new NotImplementedException(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Properties.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Properties.cs index add75feb6e..85effea22c 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Properties.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Properties.cs @@ -8,7 +8,7 @@ using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.PackageManagement.EnvDTE { - public class Properties : MarshalByRefObject, IEnumerable + public class Properties : MarshalByRefObject, IEnumerable { IPropertyFactory propertyFactory; @@ -17,19 +17,18 @@ namespace ICSharpCode.PackageManagement.EnvDTE this.propertyFactory = propertyFactory; } - public Property Item(string propertyName) + public Properties() { - return propertyFactory.CreateProperty(propertyName); } - public IEnumerator GetEnumerator() + public virtual Property Item(string propertyName) { - return propertyFactory.GetEnumerator(); + return propertyFactory.CreateProperty(propertyName); } - IEnumerator IEnumerable.GetEnumerator() + public virtual IEnumerator GetEnumerator() { - return GetEnumerator(); + return propertyFactory.GetEnumerator(); } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Property.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Property.cs index 3fb021972e..6f380af2c3 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Property.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Property.cs @@ -13,9 +13,13 @@ namespace ICSharpCode.PackageManagement.EnvDTE this.Name = name; } - public string Name { get; private set; } + public Property() + { + } + + public virtual string Name { get; private set; } - public object Value { + public virtual object Value { get { return GetValue(); } set { SetValue(value); } } @@ -29,7 +33,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE { } - public object Object { + public virtual object Object { get { return GetObject(); } set { } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Solution.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Solution.cs index 075a294113..9e6e5e7857 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Solution.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Solution.cs @@ -22,5 +22,13 @@ namespace ICSharpCode.PackageManagement.EnvDTE public string FileName { get { return solution.FileName; } } + + public bool IsOpen { + get { throw new NotImplementedException(); } + } + + public Projects Projects { + get { throw new NotImplementedException(); } + } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/SourceControl.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/SourceControl.cs new file mode 100644 index 0000000000..0e9f48ecf9 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/SourceControl.cs @@ -0,0 +1,29 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class SourceControl : MarshalByRefObject + { + public SourceControl() + { + } + + public bool IsItemCheckedOut(string itemName) + { + throw new NotImplementedException(); + } + + public bool IsItemUnderSCC(string itemName) + { + throw new NotImplementedException(); + } + + public bool CheckOutItem(string itemName) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/TextPoint.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/TextPoint.cs new file mode 100644 index 0000000000..4401be6fa7 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/TextPoint.cs @@ -0,0 +1,21 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class TextPoint : MarshalByRefObject + { + public TextPoint() + { + } + + public int LineCharOffset { get; private set; } + + public EditPoint CreateEditPoint() + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMAccess.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMAccess.cs new file mode 100644 index 0000000000..63faf53460 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMAccess.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public enum vsCMAccess + { + vsCMAccessPublic = 1 + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMFunction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMFunction.cs new file mode 100644 index 0000000000..56de6e10f4 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMFunction.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public enum vsCMFunction + { + vsCMFunctionFunction = 128 + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMInfoLocation.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMInfoLocation.cs new file mode 100644 index 0000000000..7b1eb5e9e0 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMInfoLocation.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public enum vsCMInfoLocation + { + vsCMInfoLocationProject = 1 + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMPropertyKind.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMPropertyKind.cs new file mode 100644 index 0000000000..f681353cb3 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMPropertyKind.cs @@ -0,0 +1,13 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public enum vsCMPropertyKind + { + vsCMPropertyKindReadOnly = 1, + vsCMPropertyKindWriteOnly = 2 + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsEPReplaceTextOptions.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsEPReplaceTextOptions.cs new file mode 100644 index 0000000000..a16ecbed11 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsEPReplaceTextOptions.cs @@ -0,0 +1,15 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public enum vsEPReplaceTextOptions + { + vsEPReplaceTextKeepMarkers = 1, + vsEPReplaceTextNormalizeNewlines = 2, + vsEPReplaceTextTabsSpaces = 4, + vsEPReplaceTextAutoformat = 8 + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/FlavoredProject.cs b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/FlavoredProject.cs new file mode 100644 index 0000000000..f9a3c3ff47 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/FlavoredProject.cs @@ -0,0 +1,20 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using Microsoft.VisualStudio.Shell.Interop; + +namespace Microsoft.VisualStudio.Shell.Flavor +{ + public class FlavoredProject : MarshalByRefObject, IVsAggregatableProject, IVsHierarchy + { + public FlavoredProject() + { + } + + public int GetAggregateProjectTypeGuids(out string projTypeGuids) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsAggregatableProject.cs b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsAggregatableProject.cs new file mode 100644 index 0000000000..9acbf4c814 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsAggregatableProject.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace Microsoft.VisualStudio.Shell.Interop +{ + public interface IVsAggregatableProject + { + int GetAggregateProjectTypeGuids(out string projTypeGuids); + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsHierarchy.cs b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsHierarchy.cs new file mode 100644 index 0000000000..e7ccc041a3 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsHierarchy.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace Microsoft.VisualStudio.Shell.Interop +{ + public interface IVsHierarchy + { + + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsSolution.cs b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsSolution.cs new file mode 100644 index 0000000000..6b62c8f73c --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/IVsSolution.cs @@ -0,0 +1,12 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace Microsoft.VisualStudio.Shell.Interop +{ + public interface IVsSolution + { + int GetProjectOfUniqueName(string uniqueName, out IVsHierarchy hierarchy); + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/Package.cs b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/Package.cs index 91c4d60d10..dd03f895df 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/Package.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/Package.cs @@ -10,6 +10,10 @@ namespace Microsoft.VisualStudio.Shell { public static object GetGlobalService(Type serviceType) { + //typeof(DTE) + //typeof(IVsSolution) + //typeof(SComponentModel) --> not used - console initializer. + //typeof(SVsExtensionManager) return new SVsExtensionManager(); } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/ThreadHelper.cs b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/ThreadHelper.cs new file mode 100644 index 0000000000..d3e601d0fc --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/VisualStudio/ThreadHelper.cs @@ -0,0 +1,25 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; + +namespace Microsoft.VisualStudio.Shell +{ + public class ThreadHelper : MarshalByRefObject + { + static readonly ThreadHelper threadHelper = new ThreadHelper(); + + ThreadHelper() + { + } + + public static ThreadHelper Generic { + get { return threadHelper; } + } + + public T Invoke(Func method) + { + return method(); + } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj index 4be6195837..28f50d35b8 100644 --- a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj +++ b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj @@ -73,6 +73,7 @@ + diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs index c346f38336..f6ceb2b12f 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs @@ -119,20 +119,7 @@ namespace PackageManagement.Tests.EnvDTE { CreateProjectItemProperties(); - var projectItemProperties = new List(properties); - var property = projectItemProperties.Find(p => p.Name == "CopyToOutputDirectory"); - - Assert.AreEqual("CopyToOutputDirectory", property.Name); - } - - [Test] - public void GetEnumerator_FindCopyToOutputDirectoryPropertyFromUntypedEnumerator_ReturnsPropertyWithCopyToOutputDirectoryName() - { - CreateProjectItemProperties(); - - var projectItemProperties = properties as IEnumerable; - - AssertContainsProperty("CopyToOutputDirectory", projectItemProperties); + AssertContainsProperty("CopyToOutputDirectory", properties); } [Test] @@ -140,10 +127,7 @@ namespace PackageManagement.Tests.EnvDTE { CreateProjectItemProperties(); - var projectItemProperties = new List(properties); - var property = projectItemProperties.Find(p => p.Name == "CustomTool"); - - Assert.AreEqual("CustomTool", property.Name); + AssertContainsProperty("CustomTool", properties); } [Test] @@ -162,10 +146,7 @@ namespace PackageManagement.Tests.EnvDTE { CreateProjectItemProperties(); - var projectItemProperties = new List(properties); - var property = projectItemProperties.Find(p => p.Name == "FullPath"); - - Assert.AreEqual("FullPath", property.Name); + AssertContainsProperty("FullPath", properties); } } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemTests.cs index fc0a65646d..49a5a4de3a 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemTests.cs @@ -35,13 +35,12 @@ namespace PackageManagement.Tests.EnvDTE var directoryItem = projectItems.Item("src"); var directoryProjectItems = directoryItem.ProjectItems; - var files = new List(directoryProjectItems); string[] expectedFiles = new string[] { "program.cs" }; - ProjectItemCollectionAssert.AreEqual(expectedFiles, files); + ProjectItemCollectionAssert.AreEqual(expectedFiles, directoryProjectItems); } [Test] diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs index 583b95dc58..836b5f46ff 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs @@ -116,29 +116,24 @@ namespace PackageManagement.Tests.EnvDTE CreateProjectItems(); msbuildProject.AddFile(@"Test.cs"); - var itemsList = new List(); - itemsList.AddRange(projectItems); - var expectedItems = new string[] { "Test.cs" }; - ProjectItemCollectionAssert.AreEqual(expectedItems, itemsList); + ProjectItemCollectionAssert.AreEqual(expectedItems, projectItems); } [Test] - public void GetEnumerator_UseUntypedEnumeratorProjectHasOneFile_OneFileReturned() + public void GetEnumerator_ProjectHasOneFile_OneFileReturned() { CreateProjectItems(); msbuildProject.AddFile(@"Program.cs"); - var enumerable = projectItems as IEnumerable; - var expectedFiles = new string[] { "Program.cs" }; - ProjectItemCollectionAssert.AreEqual(expectedFiles, enumerable); + ProjectItemCollectionAssert.AreEqual(expectedFiles, projectItems); } [Test] diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectPropertyTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectPropertyTests.cs index 9b3516e342..43d7508f1c 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectPropertyTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectPropertyTests.cs @@ -121,7 +121,7 @@ namespace PackageManagement.Tests.EnvDTE CreateProperties(); msbuildProject.SetProperty("TargetFrameworkVersion", "4.0"); - Property targetFrameworkVersionProperty = project.Properties.First(p => p.Name == "TargetFrameworkVersion"); + Property targetFrameworkVersionProperty = PropertiesHelper.FindProperty(project.Properties, "TargetFrameworkVersion"); string targetFrameworkVersion = targetFrameworkVersionProperty.Value as string; Assert.AreEqual("4.0", targetFrameworkVersion); diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs index 3d76e3f2d5..8d7c6a9495 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs @@ -26,7 +26,8 @@ namespace PackageManagement.Tests.EnvDTE project = new TestableDTEProject(); msbuildProject = project.TestableProject; fakeProjectService = project.FakeProjectService; - references = project.Object.References; + ProjectObject projectObject = (ProjectObject)project.Object; + references = projectObject.References; } void ReferenceCollectionAssertAreEqual(string[] expectedReferences, List referenceList) diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/TextEditorFontsAndColorsPropertyFactoryTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/TextEditorFontsAndColorsPropertyFactoryTests.cs index d94b6b5997..9b87b9fa3d 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/TextEditorFontsAndColorsPropertyFactoryTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/TextEditorFontsAndColorsPropertyFactoryTests.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using ICSharpCode.PackageManagement.EnvDTE; using NUnit.Framework; +using PackageManagement.Tests.Helpers; namespace PackageManagement.Tests.EnvDTE { @@ -23,8 +24,7 @@ namespace PackageManagement.Tests.EnvDTE void AssertPropertiesContainProperty(string expectedPropertyName) { - var propertiesList = new List(properties); - Property property = propertiesList.Find(p => p.Name == expectedPropertyName); + Property property = PropertiesHelper.FindProperty(properties, expectedPropertyName); Assert.IsNotNull(property, "Unable to find property: " + expectedPropertyName); } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PropertiesHelper.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PropertiesHelper.cs new file mode 100644 index 0000000000..92b082e5fb --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/PropertiesHelper.cs @@ -0,0 +1,27 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Collections.Generic; +using ICSharpCode.PackageManagement; +using ICSharpCode.PackageManagement.EnvDTE; + +namespace PackageManagement.Tests.Helpers +{ + public static class PropertiesHelper + { + public static Property FindProperty(Properties properties, string name) + { + return ToList(properties).Find(p => p.Name == name); + } + + public static List ToList(Properties properties) + { + var itemsList = new List(); + foreach (Property property in properties) { + itemsList.Add(property); + } + return itemsList; + } + } +}