Después de https://github.com/uqbar-project/wollok-ts/pull/189 los comentarios del código quedan como metadata del nodo más cercano.
Eso permite dar soporte de varias herramientas como el Printer, Highlighter o crear la WollokDoc del sitio.
[ ] La WollokDoc está desfasada: la documentación para el método N está como metadata en el nodo N-1 del padre (en vez de tenerla el nodo en cuestión lo tiene el anterior como end). En teoría, pero no siempre...
[ ] Eso podría ser fácil de hackear pero encima no sabemos cuál es el último nodo que parseó antes de eso (puede ser el método, el body, la última expresión del body, etc).
Cambiar cuál es el nodo que tiene el comentario: que siempre sea el siguiente. Si no hay siguiente que sea el padre.
Cambiar las posiciones de "arriba | abajo" por "arriba | dentro", donde "dentro" significa en la última línea del nodo en cuestión.
Para pensar: Inlainear el source map en la metadata del comentario?
Con eso:
El comentario siempre está attacheado al siguiente nodo, lo que es bueno para la WollokDoc.
Después de https://github.com/uqbar-project/wollok-ts/pull/189 los comentarios del código quedan como metadata del nodo más cercano. Eso permite dar soporte de varias herramientas como el Printer, Highlighter o crear la WollokDoc del sitio.
Al parsear un nodo se le agrega como metadata los comentarios de antes y después (pegados al nodo): https://github.com/uqbar-project/wollok-ts/blob/adbb654d627ab092debe81a55dab81fb69e9bda6/src/parser.ts#L122-L129 Esto fue hecho así para no perder comentarios al final del archivo (o del cuerpo de un método por ejemplo).
Los problemas son:
end
). En teoría, pero no siempre...