I don't think we should expose tokens as an API
yet. They're an implementation detail, not used
much, and the AST should be able to reflect all
the information that can be found in the tokens.
The methods of AbstractNode can be pulled down
to AbstractJjtreeNode and made protected.
Some files were parsed into ASTs with nodes having negative ranges.
For example:
package TestPackage
package EmptyPackage
end EmptyPackage;
end TestPackage;
has subtree:
SimpleLongClassSpecifier "EmptyPackage"
SimpleName "EmptyPackage"
Composition
ElementList <-- start = 3:3, end = 2:22
SimpleName "EmptyPackage"
Convert a few pieces of code
Share with modelica
Remove yet another dup
Fix tests
Doc
Share with plsql
Fix tests
Fix build
Cleanup
Minimize diff
Share with JSP module
Share with JS module
Share with XML module
Share with VisualForce module
Share with Scala module
Fix last tests
* Move AbstractModelicaRule into the `rule` package
* Make the visitor interface mention only published types (ie not
AbstractModelicaNode)
* Other cleanups(eg make interfaces extend ModelicaNode)