PureYAML/Sources/Parsing
Mihaela M e3caa5be0d fix(parsing): resolve an alias to an anchor on a null value
An anchor on an empty mapping value (`a: &anchor`) failed to register, so a
later `*anchor` errored as an undefined alias. Two bugs compounded:

  - The parser dispatched the anchor-only value position to a nested block
    mapping, absorbing the sibling key as the anchored node's child instead of
    emitting the empty anchored node. It now emits an empty anchored node when
    only a sibling mapping key follows, since the indented and inline-nested
    cases are already handled by earlier branches.
  - The stream composer registered an anchor by its raw scalar text, so an
    anchor on an empty scalar came back as "" and a typed scalar (`&a 42`) as
    text. It now registers the composed value, fixing a latent typed-anchor bug.

Fixes yaml-test-suite 6KGN; raises parse-level conformance to 306/333 (91.9%)
and value-level to 199/199 (100.0%), with the should-error rate unchanged.
2026-06-29 02:56:17 +02:00
..
BlockScalarChomping.swift fix(parsing): classify the keep block-scalar chomping indicator 2026-06-26 07:50:07 +02:00
BlockScalarStyle.swift
CollectionStyle.swift
Event.swift feat(parser): add multi-document stream parsing 2026-06-05 14:55:54 +02:00
EventComposer.Merge.swift refactor(parsing): share merge-key resolution between composers 2026-06-26 05:50:28 +02:00
EventComposer.swift refactor(parsing): share merge-key resolution between composers 2026-06-26 05:50:28 +02:00
EventStreamComposedNode.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamComposer.swift fix(parsing): resolve an alias to an anchor on a null value 2026-06-29 02:56:17 +02:00
EventStreamComposerMode.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamContainer.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
EventStreamContainerKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
Mark.swift
MergeResolution.swift refactor(parsing): share merge-key resolution between composers 2026-06-26 05:50:28 +02:00
NodeKind.swift
NodeProperties.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
NodeResult.swift
ParseError.swift fix(parsing): reject a document marker inside a multi-line scalar 2026-06-27 23:20:52 +02:00
Parser.Events.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Parser.ScalarComposition.swift fix(parsing): keep a non-core-tagged scalar as a string 2026-06-28 22:25:48 +02:00
Parser.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Reader.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Scalar.swift fix(parsing): enforce the full YAML 1.2 double-quoted escape table 2026-06-27 16:19:25 +02:00
ScalarStyle.swift feat(parsing): compose events into values 2026-06-05 10:07:28 +02:00
Scanner.Directives.swift fix(parsing): accept a higher-minor %YAML version 2026-06-29 02:34:55 +02:00
Scanner.FlowContext.swift fix(parsing): parse an explicit key inside a flow collection 2026-06-29 01:17:26 +02:00
Scanner.FlowKey.swift fix(parsing): parse a flow collection before a colon as a mapping key 2026-06-28 18:34:11 +02:00
Scanner.Helpers.swift fix(parsing): end an inline item value at a sibling block entry 2026-06-29 02:09:57 +02:00
Scanner.Indentation.swift fix(parsing): keep a tab on a leading blank of a block scalar 2026-06-29 01:52:58 +02:00
Scanner.Scalars.swift fix(parsing): base an inline-mapping indent indicator on the mapping 2026-06-28 23:24:21 +02:00
Scanner.swift fix(parsing): end an inline item value at a sibling block entry 2026-06-29 02:09:57 +02:00
ScannerFlowContextKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
TagNormalizer.swift feat(tagged): add tag-preserving validation 2026-06-05 15:35:52 +02:00
Text.swift feat(parsing): compose events into values 2026-06-05 10:07:28 +02:00
Token.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00
TokenCursor.swift fix(parsing): reject a block entry after a flow collection on a line 2026-06-28 01:34:55 +02:00
TokenEventParser.Block.swift fix(parsing): bound a block sequence to its own column for siblings 2026-06-28 22:37:36 +02:00
TokenEventParser.Flow.swift fix(parsing): allow a flow mapping entry with no value 2026-06-29 01:42:02 +02:00
TokenEventParser.Helpers.swift fix(parsing): resolve an alias to an anchor on a null value 2026-06-29 02:56:17 +02:00
TokenEventParser.swift fix(parsing): parse a bare document after a document-end marker 2026-06-28 04:23:06 +02:00
TokenKind.swift refactor(code-style): one top-level type per source file 2026-06-26 06:14:21 +02:00