[modelica] Normalize invalid node ranges

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"
This commit is contained in:
Anatoly Trosinenko
2020-01-03 13:07:23 +03:00
parent ea6de08094
commit 4f3db86a70

View File

@@ -66,6 +66,14 @@ abstract class AbstractModelicaNode extends AbstractNode implements Node, Modeli
}
endLine = parser.token.endLine;
endColumn = parser.token.endColumn;
if (endLine < beginLine) {
beginLine = endLine;
beginColumn = endColumn;
}
if (endLine == beginLine && endColumn < beginColumn) {
beginColumn = endColumn;
}
}
@Override