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"
* Move AbstractModelicaRule into the `rule` package
* Make the visitor interface mention only published types (ie not
AbstractModelicaNode)
* Other cleanups(eg make interfaces extend ModelicaNode)