Paul Berry
b7a0db69a6
Fix compile-time error in implicit_downcast_not.dart test case
...
Change-Id: Icf58ba984fadd27580dc37c901532dcdbf101a99
Reviewed-on: https://dart-review.googlesource.com/23146
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-23 16:39:47 +00:00
Paul Berry
9255de668e
Insert implicit downcasts for constructor initializer expressions.
...
Change-Id: Ic258db9c353a4a0ab33a96c3847b174937fcf9e5
Reviewed-on: https://dart-review.googlesource.com/23220
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-23 16:39:28 +00:00
Paul Berry
501872471c
Insert implicit downcasts for the conditions of do statements.
...
Change-Id: I8bfffa0796775434cea767ec9ad13cf5697812d2
Reviewed-on: https://dart-review.googlesource.com/23140
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-11-22 21:47:14 +00:00
Paul Berry
245340dd7f
Insert implicit downcasts for the conditions of if statements.
...
Change-Id: I788d50dc3d95bb4652ff122a993cd092d7262c31
Reviewed-on: https://dart-review.googlesource.com/23160
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-22 19:29:24 +00:00
Paul Berry
6786f1944a
Insert implicit downcasts for the operands of "not" expressions.
...
Tests that have begun failing due to this change are marked with a
reference to issue #31402 .
Change-Id: I3d29a1058af5ba43bc2868d85de1e9d87b666ee2
Reviewed-on: https://dart-review.googlesource.com/23080
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-11-22 17:55:27 +00:00
Paul Berry
9693e47d89
Insert implicit downcasts for the expressions in a return or yield statement.
...
Tests that have begun failing due to this change are marked with a
reference to issue #31402 .
Change-Id: Id570bf354583a3780087ffc820eefc3619573af4
Reviewed-on: https://dart-review.googlesource.com/22842
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-11-22 15:33:07 +00:00
Paul Berry
ffdae2fd4d
Insert implicit downcast checks for the expressions in a map literal.
...
Tests that have begun failing due to this change are marked with a
reference to issue #31402 .
Change-Id: I40b4b45d5ea32dc34aee68bfe39912141e4d7d35
Reviewed-on: https://dart-review.googlesource.com/22806
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-22 01:18:38 +00:00
Paul Berry
2d00ba15b3
Insert implicit downcast checks for the expressions in a list literal.
...
Tests that have begun failing due to this change are marked with a
reference to issue #31402 .
Change-Id: I1a4a2eed0f7b8ebb5cab0a993d7cf26e925b9425
Reviewed-on: https://dart-review.googlesource.com/22802
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-11-22 00:03:56 +00:00
Paul Berry
00bf0d3136
Insert implicit downcast checks for the argument to a combiner in a compound assignment.
...
Change-Id: I4827013dc060f530e553b95932db8cbacebc2bfc
Reviewed-on: https://dart-review.googlesource.com/22603
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-21 20:03:31 +00:00
Brian Wilkerson
4bb1d1f442
Handle type annotations in ResolutionApplier
...
Change-Id: Idd20aee5c05971a717ea1e1c380c940d0e3d4b09
Reviewed-on: https://dart-review.googlesource.com/22560
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-11-21 19:19:48 +00:00
Paul Berry
8cdd9d323c
Insert implicit downcast checks for invocation arguments.
...
Tests that have begun failing due to this change are marked with a
reference to issue #31402 .
Change-Id: I1fa7490f6143bd6ceca80f831e0196b16c497966
Reviewed-on: https://dart-review.googlesource.com/20907
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-11-21 00:17:37 +00:00
Paul Berry
a595dc2af5
Move isTopLevel check inside checkAssignability.
...
We never need to add assignability checks when doing top level
inference; putting the check inside checkAssignability avoids the need
to remember to put it at every call site.
In order to keep type inference consistent between top level and local
type inference, I've modified the handling of assignments so that the
computations performed by checkAssignability do not influence the
inferred types. For example, when performing type inference on `a =
b`, we used to consider the resulting expression to have the type of
`a` if a downcast was required, otherwise the type of `b`. Now we
always consider the type of the assignment to be the type of `b`.
This is consistent with the informal spec of type inference. This
change introduces some mal-typed kernel nodes in error recovery
situations, which I will fix in a future CL--see issue #31417 .
Change-Id: I02e8dff54e2184e6f059d1339e51edf42c4cd058
Reviewed-on: https://dart-review.googlesource.com/22260
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-20 23:18:11 +00:00
Paul Berry
1e8bcc1104
Remove a garbage line from strong.status
...
Change-Id: I0e3d263e65bc18d39fc1a50204473b343e624823
Reviewed-on: https://dart-review.googlesource.com/22201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-20 21:52:47 +00:00
Dan Rubel
783190248a
Add fasta parser missing name recovery
...
* update parser missing parameters error message
* update AstBuilder to insert () when needed
* reorder error converter mapping
Change-Id: Ibe57615f8f06644210c6b8babb8a7c1aa4a60fb3
Reviewed-on: https://dart-review.googlesource.com/21792
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-11-18 18:47:36 +00:00
Paul Berry
f043446962
Insert implicit downcast checks for the RHS of variable declarations.
...
Tests that have begun failing due to this change are marked with a
reference to issue #31402 .
Change-Id: I5be5fb6f47430d390d53d9f195b6a75ca566f8b9
Reviewed-on: https://dart-review.googlesource.com/21701
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-11-18 15:35:45 +00:00
Régis Crelier
f91f67a5be
[VM] Emit type checks for incoming function arguments in strong mode.
...
Change-Id: Icd64913f0fc6ba54a0b8517bf05ae4babfae3bdc
Reviewed-on: https://dart-review.googlesource.com/19287
Reviewed-by: Siva Annamalai <asiva@google.com >
2017-11-18 00:31:35 +00:00
Paul Berry
18fd8b75bd
Change the representation of ShadowSyntheticExpression to allow replacement.
...
Previously, a ShadowSyntheticExpression was its own kind of Expression
unrelated to any of the Expression types defined in the kernel. It
responded to visit requests by forwarding the visit request to the
desugared expression. This had the advantage that for serialization
purposes, ShadowSyntheticExpressions would automatically disappear.
But it had the disadvantage that if a ShadowSyntheticExpression ever
needed to be replaced with another node (e.g. because an implicit
downcast was needed), the _ChildReplacer would get confused by the
visitor forwarding and fail to replace the node properly.
This CL fixes the problem by changing ShadowSyntheticExpression to a
Let node of the form `let _ = null in desugaredExpression`. Since
this is a genuine kernel expression, it no longer needs special
visiting semantics, and node replacement works properly.
In most circumstances, we replace the ShadowSyntheticExpression with
its desugared equivalent during type inference, so the final
serialized kernel representation is unchanged. However, in a few rare
circumstances involving error recovery, a ShadowSyntheticExpression
remains in the tree. Semantically this shouldn't be a problem, since
the behavior of `let _ = null in x` is the same as the behavior of
`x`. Nonetheless, I hope to get rid of these rare circumstances in
follow up CLs.
Change-Id: Iacf8c0028c424ac9ef98ef8302680e289bf7a017
Reviewed-on: https://dart-review.googlesource.com/21571
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-17 12:18:53 +00:00
Dan Rubel
f6acd76f94
Add fasta parser missing operator keyword recovery
...
Change-Id: I940fa31a006dc088b8f4166a9e3e48bcf65a5341
Reviewed-on: https://dart-review.googlesource.com/21500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-11-16 21:28:12 +00:00
Dan Rubel
65bf242e6d
Add fasta parser invalid field name recovery
...
Change-Id: Ie58efb0616b8e66da9fb478f8c1927f7328808ce
Reviewed-on: https://dart-review.googlesource.com/21463
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-11-16 19:04:41 +00:00
Dan Rubel
a9c7e0ae6d
Add fasta parser invalid method name recovery
...
Fix https://github.com/dart-lang/sdk/issues/31183
Change-Id: I7fb757061295f4ef5c6c0b23adf7dee7ddc323c1
Reviewed-on: https://dart-review.googlesource.com/21461
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-11-16 18:41:21 +00:00
Aske Simon Christensen
6dcea4d28c
Error on super call as expression.
...
Closes https://github.com/dart-lang/sdk/issues/31198
Change-Id: Iaa2c026dbd22baefded4cef36a1d8a81bede5b34
Reviewed-on: https://dart-review.googlesource.com/21160
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2017-11-16 14:23:21 +00:00
Kevin Millikin
02511ceeb4
Fix the precedence of FunctionExpression
...
FunctionExpression should have a low precedence to ensure that it is
properly parenthesized.
Fixes https://github.com/dart-lang/sdk/issues/31380
Bug:
Change-Id: I2ca2bb728973c5b374411dc07fdadc4dda8c707b
Reviewed-on: https://dart-review.googlesource.com/21343
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2017-11-16 10:38:12 +00:00
Aske Simon Christensen
851ff574a3
Avoid crash for type argument on type variable.
...
Closes https://github.com/dart-lang/sdk/issues/31190
Change-Id: Ifb2d721d5816a3656df47bfe2a5328594b8d0e83
Reviewed-on: https://dart-review.googlesource.com/21121
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2017-11-16 10:20:02 +00:00
Aske Simon Christensen
43bc36ac72
Recover from multiple errors in for initializer.
...
Closes https://github.com/dart-lang/sdk/issues/31184
Change-Id: Ie453ed0b1aff88bd9799949f97e9d2fc0077e8c0
Reviewed-on: https://dart-review.googlesource.com/21141
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2017-11-16 10:03:23 +00:00
Dan Rubel
a25b0a8d07
Revert "Add fasta parser invalid method name recovery"
...
This reverts commit d2579b6d3c .
Revert until I can figure out why co19/Language/Expressions/Identifier_Reference/syntax_t06 is failing.
Original change's description:
> Add fasta parser invalid method name recovery
>
> Fix https://github.com/dart-lang/sdk/issues/31183
>
> Change-Id: I1c3d0f5f665e8b1ab02901b470da0bf70871e5e1
> Reviewed-on: https://dart-review.googlesource.com/21261
> Commit-Queue: Dan Rubel <danrubel@google.com >
> Reviewed-by: Paul Berry <paulberry@google.com >
TBR=paulberry@google.com ,danrubel@google.com
Change-Id: Ia1c1cc26b819f309bb6c2b603318904d0b786b56
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/21360
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-11-16 03:15:22 +00:00
Dan Rubel
d2579b6d3c
Add fasta parser invalid method name recovery
...
Fix https://github.com/dart-lang/sdk/issues/31183
Change-Id: I1c3d0f5f665e8b1ab02901b470da0bf70871e5e1
Reviewed-on: https://dart-review.googlesource.com/21261
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2017-11-15 23:15:51 +00:00
Dan Rubel
8e1e24b642
Add fasta parser binary expression recovery
...
Change-Id: I6345bd29fa00d0f4a2a6474f1d26e7c60661cef0
Reviewed-on: https://dart-review.googlesource.com/21100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-11-15 15:54:02 +00:00
Aske Simon Christensen
2a04caa7da
Handle string interpolation in URIs
...
Closes https://github.com/dart-lang/sdk/issues/30994
Change-Id: I3be126244a8d089d87caee0cdf233a294486642e
Reviewed-on: https://dart-review.googlesource.com/20460
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2017-11-15 15:22:11 +00:00
Dan Rubel
0f56888d6a
Add fasta parser conditional expression recovery
...
Change-Id: Id1c44585f4ff52626d4e735cba41938c66b79b13
Reviewed-on: https://dart-review.googlesource.com/20740
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-11-14 20:20:04 +00:00
Paul Berry
abe2e85d15
Report "invalid assignment" from the front end as an error rather than a warning.
...
The front end only detects invalid assignments during type inference,
and type inference is only done in strong mode. In strong mode,
invalid assignment is an error.
Change-Id: I1c598716be84804e9dc109414fe45f73888ed8c0
Reviewed-on: https://dart-review.googlesource.com/20741
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-11-14 18:39:14 +00:00
Aske Simon Christensen
21b363a4e7
Generic error message for invalid initializers
...
Closes https://github.com/dart-lang/sdk/issues/31192
Change-Id: I851a577e6ca0703328208d076b9b3ad7b87300dd
Reviewed-on: https://dart-review.googlesource.com/19960
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2017-11-13 16:14:55 +00:00
Aske Simon Christensen
9d8cdd5614
Added missing copyright notice to test.
...
Change-Id: I0918bf146cb8285c3f513811eb269d6a624e94c4
Reviewed-on: https://dart-review.googlesource.com/20060
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2017-11-13 15:57:45 +00:00
Aske Simon Christensen
4b3bb06c4f
Put no bound on substituted type when substitution has no bound.
...
Closes https://github.com/dart-lang/sdk/issues/31181
Change-Id: Iace1771f1adcf029049ee8e7f8903017f512ed46
Reviewed-on: https://dart-review.googlesource.com/20022
Reviewed-by: Karl Klose <karlklose@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2017-11-10 13:15:08 +00:00
Paul Berry
b78847dcd5
Fix type inference of super property get, and improve tests
...
Previously, we were inferring super property gets as though they were
`this` property gets.
Change-Id: Ic82ea6a400c71ef1413870d9adce6202666bb126
Reviewed-on: https://dart-review.googlesource.com/19763
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-09 21:18:57 +00:00
Paul Berry
a4d8739e15
Fix type argument substitution in super initializer calls.
...
Also add test cases to verify that type argument substitution works
properly for other kinds of super calls.
Change-Id: I7a04c85cd13e83403a0e86efa82f30ae71dc0b15
Reviewed-on: https://dart-review.googlesource.com/19621
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-09 20:16:08 +00:00
Paul Berry
1a287d61be
Test type inference for super index operations, especially with substitutions.
...
Change-Id: I25958f038f3af1ab70ba88e7405687564246fb95
Reviewed-on: https://dart-review.googlesource.com/19660
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-09 19:20:07 +00:00
Aske Simon Christensen
cc5b0a6ac4
Handle non-identifier after null-aware dot.
...
Closes https://github.com/dart-lang/sdk/issues/31157
Closes https://github.com/dart-lang/sdk/issues/31180
Closes https://github.com/dart-lang/sdk/issues/31186
Closes https://github.com/dart-lang/sdk/issues/31187
Change-Id: Ie20ca9b174d26ae95b7ce318310175f7de82bfc3
Reviewed-on: https://dart-review.googlesource.com/19190
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2017-11-09 10:03:46 +00:00
Paul Berry
70c76a248e
Fix parent pointers in the general case of duplicate named args
...
Note: there special case code to check for duplicate named args when
exactly two named arguments are given. The special case code already
works; this CL fixes the general case.
Change-Id: I36ad6eff8f4377b15a4730a0e35c109605f2b763
Reviewed-on: https://dart-review.googlesource.com/19404
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-09 00:55:23 +00:00
Konstantin Shcheglov
ec01d10557
Add FallThroughError._create() to required members.
...
R=sigmund@google.com
Bug:
Change-Id: Id870b3c693d2ba77c11d8d0ebc587427efb81863
Reviewed-on: https://dart-review.googlesource.com/19281
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-11-08 21:21:50 +00:00
Alexander Aprelev
1a45ad96ca
Move super resolution from kernel transformation to VM flow graph construction.
...
Super resolution kernel transformation updates kernel graph with
resolved static calls in place, which breaks incremental modular nature
of transformations.
Bug: dartbug.com/31043
Change-Id: I7ec52d29ea03652cae1403dd89552b30686a5749
Reviewed-on: https://dart-review.googlesource.com/18320
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2017-11-08 20:17:51 +00:00
Konstantin Shcheglov
5156d0a11f
Fix for shaking a library with invalid typedef.
...
Bug:
Change-Id: I498029eea9b1c9b490e374f994cb5f4132eca085
Reviewed-on: https://dart-review.googlesource.com/19100
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-11-08 19:18:45 +00:00
Konstantin Shcheglov
6541c720e5
Update mock SDK and shaker to include required declarations.
...
Bug:
Change-Id: I585daea4bb4315d01333a6515c809e3a862b44e5
Reviewed-on: https://dart-review.googlesource.com/19064
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-11-08 01:19:50 +00:00
Konstantin Shcheglov
f9c1b896f4
Add test that shows that we don't include additional exports for external libraries into shaken outlines.
...
As promised in https://dart-review.googlesource.com/c/sdk/+/18960
Bug:
Change-Id: I33970364e04a28a174aa036456ccdc1ce3fa965b
Reviewed-on: https://dart-review.googlesource.com/19060
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-11-07 19:23:31 +00:00
Konstantin Shcheglov
9755cf6de8
Include public static members of classes in included libraries.
...
Bug:
Change-Id: I03dc21402b5298621086891f82d93fb37f1c0ed4
Reviewed-on: https://dart-review.googlesource.com/18903
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-11-07 01:45:29 +00:00
Samir Jindel
bc9645509e
Revert "Revert "[kernel] Fix NoSuchMethod errors for generic functions.""
...
This un-revert fixes the issues revealed in https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.dart%2Fvm-kernel-mac-release-x64-be%2F2217%2F%2B%2Frecipes%2Fsteps%2Fvm_tests%2F0%2Fstdout .
Patchset 1 contains the original revision unmodified.
This reverts commit 9029ee09c5 .
Bug:
Change-Id: I109c011c2688144b00293ce50b3aad53e018a2f2
Reviewed-on: https://dart-review.googlesource.com/18340
Reviewed-by: Régis Crelier <regis@google.com >
2017-11-06 17:07:38 +00:00
Aske Simon Christensen
306668bf0a
Support syntax error outcome in sdk test suite.
...
Also updated test expectations.
Change-Id: I25fe9f47904beb89b9e18cfafd2e889c6a8106a2
Reviewed-on: https://dart-review.googlesource.com/18800
Reviewed-by: Erik Ernst <eernst@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2017-11-06 12:22:51 +00:00
Paul Berry
cd49cf1201
Insert implicit downcasts for compound assignments.
...
Change-Id: I090594e16fa890864775b2ebc58842d861c134a4
Reviewed-on: https://dart-review.googlesource.com/18517
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-11-03 22:07:10 +00:00
Paul Berry
9ac19f0122
Pass --strong to vm when running front_end testcases in strong mode.
...
Also, stop passing "Hello, World!" as a command line argument when
executing front_end testcases.
Change-Id: I7c3ec6a301537a84bd14e232b5a0d6b8a7bd1914
Reviewed-on: https://dart-review.googlesource.com/18503
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-11-03 18:28:51 +00:00
Dan Rubel
15a0abf956
Fix OutlineBuilder native class and AnalyzerDietListener tests
...
Update the OutlineBuilder and AstBuilder to fix native handling,
and in the process, fix several AnalyzerDietListener tests.
Fix https://github.com/dart-lang/sdk/issues/30836
Change-Id: I7e3b6c4c7d241f1325a5fce1e117e277c6166e49
Reviewed-on: https://dart-review.googlesource.com/18500
Reviewed-by: Paul Berry <paulberry@google.com >
2017-11-03 17:16:51 +00:00
Aske Simon Christensen
e3c11c2703
Retain erroneous import, export and part (of) directives
...
If the URI of a directive is invalid, use a special URI with a
scheme marking it as malformed. In the loader, treat a file with
an invalid URI as empty.
Order all dependencies (imports and exports) by source position to
allow the DietListener to match them up properly with metadata.
For the same reason, add imports and exports within parts to
dependencies even though they are not permitted here.
Closes https://github.com/dart-lang/sdk/issues/30997
Closes https://github.com/dart-lang/sdk/issues/31004
Change-Id: Ic7efd0da058c246531c165508b7474475b4bdad2
Reviewed-on: https://dart-review.googlesource.com/17901
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-11-03 12:55:19 +00:00