diff --git a/include/yaml-cpp/emitter.h b/include/yaml-cpp/emitter.h index 334b4a00b..4e38bb554 100644 --- a/include/yaml-cpp/emitter.h +++ b/include/yaml-cpp/emitter.h @@ -123,7 +123,6 @@ class YAML_CPP_API Emitter { void SpaceOrIndentTo(bool requireSpace, std::size_t indent); const char* ComputeFullBoolName(bool b) const; - bool CanEmitNewline() const; private: std::unique_ptr m_pState; diff --git a/src/emitter.cpp b/src/emitter.cpp index aa282eb0a..c58194c2e 100644 --- a/src/emitter.cpp +++ b/src/emitter.cpp @@ -251,8 +251,6 @@ void Emitter::EmitNewline() { m_pState->SetNonContent(); } -bool Emitter::CanEmitNewline() const { return true; } - // Put the stream in a state so we can simply write the next node // E.g., if we're in a sequence, write the "- " void Emitter::PrepareNode(EmitterNodeType::value child) { diff --git a/src/scanner.cpp b/src/scanner.cpp index ea5511a11..2f858c05f 100644 --- a/src/scanner.cpp +++ b/src/scanner.cpp @@ -7,6 +7,19 @@ #include "yaml-cpp/exceptions.h" // IWYU pragma: keep namespace YAML { +namespace { +// IsWhitespaceToBeEaten +// . We can eat whitespace if it's a space or tab +// . Note: originally tabs in block context couldn't be eaten +// "where a simple key could be allowed +// (i.e., not at the beginning of a line, or following '-', '?', or +// ':')" +// I think this is wrong, since tabs can be non-content whitespace; it's just +// that they can't contribute to indentation, so once you've seen a tab in a +// line, you can't start a simple key +bool IsWhitespaceToBeEaten(char ch) { return (ch == ' ') || (ch == '\t'); } +} // namespace + Scanner::Scanner(std::istream& in) : INPUT(in), m_tokens{}, @@ -213,27 +226,6 @@ void Scanner::ScanToNextToken() { /////////////////////////////////////////////////////////////////////// // Misc. helpers -// IsWhitespaceToBeEaten -// . We can eat whitespace if it's a space or tab -// . Note: originally tabs in block context couldn't be eaten -// "where a simple key could be allowed -// (i.e., not at the beginning of a line, or following '-', '?', or -// ':')" -// I think this is wrong, since tabs can be non-content whitespace; it's just -// that they can't contribute to indentation, so once you've seen a tab in a -// line, you can't start a simple key -bool Scanner::IsWhitespaceToBeEaten(char ch) { - if (ch == ' ') { - return true; - } - - if (ch == '\t') { - return true; - } - - return false; -} - const RegEx& Scanner::GetValueRegex() const { if (InBlockContext()) { return Exp::Value(); @@ -269,7 +261,7 @@ Token* Scanner::PushToken(Token::TYPE type) { return &m_tokens.back(); } -Token::TYPE Scanner::GetStartTokenFor(IndentMarker::INDENT_TYPE type) const { +Token::TYPE Scanner::GetStartTokenFor(IndentMarker::INDENT_TYPE type) { switch (type) { case IndentMarker::SEQ: return Token::BLOCK_SEQ_START; diff --git a/src/scanner.h b/src/scanner.h index c653ac69f..8f33d1609 100644 --- a/src/scanner.h +++ b/src/scanner.h @@ -90,7 +90,7 @@ class Scanner { bool InBlockContext() const { return m_flows.empty(); } std::size_t GetFlowLevel() const { return m_flows.size(); } - Token::TYPE GetStartTokenFor(IndentMarker::INDENT_TYPE type) const; + static Token::TYPE GetStartTokenFor(IndentMarker::INDENT_TYPE type); /** * Pushes an indentation onto the stack, and enqueues the proper token @@ -131,8 +131,6 @@ class Scanner { */ void ThrowParserException(const std::string &msg) const; - bool IsWhitespaceToBeEaten(char ch); - /** * Returns the appropriate regex to check if the next token is a value token. */