/// <summary> /// 4.4.5. Hash-rest state /// </summary> CssToken HashRest() { while (true) { var current = GetNext(); if (current.IsName()) { _stringBuffer.Append(current); } else if (IsValidEscape(current)) { current = GetNext(); _stringBuffer.Append(ConsumeEscape(current)); } else if (current == Symbols.ReverseSolidus) { RaiseErrorOccurred(ErrorCode.InvalidCharacter); Back(); return(CssKeywordToken.Hash(FlushBuffer())); } else { Back(); return(CssKeywordToken.Hash(FlushBuffer())); } } }
/// <summary> /// 4.4.5. Hash-rest state /// </summary> CssToken HashRest(Char current) { while (true) { if (current.IsName()) { _stringBuffer.Append(current); } else if (IsValidEscape(current)) { current = _src.Next; _stringBuffer.Append(ConsumeEscape(current)); } else if (current == Specification.ReverseSolidus) { RaiseErrorOccurred(ErrorCode.InvalidCharacter); _src.Back(); return(CssKeywordToken.Hash(FlushBuffer())); } else { _src.Back(); return(CssKeywordToken.Hash(FlushBuffer())); } current = _src.Next; } }