Commit Graph

8489 Commits

Author SHA1 Message Date
scheglov@google.com b1dd0f8843 Fix another false positive for not used function type alias.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45178 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 19:45:49 +00:00
brianwilkerson@google.com c699a9b79d Stop generating error when ignoring function bodies (issue 23207)
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45172 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 16:11:12 +00:00
brianwilkerson@google.com d2af892e6a Capture annotations on enums (issue 23071)
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45167 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 14:33:39 +00:00
paulberry@google.com 0457770df5 Don't permit annotations inside variable declarations.
This addresses the root cause of dartbug.com/23176.

BUG=dartbug.com/23204
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45165 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 13:28:38 +00:00
kevmoo@google.com e262848210 DRY'd up the parse methods. Aligned arguments between parse File and String
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45146 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 21:13:48 +00:00
brianwilkerson@google.com ba5b3ccde4 Fix resolution of stack trace parameters
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45140 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 15:01:45 +00:00
scheglov@google.com 9cdd2dd31f Issue 23190. Type check with a function type alias is its usage.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23190

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45124 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 00:35:56 +00:00
jakemac@google.com 0f8841239f expose option to not parse function bodies when calling parseCompilationUnit
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45119 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 20:00:48 +00:00
scheglov@google.com 548fcacd52 Issue 23181. Fix for ParameterElement.node.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23181

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45115 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 18:00:52 +00:00
paulberry@google.com 279c20a625 Log details of calls to "pub list" to instrumentation.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45080 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 21:50:45 +00:00
scheglov@google.com 2e2bb91f26 Move getElementAt() to CompilationUnitElement.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45072 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 16:57:51 +00:00
scheglov@google.com 9534f300c2 ReApply: Issue 23133. Fix for restoring 'package:' uris on Windows.
There was a bug in the previous version https://codereview.chromium.org//1070203002
We used system path context instead of the one from the given ResourceProvider.
So, it worked, but was failing tests on Windows, because we always use posix style.

R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23133

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45069 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 15:27:07 +00:00
ricow@google.com 88a0451f5a Revert "Issue 23133. Fix for restoring 'package:' uris on Windows."
This reverts revision 45023

It is my strong suspicion that this is causing the redness here:
http://build.chromium.org/p/client.dart/builders/pub-win-russian-be/builds/3729/steps/pub%20and%20pkg%20%20tests%20failures/logs/stdio

R=scheglov@google.com, whesse@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45049 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 05:55:53 +00:00
scheglov@google.com 688cb9f67a Issue 23155. Don't perform incremental resolution if a constructor initializer is changed.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23155

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45037 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 21:17:30 +00:00
scheglov@google.com ed26cdbf05 Remove old debug output.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45025 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 18:40:00 +00:00
scheglov@google.com 1be249945b Issue 23133. Fix for restoring 'package:' uris on Windows.
R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23133

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45023 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 18:23:42 +00:00
scheglov@google.com 28c4a74388 Tweaks for Element encoding and decoding.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45016 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 16:09:07 +00:00
scheglov@google.com 976eeb8df4 Use file/offset/kind triplet as elements id.
It saves about 20 MB for each ToDo MVC sample.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45011 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 15:21:12 +00:00
danrubel@google.com 6cb49314de (TBR) Fix import parsing
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44984 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 21:49:27 +00:00
danrubel@google.com a34401414c improve parser recovery for import statements
BUG=dartbug.com/23108
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44978 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 18:26:00 +00:00
brianwilkerson@google.com db891e1319 Provide access to list of types that cannot be subtyped (issue 23125)
R=paulberry@google.com, vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44972 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 16:11:05 +00:00
brianwilkerson@google.com f15102d5ec Introduce common superclass to fix ClassElement.node (issue 23120)
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44971 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 15:58:19 +00:00
danrubel@google.com faf29a0686 improve parser recovery for import directives
BUG=dartbug.com/23108
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44968 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 13:37:50 +00:00
paulberry@google.com e0ee1cb68f Rework type assignability, subtype, and "more specific than" checking.
The key change in this CL is to change the technique for avoiding
infinite recursion in the presence of illegal code.  Rather than track
type pairs, we track (a) the function typedef elements that have been
expanded while examining the LHS and RHS, and (b) the class and type
parameter elements that have been visited while exploring the class
hierarchy.  If a function typedef is encountered while expanding
itself, or a class or type parameter element is encountered while
searching its own class hierarchy, then it is skipped.  Since both
class hierarchy loops and self-referential function typedefs are
prohibited by the spec, this ensures that the checks to avoid
recursion will only trigger in the presence of compile errors, so
analyzer will produce correct warnings in the absence of compile
errors.

As a consequence of the new technique, bugs 21912 and 22976 are fixed.

In addition, there are a few other improvements:

- Optional arguments are used to keep track of elements already
  visited, so it's not necessary to have separate functions
  isAssignableTo2, isSubtypeOf2, and isMoreSpecificThan2, nor do we
  need "internal" versions of those functions.

- InterfaceTypeImpl no longer needs a special implementation of
  isSubtypeOf.  It's now implemented in the same way it's defined (in
  terms of isMoreSpecificThan).

- Some flaws were discovered in the co19 tests.  I've filed a co19 bug
  for these, and updated the co19-analyzer2 status file.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44965 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 13:00:57 +00:00
scheglov@google.com a5ff948486 Report unused function type aliases.
Plus:
1. Rename some class tests.
2. Tests for enums.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44948 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 20:55:57 +00:00
sigmund@google.com 8c4caa642b Changes in analyzer needed for dev_compiler
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44945 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 20:06:06 +00:00
paulberry@google.com 3234757a4d Remove union type support from analyzer.
This feature was never enabled, never left the experimental stage, and
is getting in the way of other work (e.g. fixing bugs 21912 and
22976).

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44930 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 22:41:25 +00:00
brianwilkerson@google.com 5ffbabbaa4 Fix comment in LibraryElement
R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44929 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 22:31:46 +00:00
scheglov@google.com 3d33f19479 Generate hints for imports.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44928 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 20:32:01 +00:00
scheglov@google.com bf505eed69 Separate imported elements gathering and imports validation.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44924 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 19:32:02 +00:00
scheglov@google.com 69b32b8040 Replace LIBRARY_ELEMENT6 with LIBRARY_ELEMENT.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44922 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 18:51:24 +00:00
scheglov@google.com 2224bd0860 Compute IS_CLIENT result.
It is easy now with import source closure.
So, we can remove the temporary HAS_HTML_IMPORT result.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44919 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 17:31:56 +00:00
scheglov@google.com 48a6ff0c9b Rename UsedElements -> UsedLocalElements.
We will need to create UsedImportedElement for the new imports verifier implementation.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44917 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 16:37:00 +00:00
paulberry@google.com 9efc540b0e Fix tests broken by r44880.
Revision 44880 added an assertion to accompany the internal error
message emitted if Parser._computeStringValue computes nonsensical
string start and end positions, so that those internal errors would be
noticed by the buildbots.  It fixed most of the circumstances in which
the internal error might occur, but it missed a few: if the analyzer
encounters an unterminated string at the end of a line, or an
unterminated multiline string at the end of a file, or a string ending
with an invalid interpolation expression (e.g. "${var x}" or
"$class"), then a token might be generated which the parser thinks is
a complete string, but which consists solely of 1, 3, 4, or 5
consecutive quotes (and thus is an unterminated string), causing
Parser._computeStringValue to get confused and fire the assertion.

This CL addresses those problems by modifying
Parser._computeStringValue to handle those ill-formed tokens.

In a future CL I plan to modify the parser so that invalid
interpolation expressions like "${var x}" and "$class" are recovered
from more gracefully.  But that is a low priority fix, since this CL
is sufficent to prevent the assertion from firing.

BUG=dartbug.com/23100
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44914 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 16:22:54 +00:00
paulberry@google.com 8ee49e51e0 Fix ill-formatted error messages in analyzer.
Previously, two analyzer error messages (one recently introduced by
me, and one that has been around for a while) failed to provide enough
arguments to populate the error message template, resulting in
user-visible strings like "{0}" showing up in error messages.

This CL fixes the problem, and safeguards against it happening again
in the future by adding assertions to verify, at the time the error
message is formatted, that enough arguments were passed.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44911 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 15:28:34 +00:00
brianwilkerson@google.com b0f756c97a Detect and recover from infinite task loops
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44908 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 13:19:09 +00:00
paulberry@google.com 635c6a11ec Implement the new '?.' operator in analyzer.
As in r44802, the new operator is only accepted by the tokenizer if
the command-line option "--enable-null-aware-operators" is supplied.
Only static analysis of '?.' is implemented; however, the tests in
tests/language will verify behavior once it is implemented.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44907 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-05 20:59:05 +00:00
brianwilkerson@google.com c17bd2e787 Make two getters public
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44905 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-05 15:37:46 +00:00
scheglov@google.com cadcd05f73 Issue 22988. Improve checking for conflicts between parameters and local elements during extracting methods.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22988

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44891 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 21:04:26 +00:00
brianwilkerson@google.com fb97a93f6b Add missing results needed to convert AnalysisContext to the new task model
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44890 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 20:56:35 +00:00
paulberry@google.com a1974d61c6 Fix interpretation of string contents after interpolation expressions.
Previously, the logic for skipping the opening quote(s) (and optional
'r') of a string were erroneously being invoked after string
interpolations.  As a result, a string like '${x}"y' was being
interpreted as '${x}y'.  Usually, this had no visible user effect,
because analyzer's interpretation of strings is currently only used
for constant evaluation, and string interpolation is rare in constant
expressions.  However, it was triggering an internal error in the case
where the interpolation is at the end of a multiline string, since it
caused analyzer to compute that the number of characters following the
interpolation was negative.

In addition to fixing the bug, I've modified the logic for logging the
internal error so that it also asserts; this allows the error to be
detected by unit tests.  I've also fixed an off-by-one error in the
internal error logic which had prevented the bug from being noticed on
single-line strings.

BUG=dartbug.com/23046
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44880 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 15:52:10 +00:00
paulberry@google.com 0e488419b6 Implement the new '??=' operator in analyzer.
As in r44802, the new operator is only accepted by the tokenizer if
the command-line option "--enable-null-aware-operators" is supplied.
Only static analysis of '??=' is implemented; however, the tests in
tests/language will verify behavior once it is implemented.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44873 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 20:37:09 +00:00
scheglov@google.com c6102d9000 Report unused elements in GenerateHintsTask.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44867 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 19:56:14 +00:00
paulberry@google.com 3e4356f993 Begin making copies of AST nodes for constants during resolution.
The resolver now copies the resolved AST's for the initializers of
constant variable declarations into the element model.  This is a
necessary prerequisite for moving constant evaluation into the new
task model, since in the new task model, the original AST nodes won't
be available at constant evaluation time.

Also, the resolver is now responsible for copying the resolved
initializer lists for constant constructors into the element model.
This was previously done at constant evaluation time, but once again
in the new task model the original AST nodes won't be available at
constant evaluation time.

Since not all constants are guaranteed to have been evaluated at the time
that the resolver makes these copies, we can no longer store the
evaluationResult for an InstanceCreationExpression in its AST node
(it's no longer guaranteed to get copied safely).  So instead, we
store the evaluationResult in an intermediate object called
ConstantInstanceCreationHandle; that way the copied AST node will
point to the same ConstantInstanceCreationHandle as the original AST
node, so once the constant is evaluated, the resulting value will be
accessible from both AST nodes.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44861 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 16:35:56 +00:00
scheglov@google.com d0c0b3ee19 Task: gather elements used in a unit.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44860 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 16:23:13 +00:00
scheglov@google.com 1ccd043707 Enable dart2js hints test.
Type hierarchies are built completely now, so we don't have any additional warnings.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44859 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 16:09:17 +00:00
scheglov@google.com a707ae2282 Resolve type hierarchies for all units of the library's import closure.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44846 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 22:18:32 +00:00
scheglov@google.com ee0e4e8c56 Issue 23068. Constructors should have the same const/factory modifiers to match.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=23068

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44845 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 22:07:54 +00:00
scheglov@google.com e154d7ac6a Tweaks for hover - local variables and methods.
1. We don't need enclosing class and library for local elements.

2. None of the elements other than methods append class name in toString(), so remove it there too.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44838 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 18:24:16 +00:00
paulberry@google.com 1b17a2f199 Rename ConstantValueComputer_InitializerCloner.
In order to migrate constant evaluation to the new task model, this
class will need to be used from outside of ConstantValueComputer, and
it will need to be used on AST's for all constant values; not just
those for initializers.  So the old name really doesn't make any
sense.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44837 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 18:13:07 +00:00