private bool HandleEntityEnd(bool checkEntityNesting)
{
if (_parsingStatesStackTop == -1)
{
Debug.Assert(false);
Throw(SR.Xml_InternalError);
}
if (_ps.entityResolvedManually)
{
_index--;
if (checkEntityNesting)
{
if (_ps.entityId != _nodes[_index].entityId)
{
Throw(SR.Xml_IncompleteEntity);
}
}
_lastEntity = _ps.entity; // save last entity for the EndEntity node
PopEntity();
return true;
}
else
{
if (checkEntityNesting)
{
if (_ps.entityId != _nodes[_index].entityId)
{
Throw(SR.Xml_IncompleteEntity);
}
}
PopEntity();
_reportedEncoding = _ps.encoding;
_reportedBaseUri = _ps.baseUriStr;
return false;
}
}