diff options
author | Jb Evain <jb@evain.net> | 2017-11-16 22:31:44 +0300 |
---|---|---|
committer | Jb Evain <jb@evain.net> | 2017-11-16 22:31:44 +0300 |
commit | 7aea484589dc60535e23f7799743e697898352ae (patch) | |
tree | 5c58729747be28d5d8687ed07fe19e8120996b7a | |
parent | 2b24d8c23242c69ebf57d580c12a559470f9505e (diff) |
Introduce a new action based Read
-rw-r--r-- | Mono.Cecil/AssemblyReader.cs | 16 | ||||
-rw-r--r-- | Mono.Cecil/CustomAttribute.cs | 1 | ||||
-rw-r--r-- | Mono.Cecil/ModuleDefinition.cs | 13 | ||||
-rw-r--r-- | Mono.Cecil/SecurityDeclaration.cs | 6 |
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; } } |