5533a256cb
this includes various cleanups found along the way: * various issues with JS annotations, see #30043 * getGenericClass is now optimized when used in a JS builtin with a Type literal * typed list literals should be slightly faster to create * memoized getters used by dart:_runtime should be faster * registerExtension should be a tad faster, and now understands JSArray * dart.bind "safeName" hack gone in codegenerator * JSArray<E>.runtimeType returns List<E> * JSArray<E>.noSuchMethod works * cleans up code that generates `setExtensionBaseClass` (used only by JSArray) * _throwUnsafe helper for generating a `throw` in --unsafe compile mode * fix tearoff of JS interop types (_emitSimpleIdentifier) * fix TODO about splitting LazyJSType and AnonymousJSType * fix is/as/cast methods on TypeRep and related classes * fix codegenerator to not tearoff "hashCode" and "runtimeType" (they are not methods) * fix NoSuchMethodError.toString() (update via dart2js sdk impl) R=vsm@google.com Review-Url: https://codereview.chromium.org/2962263002 .