Ejemplo n.º 1
0
void CFX_SAXReader::ParseMaybeClose() {
  if (m_CurByte == '>') {
    if (m_pCurItem->m_eNode == FX_SAXNODE_Instruction) {
      m_iNameLength = m_iDataPos;
      m_iDataPos = 0;
      if (m_pHandler) {
        NotifyTargetData();
      }
    }
    ParseTagClose();
    m_eMode = FX_SAXMODE_Text;
  } else if (m_ePrevMode == FX_SAXMODE_TagName) {
    AppendData('/');
    m_eMode = FX_SAXMODE_TagName;
    m_ePrevMode = FX_SAXMODE_Text;
    ParseTagName();
  } else if (m_ePrevMode == FX_SAXMODE_TagAttributeName) {
    AppendName('/');
    m_eMode = FX_SAXMODE_TagAttributeName;
    m_ePrevMode = FX_SAXMODE_Text;
    ParseTagAttributeName();
  } else if (m_ePrevMode == FX_SAXMODE_TargetData) {
    AppendName('?');
    m_eMode = FX_SAXMODE_TargetData;
    m_ePrevMode = FX_SAXMODE_Text;
    ParseTargetData();
  }
}
Ejemplo n.º 2
0
/**
 * Internal version of GetPathName() that eliminates unnecessary copies.
 */
void UObjectBaseUtility::GetPathName( const UObject* StopOuter, FString& ResultString ) const
{
	if( this != StopOuter && this != NULL )
	{
		UObject* ObjOuter = GetOuter();
		if (ObjOuter && ObjOuter != StopOuter )
		{
			ObjOuter->GetPathName( StopOuter, ResultString );

			// SUBOBJECT_DELIMITER is used to indicate that this object's outer is not a UPackage
			if (ObjOuter->GetClass() != UPackage::StaticClass()
			&& ObjOuter->GetOuter()->GetClass() == UPackage::StaticClass())
			{
				ResultString += SUBOBJECT_DELIMITER;
			}
			else
			{
				ResultString += TEXT(".");
			}
		}
		AppendName(ResultString);
	}
	else
	{
		ResultString += TEXT("None");
	}
}
Ejemplo n.º 3
0
void CFX_SAXReader::ParseTagAttributeName() {
  if (m_CurByte < 0x21 || m_CurByte == '=') {
    if (m_iDataPos < 1 && m_CurByte < 0x21) {
      return;
    }
    m_iNameLength = m_iDataPos;
    m_iDataPos = 0;
    m_SkipChar = 0;
    m_eMode = m_CurByte == '=' ? FX_SAXMODE_TagAttributeValue
                               : FX_SAXMODE_TagAttributeEqual;
    return;
  }
  if (m_CurByte == '/' || m_CurByte == '>' || m_CurByte == '?') {
    if (m_CurByte == '/' || m_CurByte == '?') {
      m_ePrevMode = m_eMode;
      m_eMode = FX_SAXMODE_TagMaybeClose;
    } else {
      if (m_pHandler) {
        NotifyBreak();
      }
      m_eMode = FX_SAXMODE_Text;
    }
    return;
  }
  if (m_iDataPos < 1) {
    m_dwDataOffset = m_File.m_dwBufIndex;
  }
  AppendName(m_CurByte);
}
Ejemplo n.º 4
0
void JsonWriter::WriteRaw(const char *name, const std::string &raw) {
  if(m_finalized)
    return;
  AppendName(name);
  m_destination += raw;
  m_write_count++;
}
Ejemplo n.º 5
0
void CFX_SAXReader::ParseTargetData() {
  if (m_CurByte == '?') {
    m_ePrevMode = m_eMode;
    m_eMode = FX_SAXMODE_TagMaybeClose;
  } else {
    AppendName(m_CurByte);
  }
}
Ejemplo n.º 6
0
void CFX_SAXReader::ParseTagAttributeEqual() {
  if (m_CurByte == '=') {
    m_SkipChar = 0;
    m_eMode = FX_SAXMODE_TagAttributeValue;
    return;
  } else if (m_pCurItem->m_eNode == FX_SAXNODE_Instruction) {
    m_iDataPos = m_iNameLength;
    AppendName(0x20);
    m_eMode = FX_SAXMODE_TargetData;
    ParseTargetData();
  }
}
Ejemplo n.º 7
0
VError PathBuffer::AppendName(const NameBuffer& inName)
{
    return AppendName(inName.GetName());
}