class Prism::ParseResult::Newlines

Das `:line` Tracepoint-Ereignis wird jedes Mal ausgelöst, wenn die Ruby VM einen Ausdruck in einer neuen Zeile erkennt. Die Arten von Ausdrücken, die dieses Ereignis auslösen können, sind:

Um die Zeilenumbrüche im Auge zu behalten, haben wir eine Liste von Offsets, die vom Parser zurückgegeben werden. Wir weisen diese Offsets den ersten Knoten zu, die wir im Baum finden und die sich in diesen Zeilen befinden.

Beachten Sie, dass die Logik in dieser Datei mit dem Java MarkNewlinesVisitor synchron gehalten werden sollte, da dieser Visitor für das Markieren der Zeilenumbrüche für JRuby/TruffleRuby verantwortlich ist.

Diese Datei wird nur dann automatisch geladen, wenn mark_newlines! aufgerufen wird. Die Neueröffnung der verschiedenen Knoten in dieser Datei wird also nur in diesem Fall durchgeführt. Wir tun dies, um die zusätzliche Instanzvariable @newline auf jedem Knoten zu vermeiden, wenn wir sie nicht benötigen.