Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetMetadataReader()

unsafe MetadataReader System.Reflection.Metadata.MetadataReaderProvider.GetMetadataReader ( MetadataReaderOptions options = MetadataReaderOptions::Default,
MetadataStringDecoder? utf8Decoder = null )
inline

Definition at line 115 of file MetadataReaderProvider.cs.

116 {
117 MetadataReader lazyMetadataReader = _lazyMetadataReader;
118 if (CanReuseReader(lazyMetadataReader, options, utf8Decoder))
119 {
120 return lazyMetadataReader;
121 }
123 {
124 lazyMetadataReader = _lazyMetadataReader;
125 if (CanReuseReader(lazyMetadataReader, options, utf8Decoder))
126 {
127 return lazyMetadataReader;
128 }
129 AbstractMemoryBlock metadataBlock = GetMetadataBlock();
130 return _lazyMetadataReader = new MetadataReader(metadataBlock.Pointer, metadataBlock.Size, options, utf8Decoder, this);
131 }
132 }
static bool CanReuseReader(MetadataReader reader, MetadataReaderOptions options, MetadataStringDecoder utf8DecoderOpt)

References System.Reflection.Metadata.MetadataReaderProvider._lazyMetadataReader, System.Reflection.Metadata.MetadataReaderProvider._metadataReaderGuard, System.Reflection.Metadata.MetadataReaderProvider.CanReuseReader(), System.Reflection.Metadata.MetadataReaderProvider.GetMetadataBlock(), System.options, System.Reflection.Internal.AbstractMemoryBlock.Pointer, and System.Reflection.Internal.AbstractMemoryBlock.Size.

Referenced by System.Reflection.PortableExecutable.PEReader.TryOpenEmbeddedPortablePdb(), and System.Reflection.PortableExecutable.PEReader.TryOpenPortablePdbFile().