Browse Source

The commands "Create getter" and "Create property" now generate code using NRefactory. (part of SD2-436)

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@607 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 21 years ago
parent
commit
a0a696f897
  1. 1
      src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.csproj
  2. 68
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooCodeGenerator.cs
  3. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooLanguageProperties.cs
  4. 2
      src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitor.cs
  5. 14
      src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorTypeMembers.cs
  6. 2
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  7. 16
      src/Main/Base/Project/Src/Dom/LanguageProperties.cs
  8. 101
      src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs
  9. 48
      src/Main/Base/Project/Src/Services/RefactoringService/NRefactoryCodeGenerator.cs
  10. 21
      src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs
  11. 2
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractFieldCodeGenerator.cs
  12. 4
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/CodeGenerator.cs
  13. 2
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/EqualsCodeGenerator.cs
  14. 2
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/InterfaceImplementorCodeGenerator.cs
  15. 2
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/OnXXXMethodsCodeGenerator.cs
  16. 2
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/OverrideMethodsCodeGenerator.cs
  17. 12
      src/Main/Base/Project/Src/TextEditor/Commands/GenerateCodeCommand.cs

1
src/AddIns/BackendBindings/Boo/BooBinding/Project/BooBinding.csproj

@ -82,6 +82,7 @@
<Compile Include="Src\Designer\BooDesignerLoader.cs" /> <Compile Include="Src\Designer\BooDesignerLoader.cs" />
<Compile Include="Src\Designer\FormDesignerBinding.cs" /> <Compile Include="Src\Designer\FormDesignerBinding.cs" />
<Compile Include="Src\Designer\CodeDomVisitor.cs" /> <Compile Include="Src\Designer\CodeDomVisitor.cs" />
<Compile Include="Src\BooCodeGenerator.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="BooBinding.addin"> <Content Include="BooBinding.addin">

68
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooCodeGenerator.cs

@ -0,0 +1,68 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 22.10.2005
* Time: 15:07
*/
using System;
using System.IO;
using System.Text;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Refactoring;
using ICSharpCode.NRefactory.Parser.AST;
using NRefactoryToBooConverter;
using Boo.Lang.Compiler;
using Boo.Lang.Compiler.Ast;
using Boo.Lang.Compiler.Ast.Visitors;
namespace Grunwald.BooBinding
{
/// <summary>
/// Description of BooCodeGenerator.
/// </summary>
public class BooCodeGenerator : CodeGenerator
{
public override string GenerateCode(AbstractNode node, string indentation)
{
StringBuilder errorBuilder = new StringBuilder();
ConverterSettings settings = new ConverterSettings("codegeneration.cs");
string output = null;
Node booNode = (Node)node.AcceptVisitor(new ConvertVisitor(settings), null);
if (settings.Errors.Count > 0) {
foreach (CompilerError error in settings.Errors) {
errorBuilder.AppendLine(error.ToString());
}
} else {
if (settings.Warnings.Count > 0) {
foreach (CompilerWarning warning in settings.Warnings) {
errorBuilder.AppendLine(warning.ToString());
}
}
using (StringWriter w = new StringWriter()) {
BooPrinterVisitor printer = new BooPrinterVisitor(w);
int indentCount = 0;
foreach (char c in indentation) {
if (c == '\t')
indentCount += 4;
else
indentCount += 1;
}
indentCount /= 4;
while (indentCount-- > 0)
printer.Indent();
booNode.Accept(printer);
output = w.ToString();
}
}
if (errorBuilder.Length > 0) {
MessageService.ShowMessage(errorBuilder.ToString());
}
return output;
}
public static readonly BooCodeGenerator Instance = new BooCodeGenerator();
}
}

2
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooLanguageProperties.cs

@ -14,7 +14,7 @@ namespace Grunwald.BooBinding
{ {
public readonly static BooLanguageProperties Instance = new BooLanguageProperties(); public readonly static BooLanguageProperties Instance = new BooLanguageProperties();
public BooLanguageProperties() : base(StringComparer.InvariantCulture) {} public BooLanguageProperties() : base(StringComparer.InvariantCulture, BooCodeGenerator.Instance) {}
public override bool ImportNamespaces { public override bool ImportNamespaces {
get { get {

2
src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitor.cs

@ -158,7 +158,7 @@ namespace NRefactoryToBooConverter
} else { } else {
AddError(node, "Default modifier is not supported on this member."); AddError(node, "Default modifier is not supported on this member.");
} }
if (name != null) { if (name != null && currentType != null) {
currentType.Attributes.Add(MakeAttribute("System.Reflection.DefaultMember", new B.StringLiteralExpression(name))); currentType.Attributes.Add(MakeAttribute("System.Reflection.DefaultMember", new B.StringLiteralExpression(name)));
} }
} }

14
src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorTypeMembers.cs

@ -49,7 +49,7 @@ namespace NRefactoryToBooConverter
} }
m.Name = variable.Name; m.Name = variable.Name;
ConvertAttributes(fieldDeclaration.Attributes, m.Attributes); ConvertAttributes(fieldDeclaration.Attributes, m.Attributes);
currentType.Members.Add(m); if (currentType != null) currentType.Members.Add(m);
} }
B.Block ConvertMethodBlock(BlockStatement block) B.Block ConvertMethodBlock(BlockStatement block)
@ -67,7 +67,7 @@ namespace NRefactoryToBooConverter
m.Name = methodDeclaration.Name; m.Name = methodDeclaration.Name;
m.Modifiers = ConvertModifier(methodDeclaration, B.TypeMemberModifiers.Private); m.Modifiers = ConvertModifier(methodDeclaration, B.TypeMemberModifiers.Private);
ConvertAttributes(methodDeclaration.Attributes, m.Attributes); ConvertAttributes(methodDeclaration.Attributes, m.Attributes);
currentType.Members.Add(m); if (currentType != null) currentType.Members.Add(m);
if (methodDeclaration.HandlesClause.Count > 0) { if (methodDeclaration.HandlesClause.Count > 0) {
// TODO: Convert handles clauses to [Handles] attribute // TODO: Convert handles clauses to [Handles] attribute
AddError(methodDeclaration, "Handles-clause is not supported."); AddError(methodDeclaration, "Handles-clause is not supported.");
@ -96,7 +96,7 @@ namespace NRefactoryToBooConverter
B.Constructor m = new B.Constructor(GetLexicalInfo(constructorDeclaration)); B.Constructor m = new B.Constructor(GetLexicalInfo(constructorDeclaration));
m.Modifiers = ConvertModifier(constructorDeclaration, B.TypeMemberModifiers.Private); m.Modifiers = ConvertModifier(constructorDeclaration, B.TypeMemberModifiers.Private);
ConvertAttributes(constructorDeclaration.Attributes, m.Attributes); ConvertAttributes(constructorDeclaration.Attributes, m.Attributes);
currentType.Members.Add(m); if (currentType != null) currentType.Members.Add(m);
ConvertParameters(constructorDeclaration.Parameters, m.Parameters); ConvertParameters(constructorDeclaration.Parameters, m.Parameters);
m.EndSourceLocation = GetEndLocation((INode)constructorDeclaration.Body ?? constructorDeclaration); m.EndSourceLocation = GetEndLocation((INode)constructorDeclaration.Body ?? constructorDeclaration);
m.Body = ConvertMethodBlock(constructorDeclaration.Body); m.Body = ConvertMethodBlock(constructorDeclaration.Body);
@ -118,7 +118,7 @@ namespace NRefactoryToBooConverter
{ {
B.Destructor m = new B.Destructor(GetLexicalInfo(destructorDeclaration)); B.Destructor m = new B.Destructor(GetLexicalInfo(destructorDeclaration));
ConvertAttributes(destructorDeclaration.Attributes, m.Attributes); ConvertAttributes(destructorDeclaration.Attributes, m.Attributes);
currentType.Members.Add(m); if (currentType != null) currentType.Members.Add(m);
m.EndSourceLocation = GetLocation(destructorDeclaration.EndLocation); m.EndSourceLocation = GetLocation(destructorDeclaration.EndLocation);
m.Body = ConvertMethodBlock(destructorDeclaration.Body); m.Body = ConvertMethodBlock(destructorDeclaration.Body);
return m; return m;
@ -164,7 +164,7 @@ namespace NRefactoryToBooConverter
m.Name = propertyDeclaration.Name; m.Name = propertyDeclaration.Name;
m.Modifiers = ConvertModifier(propertyDeclaration, B.TypeMemberModifiers.Private); m.Modifiers = ConvertModifier(propertyDeclaration, B.TypeMemberModifiers.Private);
ConvertAttributes(propertyDeclaration.Attributes, m.Attributes); ConvertAttributes(propertyDeclaration.Attributes, m.Attributes);
currentType.Members.Add(m); if (currentType != null) currentType.Members.Add(m);
ConvertParameters(propertyDeclaration.Parameters, m.Parameters); ConvertParameters(propertyDeclaration.Parameters, m.Parameters);
m.EndSourceLocation = GetLocation(propertyDeclaration.EndLocation); m.EndSourceLocation = GetLocation(propertyDeclaration.EndLocation);
m.Type = ConvertTypeReference(propertyDeclaration.TypeReference); m.Type = ConvertTypeReference(propertyDeclaration.TypeReference);
@ -201,7 +201,7 @@ namespace NRefactoryToBooConverter
m.Name = DefaultIndexerName; m.Name = DefaultIndexerName;
m.Modifiers = ConvertModifier(indexerDeclaration, B.TypeMemberModifiers.Private); m.Modifiers = ConvertModifier(indexerDeclaration, B.TypeMemberModifiers.Private);
ConvertAttributes(indexerDeclaration.Attributes, m.Attributes); ConvertAttributes(indexerDeclaration.Attributes, m.Attributes);
currentType.Members.Add(m); if (currentType != null) currentType.Members.Add(m);
ConvertParameters(indexerDeclaration.Parameters, m.Parameters); ConvertParameters(indexerDeclaration.Parameters, m.Parameters);
m.EndSourceLocation = GetLocation(indexerDeclaration.EndLocation); m.EndSourceLocation = GetLocation(indexerDeclaration.EndLocation);
m.Type = ConvertTypeReference(indexerDeclaration.TypeReference); m.Type = ConvertTypeReference(indexerDeclaration.TypeReference);
@ -245,7 +245,7 @@ namespace NRefactoryToBooConverter
} }
m.Modifiers = ConvertModifier(eventDeclaration, B.TypeMemberModifiers.Private); m.Modifiers = ConvertModifier(eventDeclaration, B.TypeMemberModifiers.Private);
ConvertAttributes(eventDeclaration.Attributes, m.Attributes); ConvertAttributes(eventDeclaration.Attributes, m.Attributes);
currentType.Members.Add(m); if (currentType != null) currentType.Members.Add(m);
m.EndSourceLocation = GetLocation(eventDeclaration.EndLocation); m.EndSourceLocation = GetLocation(eventDeclaration.EndLocation);
m.Type = ConvertTypeReference(eventDeclaration.TypeReference); m.Type = ConvertTypeReference(eventDeclaration.TypeReference);
if (eventDeclaration.ImplementsClause.Count > 0) { if (eventDeclaration.ImplementsClause.Count > 0) {

2
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -708,6 +708,8 @@
<Compile Include="Src\Project\ChooseStorageLocationButton.cs" /> <Compile Include="Src\Project\ChooseStorageLocationButton.cs" />
<Compile Include="Src\Dom\ReflectionLayer\ReflectionLoader.cs" /> <Compile Include="Src\Dom\ReflectionLayer\ReflectionLoader.cs" />
<Compile Include="Src\Dom\ReflectionLayer\DomPersistence.cs" /> <Compile Include="Src\Dom\ReflectionLayer\DomPersistence.cs" />
<Compile Include="Src\Services\RefactoringService\CodeGenerator.cs" />
<Compile Include="Src\Services\RefactoringService\NRefactoryCodeGenerator.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj"> <ProjectReference Include="..\..\..\Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj">

16
src/Main/Base/Project/Src/Dom/LanguageProperties.cs

@ -6,19 +6,21 @@
// </file> // </file>
using System; using System;
using ICSharpCode.SharpDevelop.Refactoring;
namespace ICSharpCode.SharpDevelop.Dom namespace ICSharpCode.SharpDevelop.Dom
{ {
public class LanguageProperties public class LanguageProperties
{ {
public readonly static LanguageProperties CSharp = new LanguageProperties(StringComparer.InvariantCulture); public readonly static LanguageProperties CSharp = new LanguageProperties(StringComparer.InvariantCulture, CSharpCodeGenerator.Instance);
public readonly static LanguageProperties VBNet = new VBNetProperties(); public readonly static LanguageProperties VBNet = new VBNetProperties();
StringComparer nameComparer; StringComparer nameComparer;
public LanguageProperties(StringComparer nameComparer) public LanguageProperties(StringComparer nameComparer, CodeGenerator codeGenerator)
{ {
this.nameComparer = nameComparer; this.nameComparer = nameComparer;
this.codeGenerator = codeGenerator;
} }
public StringComparer NameComparer { public StringComparer NameComparer {
@ -27,6 +29,14 @@ namespace ICSharpCode.SharpDevelop.Dom
} }
} }
CodeGenerator codeGenerator;
public CodeGenerator CodeGenerator {
get {
return codeGenerator;
}
}
/// <summary> /// <summary>
/// Gets if namespaces can be imported (i.e. Imports System, Dim a As Collections.ArrayList) /// Gets if namespaces can be imported (i.e. Imports System, Dim a As Collections.ArrayList)
/// </summary> /// </summary>
@ -87,7 +97,7 @@ namespace ICSharpCode.SharpDevelop.Dom
private class VBNetProperties : LanguageProperties private class VBNetProperties : LanguageProperties
{ {
public VBNetProperties() : base(StringComparer.InvariantCultureIgnoreCase) {} public VBNetProperties() : base(StringComparer.InvariantCultureIgnoreCase, VBNetCodeGenerator.Instance) {}
public override bool ShowMember(IMember member, bool showStatic) public override bool ShowMember(IMember member, bool showStatic)
{ {

101
src/Main/Base/Project/Src/Services/RefactoringService/CodeGenerator.cs

@ -0,0 +1,101 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 22.10.2005
* Time: 14:41
*/
using System;
using System.IO;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.NRefactory.Parser.AST;
namespace ICSharpCode.SharpDevelop.Refactoring
{
/// <summary>
/// Provides code generation facilities.
/// </summary>
public abstract class CodeGenerator
{
protected TypeReference ConvertType(IReturnType returnType)
{
if (returnType == null) return TypeReference.Null;
if (returnType is NullReturnType) return TypeReference.Null;
TypeReference typeRef = new TypeReference(returnType.FullyQualifiedName);
while (returnType is ArrayReturnType) {
ArrayReturnType art = (ArrayReturnType)returnType;
int[] rank = typeRef.RankSpecifier ?? new int[0];
Array.Resize(ref rank, rank.Length + 1);
rank[rank.Length - 1] = art.ArrayDimensions;
typeRef.RankSpecifier = rank;
returnType = art.ElementType;
}
if (returnType is ConstructedReturnType) {
ConstructedReturnType rt = (ConstructedReturnType)returnType;
foreach (IReturnType typeArgument in rt.TypeArguments) {
typeRef.GenericTypes.Add(ConvertType(typeArgument));
}
}
return typeRef;
}
protected Modifier ConvertModifier(ModifierEnum m)
{
return (Modifier)m;
}
public virtual string GetPropertyName(string fieldName)
{
if (fieldName.StartsWith("_") && fieldName.Length > 1)
return Char.ToUpper(fieldName[1]) + fieldName.Substring(2);
else if (fieldName.StartsWith("m_") && fieldName.Length > 2)
return Char.ToUpper(fieldName[2]) + fieldName.Substring(3);
else
return Char.ToUpper(fieldName[0]) + fieldName.Substring(1);
}
public virtual void CreateProperty(IField field, IDocument document, bool createGetter, bool createSetter)
{
string name = GetPropertyName(field.Name);
PropertyDeclaration property = new PropertyDeclaration(name,
ConvertType(field.ReturnType),
ConvertModifier(field.Modifiers), null);
if (createGetter) {
BlockStatement block = new BlockStatement();
block.AddChild(new ReturnStatement(new IdentifierExpression(field.Name)));
property.GetRegion = new PropertyGetRegion(block, null);
}
if (createSetter) {
BlockStatement block = new BlockStatement();
Expression left = new IdentifierExpression(field.Name);
Expression right = new IdentifierExpression("value");
block.AddChild(new StatementExpression(new AssignmentExpression(left, AssignmentOperatorType.Assign, right)));
property.SetRegion = new PropertySetRegion(block, null);
}
InsertCodeAfter(field, document, property);
}
/// <summary>
/// Generates code for <paramref name="node"/> and inserts it into <paramref name="document"/>
/// after <paramref name="position"/>.
/// </summary>
public virtual void InsertCodeAfter(IMember position, IDocument document, AbstractNode node)
{
int insertLine = position.Region.EndLine;
LineSegment lineSegment = document.GetLineSegment(insertLine - 1);
string lineText = document.GetText(lineSegment.Offset, lineSegment.Length);
string indentation = lineText.Substring(0, lineText.Length - lineText.TrimStart().Length);
// insert one line below field (text editor uses different coordinates)
lineSegment = document.GetLineSegment(insertLine);
document.Insert(lineSegment.Offset, GenerateCode(node, indentation));
}
/// <summary>
/// Generates code for the NRefactory node.
/// </summary>
public abstract string GenerateCode(AbstractNode node, string indentation);
}
}

48
src/Main/Base/Project/Src/Services/RefactoringService/NRefactoryCodeGenerator.cs

@ -0,0 +1,48 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 22.10.2005
* Time: 14:41
*/
using System;
using System.IO;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.NRefactory.Parser.AST;
using ICSharpCode.NRefactory.PrettyPrinter;
namespace ICSharpCode.SharpDevelop.Refactoring
{
public abstract class NRefactoryCodeGenerator : CodeGenerator
{
public abstract IOutputASTVisitor CreateOutputVisitor();
public override string GenerateCode(AbstractNode node, string indentation)
{
IOutputASTVisitor visitor = CreateOutputVisitor();
node.AcceptVisitor(visitor, null);
return visitor.Text;
}
}
public class CSharpCodeGenerator : NRefactoryCodeGenerator
{
public static readonly CSharpCodeGenerator Instance = new CSharpCodeGenerator();
public override IOutputASTVisitor CreateOutputVisitor()
{
return new CSharpOutputVisitor();
}
}
public class VBNetCodeGenerator : NRefactoryCodeGenerator
{
public static readonly VBNetCodeGenerator Instance = new VBNetCodeGenerator();
public override IOutputASTVisitor CreateOutputVisitor()
{
return new VBNetOutputVisitor();
}
}
}

21
src/Main/Base/Project/Src/TextEditor/Commands/ClassMemberMenuBuilder.cs

@ -86,8 +86,9 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
IProperty FindProperty(IField field) IProperty FindProperty(IField field)
{ {
string propertyName = AbstractPropertyCodeGenerator.GetPropertyName(field.Name);
LanguageProperties language = field.DeclaringType.ProjectContent.Language; LanguageProperties language = field.DeclaringType.ProjectContent.Language;
if (language.CodeGenerator == null) return null;
string propertyName = language.CodeGenerator.GetPropertyName(field.Name);
IProperty foundProperty = null; IProperty foundProperty = null;
foreach (IProperty prop in field.DeclaringType.Properties) { foreach (IProperty prop in field.DeclaringType.Properties) {
if (language.NameComparer.Equals(propertyName, prop.Name)) { if (language.NameComparer.Equals(propertyName, prop.Name)) {
@ -111,23 +112,11 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
void CreateProperty(object sender, EventArgs e, bool includeSetter) void CreateProperty(object sender, EventArgs e, bool includeSetter)
{ {
MenuCommand item = (MenuCommand)sender; MenuCommand item = (MenuCommand)sender;
IMember member = (IMember)item.Tag; IField member = (IField)item.Tag;
TextEditorControl textEditor = FindReferencesAndRenameHelper.JumpBehindDefinition(member); TextEditorControl textEditor = FindReferencesAndRenameHelper.JumpBehindDefinition(member);
AbstractPropertyCodeGenerator generator; member.DeclaringType.ProjectContent.Language.CodeGenerator.CreateProperty(member, textEditor.Document, true, includeSetter);
if (includeSetter) textEditor.Refresh();
generator = new GetterAndSetterCodeGenerator(member.DeclaringType);
else
generator = new GetterCodeGenerator(member.DeclaringType);
List<AbstractFieldCodeGenerator.FieldWrapper> list = new List<AbstractFieldCodeGenerator.FieldWrapper>();
foreach (AbstractFieldCodeGenerator.FieldWrapper fw in generator.Content) {
if (fw.Field == member) {
list.Add(fw);
}
}
generator.BeginWithNewLine = true;
generator.GenerateCode(textEditor.ActiveTextAreaControl.TextArea, list);
} }
void GotoTagMember(object sender, EventArgs e) void GotoTagMember(object sender, EventArgs e)

2
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractFieldCodeGenerator.cs

@ -11,7 +11,7 @@ using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{ {
public abstract class AbstractFieldCodeGenerator : CodeGenerator public abstract class AbstractFieldCodeGenerator : OldCodeGeneratorBase
{ {
public AbstractFieldCodeGenerator(IClass currentClass) : base(currentClass) public AbstractFieldCodeGenerator(IClass currentClass) : base(currentClass)
{ {

4
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/CodeGenerator.cs

@ -19,7 +19,7 @@ using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{ {
public abstract class CodeGenerator public abstract class OldCodeGeneratorBase
{ {
ArrayList content = new ArrayList(); ArrayList content = new ArrayList();
protected int numOps = 0; protected int numOps = 0;
@ -28,7 +28,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
protected IClass currentClass = null; protected IClass currentClass = null;
protected TextArea editActionHandler; protected TextArea editActionHandler;
public CodeGenerator(IClass currentClass) public OldCodeGeneratorBase(IClass currentClass)
{ {
this.currentClass = currentClass; this.currentClass = currentClass;
try { try {

2
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/EqualsCodeGenerator.cs

@ -17,7 +17,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
/// <summary> /// <summary>
/// Description of EqualsCodeGenerator. /// Description of EqualsCodeGenerator.
/// </summary> /// </summary>
public class EqualsCodeGenerator : CodeGenerator public class EqualsCodeGenerator : OldCodeGeneratorBase
{ {
public override string CategoryName { public override string CategoryName {
get { get {

2
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/InterfaceImplementorCodeGenerator.cs

@ -14,7 +14,7 @@ using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{ {
public abstract class InterfaceOrAbstractClassCodeGenerator : CodeGenerator public abstract class InterfaceOrAbstractClassCodeGenerator : OldCodeGeneratorBase
{ {
public override int ImageIndex { public override int ImageIndex {
get { get {

2
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/OnXXXMethodsCodeGenerator.cs

@ -14,7 +14,7 @@ using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{ {
public class OnXXXMethodsCodeGenerator : CodeGenerator public class OnXXXMethodsCodeGenerator : OldCodeGeneratorBase
{ {
public override string CategoryName { public override string CategoryName {
get { get {

2
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/OverrideMethodsCodeGenerator.cs

@ -14,7 +14,7 @@ using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
{ {
public class OverrideMethodsCodeGenerator : CodeGenerator public class OverrideMethodsCodeGenerator : OldCodeGeneratorBase
{ {
public override string CategoryName { public override string CategoryName {
get { get {

12
src/Main/Base/Project/Src/TextEditor/Commands/GenerateCodeCommand.cs

@ -57,7 +57,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
if (currentClass != null) { if (currentClass != null) {
ArrayList categories = new ArrayList(); ArrayList categories = new ArrayList();
using (FormVersion1 form = new FormVersion1(textEditorControl, new CodeGenerator[] { using (FormVersion1 form = new FormVersion1(textEditorControl, new OldCodeGeneratorBase[] {
new ConstructorCodeGenerator(currentClass), new ConstructorCodeGenerator(currentClass),
new GetterCodeGenerator(currentClass), new GetterCodeGenerator(currentClass),
new SetterCodeGenerator(currentClass), new SetterCodeGenerator(currentClass),
@ -122,16 +122,16 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
TextEditorControl textEditorControl; TextEditorControl textEditorControl;
CodeGenerator SelectedCodeGenerator { OldCodeGeneratorBase SelectedCodeGenerator {
get { get {
if (categoryListView.SelectedItems.Count <= 0) { if (categoryListView.SelectedItems.Count <= 0) {
return null; return null;
} }
return (CodeGenerator)categoryListView.SelectedItems[0].Tag; return (OldCodeGeneratorBase)categoryListView.SelectedItems[0].Tag;
} }
} }
public FormVersion1(TextEditorControl textEditorControl, CodeGenerator[] codeGenerators) public FormVersion1(TextEditorControl textEditorControl, OldCodeGeneratorBase[] codeGenerators)
{ {
this.textEditorControl = textEditorControl; this.textEditorControl = textEditorControl;
@ -160,7 +160,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
categoryListView.SmallImageList = categoryListView.LargeImageList = ClassBrowserIconService.ImageList; categoryListView.SmallImageList = categoryListView.LargeImageList = ClassBrowserIconService.ImageList;
foreach (CodeGenerator codeGenerator in codeGenerators) { foreach (OldCodeGeneratorBase codeGenerator in codeGenerators) {
if (codeGenerator.IsActive) { if (codeGenerator.IsActive) {
ListViewItem newItem = new ListViewItem(codeGenerator.CategoryName); ListViewItem newItem = new ListViewItem(codeGenerator.CategoryName);
newItem.ImageIndex = codeGenerator.ImageIndex; newItem.ImageIndex = codeGenerator.ImageIndex;
@ -210,7 +210,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
void CategoryListViewItemChanged(object sender, EventArgs e) void CategoryListViewItemChanged(object sender, EventArgs e)
{ {
CodeGenerator codeGenerator = SelectedCodeGenerator; OldCodeGeneratorBase codeGenerator = SelectedCodeGenerator;
if (codeGenerator == null) { if (codeGenerator == null) {
return; return;
} }

Loading…
Cancel
Save