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:
authorJb Evain <jb@evain.net>2017-11-16 22:31:44 +0300
committerJb Evain <jb@evain.net>2017-11-16 22:31:44 +0300
commit7aea484589dc60535e23f7799743e697898352ae (patch)
tree5c58729747be28d5d8687ed07fe19e8120996b7a
parent2b24d8c23242c69ebf57d580c12a559470f9505e (diff)
Introduce a new action based Read
-rw-r--r--Mono.Cecil/AssemblyReader.cs16
-rw-r--r--Mono.Cecil/CustomAttribute.cs1
-rw-r--r--Mono.Cecil/ModuleDefinition.cs13
-rw-r--r--Mono.Cecil/SecurityDeclaration.cs6
4 files changed, 18 insertions, 18 deletions
diff --git a/Mono.Cecil/AssemblyReader.cs b/Mono.Cecil/AssemblyReader.cs
index f25cd3a..4ca45ca 100644
--- a/Mono.Cecil/AssemblyReader.cs
+++ b/Mono.Cecil/AssemblyReader.cs
@@ -156,7 +156,6 @@ namespace Mono.Cecil {
this.module.Read (this.module, (module, reader) => {
ReadModuleManifest (reader);
ReadModule (module, resolve_attributes: true);
- return module;
});
}
@@ -422,10 +421,7 @@ namespace Mono.Cecil {
protected override void ReadModule ()
{
- this.module.Read (this.module, (module, reader) => {
- ReadModuleManifest (reader);
- return module;
- });
+ this.module.Read (this.module, (_, reader) => ReadModuleManifest (reader));
}
public override void ReadSymbols (ModuleDefinition module)
@@ -1680,23 +1676,19 @@ namespace Mono.Cecil {
}
}
- public PropertyDefinition ReadMethods (PropertyDefinition property)
+ public void ReadMethods (PropertyDefinition property)
{
ReadAllSemantics (property.DeclaringType);
- return property;
}
- public EventDefinition ReadMethods (EventDefinition @event)
+ public void ReadMethods (EventDefinition @event)
{
ReadAllSemantics (@event.DeclaringType);
- return @event;
}
- public MethodSemanticsAttributes ReadAllSemantics (MethodDefinition method)
+ public void ReadAllSemantics (MethodDefinition method)
{
ReadAllSemantics (method.DeclaringType);
-
- return method.SemanticsAttributes;
}
void ReadAllSemantics (TypeDefinition type)
diff --git a/Mono.Cecil/CustomAttribute.cs b/Mono.Cecil/CustomAttribute.cs
index 5e33667..ab2a6cc 100644
--- a/Mono.Cecil/CustomAttribute.cs
+++ b/Mono.Cecil/CustomAttribute.cs
@@ -196,7 +196,6 @@ namespace Mono.Cecil {
resolved = false;
}
- return this;
});
}
}
diff --git a/Mono.Cecil/ModuleDefinition.cs b/Mono.Cecil/ModuleDefinition.cs
index 071f228..de12191 100644
--- a/Mono.Cecil/ModuleDefinition.cs
+++ b/Mono.Cecil/ModuleDefinition.cs
@@ -927,6 +927,19 @@ namespace Mono.Cecil {
get { return module_lock; }
}
+ internal void Read<TItem> (TItem item, Action<TItem, MetadataReader> read)
+ {
+ lock (module_lock) {
+ var position = reader.position;
+ var context = reader.context;
+
+ read (item, reader);
+
+ reader.position = position;
+ reader.context = context;
+ }
+ }
+
internal TRet Read<TItem, TRet> (TItem item, Func<TItem, MetadataReader, TRet> read)
{
lock (module_lock) {
diff --git a/Mono.Cecil/SecurityDeclaration.cs b/Mono.Cecil/SecurityDeclaration.cs
index 309f7d2..ed5a6f0 100644
--- a/Mono.Cecil/SecurityDeclaration.cs
+++ b/Mono.Cecil/SecurityDeclaration.cs
@@ -143,11 +143,7 @@ namespace Mono.Cecil {
if (resolved || !HasImage)
return;
- module.Read (this, (declaration, reader) => {
- reader.ReadSecurityDeclarationSignature (declaration);
- return this;
- });
-
+ module.Read (this, (declaration, reader) => reader.ReadSecurityDeclarationSignature (declaration));
resolved = true;
}
}