private IEnumerable <ParsingEvent> GetMappingEvents(string anchor)
        {
            ParsingEventCloner cloner = new ParsingEventCloner();
            int nesting = 0;

            return(from e in (from e in _events.FromAnchor(anchor)
                              select e.Value).TakeWhile((ParsingEvent e) => (nesting += e.NestingIncrease) >= 0)
                   select cloner.Clone(e));
        }
Beispiel #2
0
        private IEnumerable <ParsingEvent> GetMappingEvents(AnchorName anchor)
        {
            var cloner  = new ParsingEventCloner();
            var nesting = 0;

            return(events.FromAnchor(anchor)
                   .Select(e => e.Value)
                   .TakeWhile(e => (nesting += e.NestingIncrease) >= 0)
                   .Select(e => cloner.Clone(e)));
        }
Beispiel #3
0
        private IEnumerable <ParsingEvent> GetMappingEvents(string mappingAlias)
        {
            var cloner = new ParsingEventCloner();

            var nesting = 0;

            return(_allEvents
                   .SkipWhile(e =>
            {
                var mappingStart = e as MappingStart;
                return mappingStart == null || mappingStart.Anchor != mappingAlias;
            })
                   .Skip(1)
                   .TakeWhile(e => (nesting += e.NestingIncrease) >= 0)
                   .Select(e => cloner.Clone(e))
                   .ToList());
        }
Beispiel #4
0
		private IEnumerable<ParsingEvent> GetMappingEvents(string mappingAlias)
		{
			var cloner = new ParsingEventCloner();

			var nesting = 0;
			return _allEvents
				.SkipWhile(e =>
				{
					var mappingStart = e as MappingStart;
					return mappingStart == null || mappingStart.Anchor != mappingAlias;
				})
				.Skip(1)
				.TakeWhile(e => (nesting += e.NestingIncrease) >= 0)
				.Select(e => cloner.Clone(e))
				.ToList();
		}