312702a5ac
Implement a few chunks of new mirror functionality. Many changes, notably: - Added currentIsolateMirror() to provide non-async access to the local isolate mirror. - Added mirrorOf(o) to provide access to local instance mirrors. - Fleshed out InstanceMirror, InterfaceMirror, and LibraryMirror to various degrees. - Added the MirroredError hierarchy, which lets the user handle Dart errors of various sorts from invocation, etc. - Introduce lazy resolvers for interface mirrors and library mirrors. These allow us to build the self-referential library/interface hierarchy without going mad. - Added better toStrings all around. - Extended the isolate_mirror_local_test to cover new functionality. Other changes that were required or seemed prudent: - Exposed the error hierarchy to the embedder. They need to be able to distinguish different error types in some situations. Improved the documetation around error handles and error propagation. - Added new functions to the dart embedding api as required. Added tests for all new dart api functions. Review URL: https://chromiumcodereview.appspot.com//10538043 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8575 260f80e4-7a28-3924-810f-c04153c831b5