0b9ed18603
Two new methods are added to the AnalysisContext which return Futures--the futures complete with the result of analysis once it's available, avoiding the need for a busy wait loop in the completion engine. The futures are guaranteed to complete eventually (provided that analysis reaches quiescence). If it is determined that the requested analysis will never become available (e.g. because analysis was requested for a file or file/library combination that is not subject to analysis), the future will be completed with an AnalysisNotScheduledError, so that the client isn't stalled forever waiting for analysis results. R=brianwilkerson@google.com Review URL: https://codereview.chromium.org//800723002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42339 260f80e4-7a28-3924-810f-c04153c831b5