Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit 595e12f

Browse files
committed
Implement EnvDTE.CodeFunction.CanOverride
1 parent 23cd513 commit 595e12f

11 files changed

Lines changed: 62 additions & 713 deletions

File tree

src/AddIns/BackendBindings/CSharpBinding/Project/Src/Refactoring/CSharpCodeGenerator.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,5 +198,15 @@ public override void MakePartial(ITypeDefinition td)
198198
script.ChangeModifier(typeDeclaration, typeDeclaration.Modifiers | Modifiers.Partial);
199199
}
200200
}
201+
202+
public override void MakeVirtual(IMember member)
203+
{
204+
SDRefactoringContext refactoringContext = member.CreateRefactoringContext();
205+
var entityDeclaration = refactoringContext.GetNode<EntityDeclaration>();
206+
207+
using (Script script = refactoringContext.StartScript()) {
208+
script.ChangeModifier(entityDeclaration, entityDeclaration.Modifiers | Modifiers.Virtual);
209+
}
210+
}
201211
}
202212
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
</Compile>
8282
<Compile Include="Configuration\AssemblyInfo.cs" />
8383
<Compile Include="Src\AcceptLicensesEventArgs.cs" />
84-
<Compile Include="Src\ClassCodeGenerator.cs" />
8584
<Compile Include="Src\ConfigSettingsFileSystem.cs" />
8685
<Compile Include="Src\DependentFile.cs" />
8786
<Compile Include="Src\Design\DesignTimeSelectProjectsViewModel.cs" />
@@ -160,7 +159,6 @@
160159
<Compile Include="Src\IProjectBuilder.cs" />
161160
<Compile Include="Src\IProjectContentExtensions.cs" />
162161
<Compile Include="Src\IUpdatePackageSettings.cs" />
163-
<Compile Include="Src\IVirtualMethodUpdater.cs" />
164162
<Compile Include="Src\IProjectBrowserUpdater.cs" />
165163
<Compile Include="Src\IFieldExtensions.cs" />
166164
<Compile Include="Src\IDocumentLoader.cs" />

src/AddIns/Misc/PackageManagement/Project/Src/ClassCodeGenerator.cs

Lines changed: 0 additions & 156 deletions
This file was deleted.

src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ public CodeFunction()
7272
public virtual bool CanOverride {
7373
get { return method.IsOverridable; }
7474
set {
75-
// if (value && !method.IsOverridable) {
76-
// context.CodeGenerator.MakeVirtual(method);
77-
// }
75+
if (value && !method.IsOverridable) {
76+
context.CodeGenerator.MakeVirtual(method);
77+
}
7878
}
7979
}
8080

src/AddIns/Misc/PackageManagement/Project/Src/ICodeGenerator.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public interface ICodeGenerator
2626
{
2727
void AddImport(FileName fileName, string name);
2828
void MakePartial(ITypeDefinition typeDefinition);
29+
void MakeVirtual(IMember member);
2930
void AddFieldAtStart(ITypeDefinition typeDefinition, Accessibility accessibility, IType fieldType, string name);
3031
void AddMethodAtStart(ITypeDefinition typeDefinition, Accessibility accessibility, IType returnType, string name);
3132
}

src/AddIns/Misc/PackageManagement/Project/Src/IVirtualMethodUpdater.cs

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/AddIns/Misc/PackageManagement/Project/Src/ThreadSafeCodeGenerator.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,10 @@ public void AddMethodAtStart(ITypeDefinition typeDefinition, Accessibility acces
5959
{
6060
InvokeIfRequired(() => codeGenerator.AddMethodAtStart(typeDefinition, accessibility, returnType, name));
6161
}
62+
63+
public void MakeVirtual(IMember member)
64+
{
65+
InvokeIfRequired(() => codeGenerator.MakeVirtual(member));
66+
}
6267
}
6368
}

src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@
8080
<Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs">
8181
<Link>Properties\GlobalAssemblyInfo.cs</Link>
8282
</Compile>
83-
<Compile Include="Src\ClassCodeGeneratorTests.cs" />
8483
<Compile Include="Src\CodeGeneratorTests.cs" />
8584
<Compile Include="Src\DependentFileNameTests.cs" />
8685
<Compile Include="Src\EnvDTE\CodeAttribute2Tests.cs" />
@@ -199,7 +198,6 @@
199198
<Compile Include="Src\UpdatePackagesActionTests.cs" />
200199
<Compile Include="Src\UpdateSolutionPackagesActionTests.cs" />
201200
<Compile Include="Src\UserAgentGeneratorForRepositoryRequestsTests.cs" />
202-
<Compile Include="Src\VirtualMethodUpdaterTests.cs" />
203201
<Compile Include="Src\PackageActionRunnerTests.cs" />
204202
<Compile Include="Src\PackageActionsToRunTests.cs" />
205203
<Compile Include="Src\PackageFilesTests.cs" />

0 commit comments

Comments
 (0)