private static void AddAnchoredObject(INodeEvent node, object value, ObjectAnchorCollection deserializedAnchors) { if (!string.IsNullOrEmpty(node.Anchor)) { deserializedAnchors.Add(node.Anchor, value); } }
private object DeserializeValueNotNull(EventReader reader, DeserializationContext context, INodeEvent nodeEvent, Type expectedType) { Type type = GetType(nodeEvent.Tag, expectedType, context.Options.Mappings); if (typeof(IYamlSerializable).IsAssignableFrom(type)) { return(DeserializeYamlSerializable(reader, type)); } if (reader.Accept <MappingStart>()) { return(DeserializeProperties(reader, type, context)); } if (reader.Accept <SequenceStart>()) { return(DeserializeList(reader, type, context)); } if (reader.Accept <Scalar>()) { return(DeserializeScalar(reader, type, context)); } throw new InvalidOperationException("Expected scalar, mapping or sequence."); }