Use a more precise type for "object" in analysis server API.

Previously, we translated "object" in the API to the dart type
"Object".  But this is not correct, since in the API when we say
"object" we mean "JSON object", which corresponds to a Dart Map.

Using a more precise type exposed some bugs in our refactoring
implementation, where we were forgetting to convert objects to and
from JSON.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//530033002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39757 260f80e4-7a28-3924-810f-c04153c831b5
Reapply "Give instances their own model class; move DartErrors out of instance-ref into their own error-ref."

Update inbound_references_test

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//524433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39758 260f80e4-7a28-3924-810f-c04153c831b5
Test editing embedded scripts

This is a checkpoint. I'm having trouble getting the mouse to move
into the correct position. Hyperlink detection relies on having
the OS's notion of mouse location, rather than just querying events.

R=danrubel@google.com

Review URL: https://codereview.chromium.org//524953002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39759 260f80e4-7a28-3924-810f-c04153c831b5
Rename Error to RequestError in analysis server API.

Also, use the code-generated RequestError class in place of the old
handwritten RequestError class.

R=jwren@google.com

Review URL: https://codereview.chromium.org//530583004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39760 260f80e4-7a28-3924-810f-c04153c831b5
Fix references to non-existent requests in analysis server API doc.

R=jwren@google.com

Review URL: https://codereview.chromium.org//527773004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39761 260f80e4-7a28-3924-810f-c04153c831b5
ignore local pub cache

BUG=
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//534613002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39762 260f80e4-7a28-3924-810f-c04153c831b5
Move new script from soon to be removed dartium_tools

R=jacobr@google.com

Review URL: https://codereview.chromium.org//532803003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39763 260f80e4-7a28-3924-810f-c04153c831b5
Stop expecting xhr_test to fail

BUG=

Review URL: https://codereview.chromium.org//529093002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39764 260f80e4-7a28-3924-810f-c04153c831b5
Edit domain implemented in java server layer nearly done: edit.getAssists, edit.getAvaliableRefactorings, edit.getFixes, edit.getRefactoring (nearly done)

R=paulberry@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//532703003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39765 260f80e4-7a28-3924-810f-c04153c831b5
DEPS AutoUpdate: chromium to 291770 (2014-09-02 11:57:45 -0700) vsm@google.com
Remove dartium_tools
http://src.chromium.org/viewvc/chrome?view=rev&revision=291770

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39766 260f80e4-7a28-3924-810f-c04153c831b5
Set setter Elements for '=' AssignmentExpressions.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//530573002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39767 260f80e4-7a28-3924-810f-c04153c831b5
Impements 'names', 'offsets' and 'lengths' for ExtractMethodRefactoring.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//530123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39768 260f80e4-7a28-3924-810f-c04153c831b5
Addressing Issue 5991, where functions are requested for:

* greatest common denominator
* modulo inverse
* modulo exponentiation

In addition, I implemented functions for least common multiple and extended gcd, as they are so closely related.

These functions are respectively named gcd(), invert(), modexp(), lcm(), gcdext(), provided in the math package,
and tested in the math package.

When passed arguments larger than 2^53, a javascript implementation of dart will yield unpredictable results,
as is true with all of the dart:int methods.

Some of the function names are arbitrary, as they go by different names in different languages:

* For modular multiplicative inverse, I chose "invert." It goes by "invert" in GMP [1], "modInverse" in Java and Go,
"invmod" in Julia, "PowerMod" in Mathematica, and "pow" in Python.
* For modular exponentiation, I chose "powmod." It goes by "powm" in GMP, "exp" in Go, "modPow" in Java,
"powermod" in Julia and Mathematica, and "pow" in Python (optional arg).
* For extended gcd, I chose "gcdext." It goes by "gcdext" in GMP, "gcd" in Go (optional return args), "gcdx" in Julia,
and "ExtendedGCD" in Mathematica.

BUG= https://code.google.com/p/dart/issues/detail?id=5991

[1] https://gmplib.org/

R=lrn@google.com

Review URL: https://codereview.chromium.org//475463005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39769 260f80e4-7a28-3924-810f-c04153c831b5
Clarify type names in analysis server API.

The following types are renamed:

- ErrorFixes -> AnalysisErrorFixes
- ErrorSeverity -> AnalysisErrorSeverity
- ErrorType -> AnalysisErrorType

This clarifies that the types have to do with the
errors/warnings/hints generated by the analysis of user code, as
opposed to analysis server protocol errors.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//531153002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39770 260f80e4-7a28-3924-810f-c04153c831b5
Previously, any function that had a size of 0 was checked to see if it was required by anything else.  This basically ignored inlined functions.

This CL tracks which functions are inlined, and exports the count of how many times the inclining of that element occurs.

It also relaxes the restriction on choosing to export classes.

BUG=20684
R=johnniwinther@google.com, sra@google.com

Review URL: https://codereview.chromium.org//485333002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39771 260f80e4-7a28-3924-810f-c04153c831b5
New analyzer snapshot.

We compute the parameter element for 'object.field = 42' now, so:
1. We can stop doing it in InlineMethodRefactoring.
2. We need to update the corresponding hover integration test.

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//535543003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39772 260f80e4-7a28-3924-810f-c04153c831b5
Make findElementReferences' "id" result optional.

R=jwren@google.com

Review URL: https://codereview.chromium.org//529123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39773 260f80e4-7a28-3924-810f-c04153c831b5
Rename ExecutableFile.offset to ExecutableFile.kind and fix documentation.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//528053002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39774 260f80e4-7a28-3924-810f-c04153c831b5
Fix scoping async functions.

This CL fixes several scoping/context issues:
* Do not reuse scopes in SequenceNode_s as they might introduce a new context
  level. In that case we would trigger context allocationg multiple times
  resulting in scope/contexts being out of sync.
* Properly save and restore saved_try_context in try/catch/finally blocks and
  nesting closures. For this we need to keep track of async closures top scopes.

R=hausner@google.com

Review URL: https://codereview.chromium.org//520223002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39775 260f80e4-7a28-3924-810f-c04153c831b5
remove unused DartElement and related classes and methods

BUG=
R=jwren@google.com

Review URL: https://codereview.chromium.org//536433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@39776 260f80e4-7a28-3924-810f-c04153c831b5