Transition all relevant testcases to it. In the process, port
docstrings/comments from test.py files to expected_concrete_syntax.lkt
(now test.lkt) sources and fix stylechecks issues there.
(cherry picked from commit e1c4fe5804)
This makes the convention consistent with the DSL, and avoids
workarounds for conflicts with Lkt keywords: in Libadalang, the Null
token can stay Null, instead of null_tok (no API breakage needed).
Before this commit, node typed structure fields were stored as is in
Java structure wrapping classes. Entities were 'Entity' and bare node
were 'PointerWrapper'.
Now, those fields are stored as '<my_lang>Node' in their Java wrapping
classes.
Before this commit, in the 'AnalysisUnit.equals' method, the other value
was compared with itself, resulting in the method returning always true.
Now 'other' is compared to 'this'.
Due to an incomplete update after a testcase copy-paste, this Java test
runs agains the JNI bindings whereas it is supposed to run with the
Native-Image ones. Fix the test to run with the correct bindings.
Avoid emitting parens when they are useless, for instance around string
literals. Also start emitting them when they are needed, for instance
around "if" expressions such as "(if A then B else C).method".