IronRuby.StandardLibrary.Yaml.Emitter.EmitNode C# (CSharp) Method

EmitNode() private method

private EmitNode ( bool root, bool sequence, bool mapping, bool simpleKey ) : void
root bool
sequence bool
mapping bool
simpleKey bool
return void
        private void EmitNode(bool root, bool sequence, bool mapping, bool simpleKey) {
            _mappingContext = mapping;
            if (_event is AliasEvent) {
                EmitAlias();
            } else if (_event is ScalarEvent || _event is CollectionStartEvent) {
                ProcessAnchor("&");
                ProcessTag(simpleKey);
                if (_event is ScalarEvent) {
                    EmitScalar(simpleKey);
                } else if (_event is SequenceStartEvent) {
                    if (_flowLevel != 0 || _canonical || ((SequenceStartEvent)_event).FlowStyle == FlowStyle.Inline || checkEmptySequence()) {
                        EmitFlowSequence();
                    } else {
                        EmitBlockSequence();
                    }
                } else if (_event is MappingStartEvent) {
                    if (_flowLevel != 0 || _canonical || ((MappingStartEvent)_event).FlowStyle == FlowStyle.Inline || checkEmptyMapping()) {
                        EmitFlowMapping();
                    } else {
                        EmitBlockMapping();
                    }
                }
            } else {
                throw new EmitterException("Emited NodeEvent, but got " + _event);
            }
        }