internal static ElementName ElementNameByBuffer(char[] buf, int offset, int length)
{
int hash = ElementName.BufToHash(buf, length);
int index = Array.BinarySearch<int>(ElementName.ELEMENT_HASHES, hash);
if (index < 0)
{
return new ElementName(Portability.NewLocalNameFromBuffer(buf, offset, length));
}
else
{
ElementName elementName = ElementName.ELEMENT_NAMES[index];
/*[Local]*/
string name = elementName.name;
if (!Portability.LocalEqualsBuffer(name, buf, offset, length))
{
return new ElementName(Portability.NewLocalNameFromBuffer(buf,
offset, length));
}
return elementName;
}
}