Files
TheDeclineOfWarriors/Assets/FishNet/CodeGenerating/cecil-0.11.4/Mono.Cecil.Metadata/UserStringHeap.cs
T
2026-03-30 20:11:57 +07:00

33 lines
815 B
C#

//
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2015 Jb Evain
// Copyright (c) 2008 - 2011 Novell, Inc.
//
// Licensed under the MIT/X11 license.
//
namespace MonoFN.Cecil.Metadata
{
internal sealed class UserStringHeap : StringHeap
{
public UserStringHeap(byte[] data) : base(data) { }
protected override string ReadStringAt(uint index)
{
int start = (int)index;
uint length = (uint)(data.ReadCompressedUInt32(ref start) & ~1);
if (length < 1)
return string.Empty;
char[] chars = new char [length / 2];
for (int i = start, j = 0; i < start + length; i += 2)
chars[j++] = (char)(data[i] | (data[i + 1] << 8));
return new(chars);
}
}
}