diff options
author | Marek Safar <marek.safar@gmail.com> | 2021-01-06 15:42:27 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2021-01-06 15:42:27 +0300 |
commit | cc2e8db3a8be514ea1ea1aedfc18a3d75b65ede2 (patch) | |
tree | 945446ca4236ac116db3cec37006b47ee34dfb50 | |
parent | 8cf97c125748b0a2832f0420728c8fac2ae22348 (diff) |
Allow removing value of ModuleDefinition::EntryPoint
-rw-r--r-- | Mono.Cecil/ModuleDefinition.cs | 8 | ||||
-rw-r--r-- | Test/Mono.Cecil.Tests/ModuleTests.cs | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/Mono.Cecil/ModuleDefinition.cs b/Mono.Cecil/ModuleDefinition.cs index e7ca550..a50ea45 100644 --- a/Mono.Cecil/ModuleDefinition.cs +++ b/Mono.Cecil/ModuleDefinition.cs @@ -276,6 +276,7 @@ namespace Mono.Cecil { internal AssemblyDefinition assembly; MethodDefinition entry_point; + bool entry_point_set; internal IReflectionImporter reflection_importer; internal IMetadataImporter metadata_importer; @@ -568,7 +569,7 @@ namespace Mono.Cecil { public MethodDefinition EntryPoint { get { - if (entry_point != null) + if (entry_point_set) return entry_point; if (HasImage) @@ -576,7 +577,10 @@ namespace Mono.Cecil { return entry_point = null; } - set { entry_point = value; } + set { + entry_point = value; + entry_point_set = true; + } } public bool HasCustomDebugInformations { diff --git a/Test/Mono.Cecil.Tests/ModuleTests.cs b/Test/Mono.Cecil.Tests/ModuleTests.cs index 8e73750..5e4bee7 100644 --- a/Test/Mono.Cecil.Tests/ModuleTests.cs +++ b/Test/Mono.Cecil.Tests/ModuleTests.cs @@ -41,6 +41,12 @@ namespace Mono.Cecil.Tests { Assert.IsNotNull (entry_point); Assert.AreEqual ("System.Void Program::Main()", entry_point.ToString ()); + + module.EntryPoint = null; + Assert.IsNull (module.EntryPoint); + + module.EntryPoint = entry_point; + Assert.IsNotNull (module.EntryPoint); }); } |