Browse Source

Fixed InterfaceImplementorCodeGenerator bug (override keyword).

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@482 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
42f00603da
  1. 1
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs
  2. 28
      src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/InterfaceImplementorCodeGenerator.cs

1
src/Main/Base/Project/Src/TextEditor/Commands/CodeGenerators/AbstractClassImplementorCodeGenerator.cs

@ -30,6 +30,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
public AbstractClassImplementorCodeGenerator(IClass currentClass) : base(currentClass) public AbstractClassImplementorCodeGenerator(IClass currentClass) : base(currentClass)
{ {
base.useOverrideKeyword = true;
for (int i = 0; i < currentClass.BaseTypes.Count; i++) { for (int i = 0; i < currentClass.BaseTypes.Count; i++) {
IReturnType baseType = currentClass.GetBaseType(i); IReturnType baseType = currentClass.GetBaseType(i);
IClass baseClass = (baseType != null) ? baseType.GetUnderlyingClass() : null; IClass baseClass = (baseType != null) ? baseType.GetUnderlyingClass() : null;

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

@ -55,6 +55,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
} }
} }
protected bool useOverrideKeyword = false;
void GenerateInterface(IReturnType intf, string fileExtension) void GenerateInterface(IReturnType intf, string fileExtension)
{ {
Return(); Return();
@ -83,9 +85,20 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
} }
if (fileExtension == ".vb") { if (fileExtension == ".vb") {
editActionHandler.InsertString("Overrides Property " + property.Name + " As " + returnType + "\n"); if (useOverrideKeyword) {
editActionHandler.InsertString("Overrides ");++numOps;
}
if (!property.CanSet) {
editActionHandler.InsertString("ReadOnly ");++numOps;
} else if (!property.CanGet) {
editActionHandler.InsertString("WriteOnly ");++numOps;
}
editActionHandler.InsertString("Property " + property.Name + " As " + returnType + "\n");
} else { } else {
editActionHandler.InsertString("override " + returnType + " " + property.Name); if (useOverrideKeyword) {
editActionHandler.InsertString("override ");++numOps;
}
editActionHandler.InsertString(returnType + " " + property.Name);
if (StartCodeBlockInSameLine) { if (StartCodeBlockInSameLine) {
editActionHandler.InsertString(" {");++numOps; editActionHandler.InsertString(" {");++numOps;
} else { } else {
@ -179,11 +192,16 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Commands
} }
bool isSub = returnType == "void"; bool isSub = returnType == "void";
if (fileExtension == ".vb") { if (fileExtension == ".vb") {
if (useOverrideKeyword) {
editActionHandler.InsertString("Overrides " + (isSub ? "Sub " : "Function ") + method.Name + "(" + parameters + ") As " + returnType);++numOps; editActionHandler.InsertString("Overrides ");++numOps;
}
editActionHandler.InsertString((isSub ? "Sub " : "Function ") + method.Name + "(" + parameters + ") As " + returnType);++numOps;
Return(); Return();
} else { } else {
editActionHandler.InsertString("override " + returnType + " " + method.Name + "(" + parameters + ")");++numOps; if (useOverrideKeyword) {
editActionHandler.InsertString("override ");++numOps;
}
editActionHandler.InsertString(returnType + " " + method.Name + "(" + parameters + ")");++numOps;
if (StartCodeBlockInSameLine) { if (StartCodeBlockInSameLine) {
editActionHandler.InsertString(" {");++numOps; editActionHandler.InsertString(" {");++numOps;
} else { } else {

Loading…
Cancel
Save