The consequence of that would be the type tables started anew for each class.
Without that the ever growing common global type table is written to each class.
Making the class protobufs bigger and bigger.
- avoiding generating debug info using function scope (prolog/epilog problem).
- bit logging.
- extracted function for debug location.
- attempted to reset debug location at the start of the function (not working but looks like it's right way).
- private modifier added to non public functions
- removied IrFunction::line copy of IrElement::line() extention function.
- added FileScope used in IrToBitcode::visitFile()
- local variable support
- mechanism of central managment of debug info emitting
This patch replaces ArrayList.removeAll implementation with a
faster one. It also adds the AbstractMutableCollection class
containing default implementations for addAll, removeAll and
retainAll methods and fixes tests to check if removeAll removes
all occurrences found or not.
Some sort tests had an order of equal objects in a sorted list
hardcoded. It caused failures because an approach to placing
equal objects differs in Kotlin JVM and Kotlin Native sort
implementations. With this patch we check if all objects in a list
are sorted istead of checking an exact order of them.
This patch makes toIndex parameter exclusive in sortArrayWith method
in order to make this method corresponding to the other ones (e.g.
copyOfRange, Array.sortWith extension etc).
It also improves the external sortBy test in order to use it with
different sort algorithms.