mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
Switch to flow map when emitting an empty block map
This commit is contained in:
@@ -410,12 +410,18 @@ namespace YAML
|
|||||||
|
|
||||||
EMITTER_STATE curState = m_pState->GetCurState();
|
EMITTER_STATE curState = m_pState->GetCurState();
|
||||||
FLOW_TYPE flowType = m_pState->GetCurGroupFlowType();
|
FLOW_TYPE flowType = m_pState->GetCurGroupFlowType();
|
||||||
if(flowType == FT_BLOCK)
|
if(flowType == FT_BLOCK) {
|
||||||
assert(curState == ES_DONE_WITH_BLOCK_MAP_VALUE);
|
// Note: block sequences are *not* allowed to be empty, but we convert it
|
||||||
else if(flowType == FT_FLOW) {
|
// to a flow sequence if it is
|
||||||
m_stream << "}";
|
assert(curState == ES_DONE_WITH_BLOCK_MAP_VALUE || curState == ES_WAITING_FOR_BLOCK_MAP_ENTRY);
|
||||||
|
if(curState == ES_WAITING_FOR_BLOCK_MAP_ENTRY) {
|
||||||
|
unsigned curIndent = m_pState->GetCurIndent();
|
||||||
|
m_stream << IndentTo(curIndent) << "{}";
|
||||||
|
}
|
||||||
|
} else if(flowType == FT_FLOW) {
|
||||||
// Note: flow maps are allowed to be empty
|
// Note: flow maps are allowed to be empty
|
||||||
assert(curState == ES_DONE_WITH_FLOW_MAP_VALUE || curState == ES_WAITING_FOR_FLOW_MAP_ENTRY);
|
assert(curState == ES_DONE_WITH_FLOW_MAP_VALUE || curState == ES_WAITING_FOR_FLOW_MAP_ENTRY);
|
||||||
|
m_stream << "}";
|
||||||
} else
|
} else
|
||||||
assert(false);
|
assert(false);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user