|
|
|
@ -757,18 +757,22 @@ namespace Mono.Cecil {
@@ -757,18 +757,22 @@ namespace Mono.Cecil {
|
|
|
|
|
{ |
|
|
|
|
return Read (this, (_, reader) => reader.LookupToken (token)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
readonly object module_lock = new object(); |
|
|
|
|
|
|
|
|
|
internal TRet Read<TItem, TRet> (TItem item, Func<TItem, MetadataReader, TRet> read) |
|
|
|
|
{ |
|
|
|
|
var position = reader.position; |
|
|
|
|
var context = reader.context; |
|
|
|
|
lock (module_lock) { |
|
|
|
|
var position = reader.position; |
|
|
|
|
var context = reader.context; |
|
|
|
|
|
|
|
|
|
var ret = read (item, reader); |
|
|
|
|
var ret = read (item, reader); |
|
|
|
|
|
|
|
|
|
reader.position = position; |
|
|
|
|
reader.context = context; |
|
|
|
|
reader.position = position; |
|
|
|
|
reader.context = context; |
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ProcessDebugHeader () |
|
|
|
|