This PR breaks up most of the massive core files into many smaller files with improved organization.
Rearrangement of files aggravated some issues with circular dependencies. Resolving these required an overhaul to the way FunctionCall acts as a potential full expression and manages temporary objects, as well as replacing several old instanceof calls with discriminant tests, which don't require actually materializing an import and are better style anyway.
It also removes old, unnecessary code hanging out in block comments wherever I happened to notice it.
This PR breaks up most of the massive core files into many smaller files with improved organization.
Rearrangement of files aggravated some issues with circular dependencies. Resolving these required an overhaul to the way
FunctionCall
acts as a potential full expression and manages temporary objects, as well as replacing several oldinstanceof
calls with discriminant tests, which don't require actually materializing an import and are better style anyway.It also removes old, unnecessary code hanging out in block comments wherever I happened to notice it.