Browse Source

Implement EnvDTE.CodeProperty2.Parameters.

pull/28/head
Matt Ward 14 years ago
parent
commit
bbf32f7059
  1. 2
      src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj
  2. 22
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeParameter.cs
  3. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty2.cs
  4. 31
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodePropertyParameters.cs
  5. 82
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/CodeElementsExtensions.cs

2
src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj

@ -91,8 +91,10 @@
<Compile Include="Src\EnvDTE\CodeModel.cs" /> <Compile Include="Src\EnvDTE\CodeModel.cs" />
<Compile Include="Src\EnvDTE\CodeModelLanguageConstants.cs" /> <Compile Include="Src\EnvDTE\CodeModelLanguageConstants.cs" />
<Compile Include="Src\EnvDTE\CodeNamespace.cs" /> <Compile Include="Src\EnvDTE\CodeNamespace.cs" />
<Compile Include="Src\EnvDTE\CodeParameter.cs" />
<Compile Include="Src\EnvDTE\CodeProperty.cs" /> <Compile Include="Src\EnvDTE\CodeProperty.cs" />
<Compile Include="Src\EnvDTE\CodeProperty2.cs" /> <Compile Include="Src\EnvDTE\CodeProperty2.cs" />
<Compile Include="Src\EnvDTE\CodePropertyParameters.cs" />
<Compile Include="Src\EnvDTE\CodeStruct.cs" /> <Compile Include="Src\EnvDTE\CodeStruct.cs" />
<Compile Include="Src\EnvDTE\CodeType.cs" /> <Compile Include="Src\EnvDTE\CodeType.cs" />
<Compile Include="Src\EnvDTE\CodeTypeBaseTypes.cs" /> <Compile Include="Src\EnvDTE\CodeTypeBaseTypes.cs" />

22
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeParameter.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;
using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.PackageManagement.EnvDTE
{
public class CodeParameter : CodeElement
{
IParameter parameter;
public CodeParameter(IParameter parameter)
{
this.parameter = parameter;
}
public override string Name {
get { return parameter.Name; }
}
}
}

2
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeProperty2.cs

@ -32,7 +32,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
} }
public CodeElements Parameters { public CodeElements Parameters {
get { throw new NotImplementedException(); } get { return new CodePropertyParameters(Property); }
} }
} }
} }

31
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodePropertyParameters.cs

@ -0,0 +1,31 @@
// 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 ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.PackageManagement.EnvDTE
{
public class CodePropertyParameters : CodeElementsList
{
IProperty property;
public CodePropertyParameters(IProperty property)
{
this.property = property;
AddParameters();
}
void AddParameters()
{
foreach (IParameter parameter in property.Parameters) {
AddParameters(parameter);
}
}
void AddParameters(IParameter parameter)
{
AddCodeElement(new CodeParameter(parameter));
}
}
}

82
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/CodeElementsExtensions.cs

@ -0,0 +1,82 @@
// 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 System.Linq;
using ICSharpCode.PackageManagement.EnvDTE;
namespace PackageManagement.Tests.Helpers
{
public static class CodeElementsExtensions
{
public static List<CodeElement> ToList(this CodeElements codeElements)
{
var list = new List<CodeElement>();
foreach (CodeElement codeElement in codeElements) {
list.Add(codeElement);
}
return list;
}
public static CodeElement FirstOrDefault(this CodeElements codeElements)
{
return ToList(codeElements).FirstOrDefault();
}
public static CodeFunction FirstCodeFunctionOrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeFunction;
}
public static CodeClass2 FirstCodeClass2OrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeClass2;
}
public static CodeInterface FirstCodeInterfaceOrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeInterface;
}
public static CodeAttributeArgument FirstCodeAttributeArgumentOrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeAttributeArgument;
}
public static CodeNamespace FirstCodeNamespaceOrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeNamespace;
}
public static CodeNamespace LastCodeNamespaceOrDefault(this CodeElements codeElements)
{
return codeElements.LastOrDefault() as CodeNamespace;
}
public static CodeElement LastOrDefault(this CodeElements codeElements)
{
return codeElements.ToList().LastOrDefault();
}
public static CodeAttribute2 FirstCodeAttribute2OrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeAttribute2;
}
public static CodeProperty2 FirstCodeProperty2OrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeProperty2;
}
public static CodeVariable FirstCodeVariableOrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeVariable;
}
public static CodeParameter FirstCodeParameterOrDefault(this CodeElements codeElements)
{
return codeElements.FirstOrDefault() as CodeParameter;
}
}
}
Loading…
Cancel
Save