ac4ab2b5b7
Removing dart2dart stuff is the most radical change, but there's also a bunch of general clean up, some of it somewhat unrelated, but long overdue. I've focused on making the IR easier to read end-to-end. For instance, I've stripped out a complicated assertion on InvokeMethod, because it is distracting and hasn't paid off. AFAIK it never caught a single bug, but a few times it has spuriously failed and needed patching. Some notable changes in the IR: - Removed FieldDefinition, ConstructorDefinition, Initializers. - Removed RootNode. There was only one subclass left. - Removed Body. Has been inlined into FunctionDefinition. - MutableVariable can no longer be a function parameter. - Removed default parameter values and local constants from the IR. I decided to keep nested functions for the time being because there is a slight chance they might come in handy for async/await. I'm not sure yet. We can strip them out later if they are not needed. I've also left the subclassing JsIrBuilder <: IrBuilder for now, even though the classes could be merged. Same with the visitor. BUG= R=kmillikin@google.com Review URL: https://codereview.chromium.org//1155463005