Browse Source

- Removed OverrideEqualsGetHashCodeMethodsCommand and OverrideEqualsGetHashCodeMethodsCommand from Refactor menu

- fixed ClassCodeGeneratorMenuBuilder
- allow OptionBinding to be used from Code

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5272 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Siegfried Pammer 16 years ago
parent
commit
c29815a7c0
  1. 2
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/InlineUIElementGenerator.cs
  2. 5
      src/AddIns/Misc/SharpRefactoring/SharpRefactoring.addin
  3. 14
      src/AddIns/Misc/SharpRefactoring/SharpRefactoring.csproj
  4. 7
      src/AddIns/Misc/SharpRefactoring/Src/ClassCodeGeneratorMenuBuilder.cs
  5. 22
      src/AddIns/Misc/SharpRefactoring/Src/Gui/AbstractInlineRefactorDialog.cs
  6. 78
      src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideEqualsGetHashCodeMethodsDialog.cs
  7. 7
      src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideToStringMethodDialog.xaml
  8. 30
      src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideToStringMethodDialog.xaml.cs
  9. 4
      src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideToStringMethodDialogOld.cs
  10. 38
      src/AddIns/Misc/SharpRefactoring/Src/Options.cs
  11. 53
      src/AddIns/Misc/SharpRefactoring/Src/OverrideEqualsGetHashCodeMethodsCommand.cs
  12. 6
      src/AddIns/Misc/SharpRefactoring/Src/OverrideToStringMethodCommand.cs
  13. 34
      src/Main/ICSharpCode.Core.Presentation/OptionBinding.cs
  14. 2
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/MemberLookupHelper.cs

2
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/InlineUIElementGenerator.cs

@ -24,7 +24,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
this.textView = textView; this.textView = textView;
this.element = element; this.element = element;
this.anchor = anchor; this.anchor = anchor;
anchor.Deleted += delegate { Remove(); }; this.anchor.Deleted += delegate { Remove(); };
} }
public override int GetFirstInterestedOffset(int startOffset) public override int GetFirstInterestedOffset(int startOffset)

5
src/AddIns/Misc/SharpRefactoring/SharpRefactoring.addin

@ -26,9 +26,12 @@
<MenuItem id = "ExtractMethod" <MenuItem id = "ExtractMethod"
label = "${res:AddIns.SharpRefactoring.ExtractMethod}" label = "${res:AddIns.SharpRefactoring.ExtractMethod}"
class = "SharpRefactoring.ExtractMethodCommand"/> class = "SharpRefactoring.ExtractMethodCommand"/>
<!-- <MenuItem id = "CodeGenSeparator" type = "Separator"/>
<MenuItem id = "OverrideToStringMethod" <MenuItem id = "OverrideToStringMethod"
label = "${res:AddIns.SharpRefactoring.OverrideToStringMethod}" label = "${res:AddIns.SharpRefactoring.OverrideToStringMethod}"
class = "SharpRefactoring.OverrideToStringMethodCommand"/> class = "SharpRefactoring.OverrideToStringMethodCommand"/>
<MenuItem id = "OverrideEqualsGetHashCodeMethods"
label = "${res:AddIns.SharpRefactoring.OverrideEqualsGetHashCodeMethods}"
class = "SharpRefactoring.OverrideEqualsGetHashCodeMethodsCommand"/> -->
</Path> </Path>
</AddIn> </AddIn>

14
src/AddIns/Misc/SharpRefactoring/SharpRefactoring.csproj

@ -78,12 +78,19 @@
<Compile Include="Src\Forms\ExtractMethodForm.Designer.cs"> <Compile Include="Src\Forms\ExtractMethodForm.Designer.cs">
<DependentUpon>ExtractMethodForm.cs</DependentUpon> <DependentUpon>ExtractMethodForm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Src\Gui\InlineRefactorDialog.cs" /> <Compile Include="Src\Gui\AbstractInlineRefactorDialog.cs" />
<Compile Include="Src\Gui\OverrideToStringMethodDialog.cs" /> <Compile Include="Src\Gui\OverrideEqualsGetHashCodeMethodsDialog.cs" />
<Compile Include="Src\Gui\OverrideToStringMethodDialog.xaml.cs">
<DependentUpon>OverrideToStringMethodDialog.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\Gui\OverrideToStringMethodDialogOld.cs" />
<Compile Include="Src\Gui\Wrapper.cs" /> <Compile Include="Src\Gui\Wrapper.cs" />
<Compile Include="Src\MethodExtractorBase.cs" /> <Compile Include="Src\MethodExtractorBase.cs" />
<Compile Include="Src\OverrideEqualsGetHashCodeMethodsCommand.cs" />
<Compile Include="Src\OverrideToStringMethodCommand.cs" /> <Compile Include="Src\OverrideToStringMethodCommand.cs" />
<Compile Include="Src\ParameterCheckRefactoringMenuBuilder.cs" /> <Compile Include="Src\ParameterCheckRefactoringMenuBuilder.cs" />
<Compile Include="Src\Options.cs" />
<Compile Include="Src\Visitors\FindJumpInstructionsVisitor.cs" /> <Compile Include="Src\Visitors\FindJumpInstructionsVisitor.cs" />
<Compile Include="Src\Visitors\FindMemberVisitor.cs" /> <Compile Include="Src\Visitors\FindMemberVisitor.cs" />
<Compile Include="Src\Visitors\FindReferenceVisitor.cs" /> <Compile Include="Src\Visitors\FindReferenceVisitor.cs" />
@ -128,4 +135,7 @@
<ItemGroup> <ItemGroup>
<Folder Include="Src\Gui" /> <Folder Include="Src\Gui" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Page Include="Src\Gui\OverrideToStringMethodDialog.xaml" />
</ItemGroup>
</Project> </Project>

7
src/AddIns/Misc/SharpRefactoring/Src/ClassCodeGeneratorMenuBuilder.cs

@ -64,7 +64,7 @@ namespace SharpRefactoring
EventHandler eh = delegate { EventHandler eh = delegate {
var d = FindReferencesAndRenameHelper.GetDocument(c); var d = FindReferencesAndRenameHelper.GetDocument(c);
if (d != null) if (d != null)
ImplementAbstractClass(d, c, abstractClass); ImplementAbstractClass(d, c, rtCopy);
ParserService.ParseCurrentViewContent(); ParserService.ParseCurrentViewContent();
}; };
subItems.Add(new MenuCommand(ambience.Convert(abstractClass), eh)); subItems.Add(new MenuCommand(ambience.Convert(abstractClass), eh));
@ -83,14 +83,15 @@ namespace SharpRefactoring
} }
#region Code generation #region Code generation
void ImplementAbstractClass(IDocument document, IClass target, IClass abstractClass) void ImplementAbstractClass(IDocument document, IClass target, IReturnType abstractClass)
{ {
CodeGenerator generator = target.ProjectContent.Language.CodeGenerator; CodeGenerator generator = target.ProjectContent.Language.CodeGenerator;
RefactoringDocumentAdapter doc = new RefactoringDocumentAdapter(document); RefactoringDocumentAdapter doc = new RefactoringDocumentAdapter(document);
var pos = doc.OffsetToPosition(doc.PositionToOffset(target.BodyRegion.EndLine, target.BodyRegion.EndColumn) - 1); var pos = doc.OffsetToPosition(doc.PositionToOffset(target.BodyRegion.EndLine, target.BodyRegion.EndColumn) - 1);
ClassFinder context = new ClassFinder(target, pos.Line, pos.Column); ClassFinder context = new ClassFinder(target, pos.Line, pos.Column);
foreach (IMember member in abstractClass.AllMembers.Where(m => m.IsAbstract && !HasMember(m, target))) { foreach (IMember member in MemberLookupHelper.GetAccessibleMembers(abstractClass, target, LanguageProperties.CSharp, true)
.Where(m => m.IsAbstract && !HasMember(m, target))) {
generator.InsertCodeAtEnd(target.BodyRegion, doc, generator.GetOverridingMethod(member, context)); generator.InsertCodeAtEnd(target.BodyRegion, doc, generator.GetOverridingMethod(member, context));
} }
} }

22
src/AddIns/Misc/SharpRefactoring/Src/Gui/InlineRefactorDialog.cs → src/AddIns/Misc/SharpRefactoring/Src/Gui/AbstractInlineRefactorDialog.cs

@ -14,6 +14,7 @@ using System.Windows.Controls;
using System.Windows.Media; using System.Windows.Media;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory.Ast; using ICSharpCode.NRefactory.Ast;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Dom;
@ -22,14 +23,14 @@ using ICSharpCode.SharpDevelop.Editor;
namespace SharpRefactoring.Gui namespace SharpRefactoring.Gui
{ {
public abstract class InlineRefactorDialog : DockPanel public abstract class AbstractInlineRefactorDialog : DockPanel, IOptionBindingContainer
{ {
protected ITextAnchor anchor; protected ITextAnchor anchor;
protected ITextEditor editor; protected ITextEditor editor;
public IInlineUIElement Element { get; set; } public IInlineUIElement Element { get; set; }
public InlineRefactorDialog(ITextEditor editor, ITextAnchor anchor) public AbstractInlineRefactorDialog(ITextEditor editor, ITextAnchor anchor)
{ {
this.anchor = anchor; this.anchor = anchor;
this.editor = editor; this.editor = editor;
@ -39,7 +40,7 @@ namespace SharpRefactoring.Gui
Initialize(); Initialize();
} }
void Initialize() protected virtual void Initialize()
{ {
UIElement content = CreateContentElement(); UIElement content = CreateContentElement();
@ -90,6 +91,11 @@ namespace SharpRefactoring.Gui
editor.Document.Insert(anchor.Offset, GenerateCode(generator, current) ?? ""); editor.Document.Insert(anchor.Offset, GenerateCode(generator, current) ?? "");
} }
if (optionBindings != null) {
foreach (OptionBinding binding in optionBindings)
binding.Save();
}
Element.Remove(); Element.Remove();
} }
@ -100,5 +106,15 @@ namespace SharpRefactoring.Gui
Element.Remove(); Element.Remove();
} }
List<OptionBinding> optionBindings;
public void AddBinding(OptionBinding binding)
{
if (optionBindings == null)
optionBindings = new List<OptionBinding>();
optionBindings.Add(binding);
}
} }
} }

78
src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideEqualsGetHashCodeMethodsDialog.cs

@ -0,0 +1,78 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Siegfried Pammer" email="siegfriedpammer@gmail.com" />
// <version>$Revision$</version>
// </file>
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Editor;
namespace SharpRefactoring.Gui
{
public class OverrideEqualsGetHashCodeMethodsDialog : AbstractInlineRefactorDialog
{
CheckBox addIEquatableCheckBox;
CheckBox addOperatorOverrides;
CheckBox implementAllIEquatables;
IClass selectedClass;
public OverrideEqualsGetHashCodeMethodsDialog(ITextEditor editor, ITextAnchor anchor, IClass selectedClass)
: base(editor, anchor)
{
if (selectedClass == null)
throw new ArgumentNullException("selectedClass");
this.selectedClass = selectedClass;
addIEquatableCheckBox.Content = string.Format(StringParser.Parse("${res:AddIns.SharpRefactoring.AddInterface}"), "IEquatable<" + selectedClass.Name + ">");
addIEquatableCheckBox.IsEnabled = !selectedClass.BaseTypes.Any(type => {
if (!type.IsGenericReturnType)
return false;
var genericType = type.CastToGenericReturnType();
var boundTo = genericType.TypeParameter.BoundTo;
if (boundTo == null)
return false;
return boundTo.Name == selectedClass.Name;
}
);
addIEquatableCheckBox.SetValueToExtension(CheckBox.IsCheckedProperty,
new OptionBinding(typeof(Options), "AddInterface")
);
}
protected override UIElement CreateContentElement()
{
addIEquatableCheckBox = new CheckBox();
StackPanel panel = new StackPanel() {
Orientation = Orientation.Vertical,
Children = {
addIEquatableCheckBox
}
};
return panel;
}
protected override string GenerateCode(CodeGenerator generator, IClass currentClass)
{
throw new NotImplementedException();
}
}
public interface IInlineRefactoring
{
void GenerateCode(ITextEditor editor);
}
}

7
src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideToStringMethodDialog.xaml

@ -0,0 +1,7 @@
<UserControl x:Class="SharpRefactoring.Gui.OverrideToStringMethodDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
</Grid>
</UserControl>

30
src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideToStringMethodDialog.xaml.cs

@ -0,0 +1,30 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Siegfried Pammer" email="siegfriedpammer@gmail.com" />
// <version>$Revision$</version>
// </file>
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
namespace SharpRefactoring.Gui
{
/// <summary>
/// Interaction logic for OverrideToStringMethodDialog.xaml
/// </summary>
public partial class OverrideToStringMethodDialog : UserControl
{
public OverrideToStringMethodDialog()
{
InitializeComponent();
}
}
}

4
src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideToStringMethodDialog.cs → src/AddIns/Misc/SharpRefactoring/Src/Gui/OverrideToStringMethodDialogOld.cs

@ -22,12 +22,12 @@ using ICSharpCode.SharpDevelop.Editor;
namespace SharpRefactoring.Gui namespace SharpRefactoring.Gui
{ {
public class OverrideToStringMethodDialog : InlineRefactorDialog public class OverrideToStringMethodDialogOld : AbstractInlineRefactorDialog
{ {
ListBox listBox; ListBox listBox;
List<Wrapper<IField>> fields; List<Wrapper<IField>> fields;
public OverrideToStringMethodDialog(ITextEditor editor, ITextAnchor anchor, IList<IField> fields) public OverrideToStringMethodDialogOld(ITextEditor editor, ITextAnchor anchor, IList<IField> fields)
: base(editor, anchor) : base(editor, anchor)
{ {
this.fields = fields.Select(f => new Wrapper<IField>() { Entity = f }).ToList(); this.fields = fields.Select(f => new Wrapper<IField>() { Entity = f }).ToList();

38
src/AddIns/Misc/SharpRefactoring/Src/Options.cs

@ -0,0 +1,38 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Siegfried Pammer" email="siegfriedpammer@gmail.com" />
// <version>$Revision$</version>
// </file>
using System;
using System.Diagnostics;
using ICSharpCode.Core;
namespace SharpRefactoring
{
/// <summary>
/// Description of Options.
/// </summary>
public static class Options
{
static Properties properties;
public static Properties Properties {
get {
Debug.Assert(properties != null);
return properties;
}
}
static Options()
{
properties = PropertyService.Get("SharpRefactoringOptions", new Properties());
}
public static bool AddInterface {
get { return properties.Get("AddInterface", false); }
set { properties.Set("AddInterface", value); }
}
}
}

53
src/AddIns/Misc/SharpRefactoring/Src/OverrideEqualsGetHashCodeMethodsCommand.cs

@ -0,0 +1,53 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Siegfried Pammer" email="siegfriedpammer@gmail.com" />
// <version>$Revision$</version>
// </file>
using System;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Dom.Refactoring;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Refactoring;
using SharpRefactoring.Gui;
namespace SharpRefactoring
{
public class OverrideEqualsGetHashCodeMethodsCommand : AbstractRefactoringCommand
{
protected override void Run(ITextEditor textEditor, RefactoringProvider provider)
{
IEditorUIService uiService = textEditor.GetService(typeof(IEditorUIService)) as IEditorUIService;
if (uiService == null)
return;
ParseInformation parseInfo = ParserService.GetParseInformation(textEditor.FileName);
if (parseInfo == null)
return;
CodeGenerator generator = parseInfo.CompilationUnit.Language.CodeGenerator;
IClass current = parseInfo.CompilationUnit.GetInnermostClass(textEditor.Caret.Line, textEditor.Caret.Column);
if (current == null)
return;
ITextAnchor anchor = textEditor.Document.CreateAnchor(textEditor.Caret.Offset);
anchor.MovementType = AnchorMovementType.AfterInsertion;
var line = textEditor.Document.GetLineForOffset(textEditor.Caret.Offset);
string indent = DocumentUtilitites.GetWhitespaceAfter(textEditor.Document, line.Offset);
// textEditor.Document.Insert(anchor.Offset, "#region Equals and GetHashCode implementation\n" + indent);
// textEditor.Document.Insert(anchor.Offset + 1, indent + "#endregion\n");
//
// AbstractInlineRefactorDialog dialog = new OverrideEqualsGetHashCodeMethodsDialog(textEditor, anchor, current);
//
// dialog.Element = uiService.CreateInlineUIElement(anchor, dialog);
}
}
}

6
src/AddIns/Misc/SharpRefactoring/Src/OverrideToStringMethodCommand.cs

@ -48,9 +48,9 @@ namespace SharpRefactoring
textEditor.Document.Insert(anchor.Offset, "public override string ToString()\n" + indent + "{\n" + indent + "\t"); textEditor.Document.Insert(anchor.Offset, "public override string ToString()\n" + indent + "{\n" + indent + "\t");
textEditor.Document.Insert(anchor.Offset + 1, indent + "}\n"); textEditor.Document.Insert(anchor.Offset + 1, indent + "}\n");
InlineRefactorDialog dialog = new OverrideToStringMethodDialog(textEditor, anchor, current.Fields); // AbstractInlineRefactorDialog dialog = new OverrideToStringMethodDialog(textEditor, anchor, current.Fields);
//
dialog.Element = uiService.CreateInlineUIElement(anchor, dialog); // dialog.Element = uiService.CreateInlineUIElement(anchor, dialog);
} }
} }
} }

34
src/Main/ICSharpCode.Core.Presentation/OptionBinding.cs

@ -33,7 +33,7 @@ namespace ICSharpCode.Core.Presentation
/// </example> /// </example>
public class OptionBinding : MarkupExtension public class OptionBinding : MarkupExtension
{ {
public string PropertyName { get; set; } public string FullPropertyName { get; set; }
static readonly Regex regex = new Regex("^.+\\:.+\\..+$", RegexOptions.Compiled); static readonly Regex regex = new Regex("^.+\\:.+\\..+$", RegexOptions.Compiled);
@ -41,6 +41,7 @@ namespace ICSharpCode.Core.Presentation
DependencyProperty dp; DependencyProperty dp;
bool isStatic; bool isStatic;
Type propertyDeclaringType; Type propertyDeclaringType;
string propertyName;
MemberInfo propertyInfo; MemberInfo propertyInfo;
@ -49,7 +50,13 @@ namespace ICSharpCode.Core.Presentation
if (!regex.IsMatch(propertyName)) if (!regex.IsMatch(propertyName))
throw new ArgumentException("parameter must have the following format: namespace:ClassName.FieldOrProperty", "propertyName"); throw new ArgumentException("parameter must have the following format: namespace:ClassName.FieldOrProperty", "propertyName");
this.PropertyName = propertyName; this.FullPropertyName = propertyName;
}
public OptionBinding(Type container, string propertyName)
{
this.propertyDeclaringType = container;
this.propertyName = propertyName;
} }
public override object ProvideValue(IServiceProvider provider) public override object ProvideValue(IServiceProvider provider)
@ -65,21 +72,22 @@ namespace ICSharpCode.Core.Presentation
if (target == null || dp == null) if (target == null || dp == null)
return null; return null;
string[] name = PropertyName.Split('.'); if (FullPropertyName != null) {
IXamlTypeResolver typeResolver = provider.GetService(typeof(IXamlTypeResolver)) as IXamlTypeResolver; string[] name = FullPropertyName.Split('.');
propertyDeclaringType = typeResolver.Resolve(name[0]); IXamlTypeResolver typeResolver = provider.GetService(typeof(IXamlTypeResolver)) as IXamlTypeResolver;
if (propertyDeclaringType == null) propertyDeclaringType = typeResolver.Resolve(name[0]);
throw new ArgumentException("Could not find type " + name[0]); propertyName = name[1];
}
this.propertyInfo = propertyDeclaringType.GetProperty(name[1]); this.propertyInfo = propertyDeclaringType.GetProperty(propertyName);
if (this.propertyInfo != null) { if (this.propertyInfo != null) {
isStatic = (propertyInfo as PropertyInfo).GetGetMethod().IsStatic; isStatic = (propertyInfo as PropertyInfo).GetGetMethod().IsStatic;
} else { } else {
this.propertyInfo = propertyDeclaringType.GetField(name[1]); this.propertyInfo = propertyDeclaringType.GetField(propertyName);
if (this.propertyInfo != null) { if (this.propertyInfo != null) {
isStatic = (propertyInfo as FieldInfo).IsStatic; isStatic = (propertyInfo as FieldInfo).IsStatic;
} else { } else {
throw new ArgumentException("Could not find property " + name[1]); throw new ArgumentException("Could not find property " + propertyName);
} }
} }
@ -103,7 +111,7 @@ namespace ICSharpCode.Core.Presentation
return ConvertOnDemand(result, dp.PropertyType); return ConvertOnDemand(result, dp.PropertyType);
} catch (Exception e) { } catch (Exception e) {
throw new Exception("Failing to convert " + this.PropertyName + " to " + throw new Exception("Failing to convert " + this.FullPropertyName + " to " +
dp.OwnerType.Name + "." + dp.Name + " (" + dp.PropertyType + ")", e); dp.OwnerType.Name + "." + dp.Name + " (" + dp.PropertyType + ")", e);
} }
} }
@ -140,13 +148,13 @@ namespace ICSharpCode.Core.Presentation
return Convert.ChangeType(result, returnType); return Convert.ChangeType(result, returnType);
} }
IOptionBindingContainer TryFindContainer(FrameworkElement start) IOptionBindingContainer TryFindContainer(DependencyObject start)
{ {
if (start == null) if (start == null)
return null; return null;
while (start != null && !(start is IOptionBindingContainer)) while (start != null && !(start is IOptionBindingContainer))
start = start.Parent as FrameworkElement; start = LogicalTreeHelper.GetParent(start);
return start as IOptionBindingContainer; return start as IOptionBindingContainer;
} }

2
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/MemberLookupHelper.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.SharpDevelop.Dom
public static class MemberLookupHelper public static class MemberLookupHelper
{ {
#region LookupMember / GetAccessibleMembers #region LookupMember / GetAccessibleMembers
static List<IMember> GetAllMembers(IReturnType rt) public static List<IMember> GetAllMembers(IReturnType rt)
{ {
List<IMember> members = new List<IMember>(); List<IMember> members = new List<IMember>();
if (rt != null) { if (rt != null) {

Loading…
Cancel
Save