Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2021-01-06 15:42:27 +0300
committerMarek Safar <marek.safar@gmail.com>2021-01-06 15:42:27 +0300
commitcc2e8db3a8be514ea1ea1aedfc18a3d75b65ede2 (patch)
tree945446ca4236ac116db3cec37006b47ee34dfb50
parent8cf97c125748b0a2832f0420728c8fac2ae22348 (diff)
Allow removing value of ModuleDefinition::EntryPoint
-rw-r--r--Mono.Cecil/ModuleDefinition.cs8
-rw-r--r--Test/Mono.Cecil.Tests/ModuleTests.cs6
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);
});
}