toDotNotation
Returns the dot-notation string representation of this pointer.
This is the inverse of Companion.fromDotNotation. Segments are joined with . and emitted verbatim — no escape encoding is performed. Unlike toString, the result does not start with a separator.
The root pointer is emitted as "." (not the empty string), so that the round-trip fromDotNotation(p.toDotNotation()) == p holds for every pointer, including ROOT.
Because dot notation has no escape mechanism, a segment that contains a literal . cannot be round-tripped through Companion.fromDotNotation. This function therefore throws rather than emit a lossy string.
Return
The dot-notation path string; "." for the root pointer.
Throws
if any segment contains a . character.