Aske Simon Christensen
0c03458717
Reland "Treat most warnings as errors in strong mode."
...
Reland of https://dart-review.googlesource.com/c/sdk/+/29160
Adds a 'severity' field to diagnostic messages and replaces all
addWarning and addNit functions by a generic addProblem, which uses
the intrinsic severity of the message. Eventually, errors should
also be reported this way.
A special severity value maps into either warning or error for Dart 1
and Dart 2, respectively. Most Dart 1 warnings are in this category.
Fixes some 320 failures of DDK test expecting a compile-time error.
These were previously masked by a workaround in the DDC error handler
which has now been removed.
Closes https://github.com/dart-lang/sdk/issues/31286
Change-Id: Id3b3b7f1fc6a101639fc908c90f3ec7d304a7b4b
Reviewed-on: https://dart-review.googlesource.com/32580
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2018-01-08 09:20:02 +00:00
Dmitry Stefantsov
d9f7f81961
Add tests of instantiate to bound in fasta
...
Change-Id: Ie4940c9fda24abcfd038409e993f208a6ba0a94a
Reviewed-on: https://dart-review.googlesource.com/31940
Reviewed-by: Erik Ernst <eernst@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2018-01-08 08:35:22 +00:00
Paul Berry
eeb903499d
Test more for-each downward inference corner cases.
...
Note that the annotation "/*@target=C::aField*/" is duplicated in the
test due to #31790 .
Change-Id: Ie3cf2dea7efb9ae46310ee069a588feb37855201
Reviewed-on: https://dart-review.googlesource.com/32862
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-01-08 02:52:33 +00:00
Konstantin Shcheglov
560fb2998d
Don't add empty leading/trailing strings in multiline strings.
...
Bug:
Change-Id: Ia556ecb8bbffe94808de34340d60cfff74464476
Reviewed-on: https://dart-review.googlesource.com/32520
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-01-05 17:01:49 +00:00
Dmitry Stefantsov
d16eeb5eb8
Use --reify-generic-functions when running strong-mode tests with fasta
...
Change-Id: Ie16f8a8339c5b646d714e7656df4fceb5ff2a500
Reviewed-on: https://dart-review.googlesource.com/32601
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2018-01-05 16:15:48 +00:00
Aske Simon Christensen
f454e8bb35
Correctly parse members called 'native'.
...
In findMemberName(), native directives need only be skipped for getters,
since other member kinds return as soon as the name is found.
Closes https://github.com/dart-lang/sdk/issues/31738
Change-Id: I57fe50f8564c5b5bbb72c84cad9ce640a24b87b9
Reviewed-on: https://dart-review.googlesource.com/32341
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-01-05 09:34:14 +00:00
Paul Berry
879badb850
Implement method type override checking rules in front_end.
...
Test failures introduced by this change have been marked with issue #31616 .
Change-Id: Iddbcedb972b5ad2cf12e3fe588bd38aec76816df
Reviewed-on: https://dart-review.googlesource.com/29742
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-01-04 22:46:26 +00:00
Aske Simon Christensen
5402f02cbc
Revert "Treat most warnings as errors in strong mode."
...
This reverts commit 3303df8102 .
Reason for revert: Tests failing
TBR=ahe@google.com ,askesc@google.com
Change-Id: Ifc8c9def6d134ab1b0c5f094a02a4f57a3581f19
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/32360
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2018-01-04 15:35:17 +00:00
Aske Simon Christensen
3303df8102
Treat most warnings as errors in strong mode.
...
Adds a 'severity' field to diagnostic messages and replaces all
addWarning and addNit functions by a generic addProblem, which uses
the intrinsic severity of the message. Eventually, errors should
also be reported this way.
A special severity value maps into either warning or error for Dart 1
and Dart 2, respectively. Most Dart 1 warnings are in this category.
Fixes some 320 failures of DDK test expecting a compile-time error.
These were previously masked by a workaround in the DDC error handler
which has now been removed.
Closes https://github.com/dart-lang/sdk/issues/31286
Change-Id: I6acea31b8cba7dec8b318e081d28f4eb4ebbf75c
Reviewed-on: https://dart-review.googlesource.com/29160
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-01-04 14:56:46 +00:00
Dmitry Stefantsov
1f3b493dcc
Add simple instantiate-to-bounds algorithm to the common front-end
...
Bug:
Change-Id: I65097b037f4b02f0a161c9c183844a3dc3339c77
Reviewed-on: https://dart-review.googlesource.com/29880
Reviewed-by: Paul Berry <paulberry@google.com >
2018-01-04 11:31:08 +00:00
Kevin Millikin
6fa813d818
Change handling of Kernel static errors
...
Before: Kernel static errors were represented by throwing a distinguished
error or else by calling a distinguished library const constructor.
Now: Kernel static errors are represented by InvalidExpression. To support
error reporting, InvalidExpression has an optional message and a file
offset. A back end can choose to signal these errors at any time; for
example, when deserializing the binary, or when compiling the procedure
containing the static error, or when the erroneous expression is evaluated
at run time.
InvalidStatement is removed because it can be encoded as ExpressionStatement
of InvalidExpression.
Future work:
* supporting static errors where an expression cannot appear in the AST
* allowing InvalidExpression to contain an Expression for error recovery
* adding a top-level list of static errors and warnings to the binary
Bug: https://github.com/dart-lang/sdk/issues/29840
Change-Id: Ifdfe9a76cee6cefed28061bf245be70531d2f413
Reviewed-on: https://dart-review.googlesource.com/31320
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-01-04 11:00:25 +00:00
Paul Berry
15c684bf50
Disable implicit instantiation of call methods.
...
Addresses the performance concern raised in #31746
Change-Id: Iabfb4b871fb7807c0fe625036adfd22d2e6c51ee
Reviewed-on: https://dart-review.googlesource.com/31751
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-01-02 23:15:33 +00:00
Konstantin Shcheglov
57d75d3358
Apply resolution to static field references with import prefixes.
...
Bug:
Change-Id: Ie84c69aea71cd6e5e5c373eba2c4439af524264c
Reviewed-on: https://dart-review.googlesource.com/31747
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-01-02 20:20:06 +00:00
Konstantin Shcheglov
6d5f2f09aa
Apply resolution to function expression invocations.
...
Bug:
Change-Id: I895cf9765664f1e9608ec612e4b1897f42cb9d70
Reviewed-on: https://dart-review.googlesource.com/31881
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-01-02 19:34:23 +00:00
Aske Simon Christensen
de2ce48e17
Finish type variables earlier so their bounds are available when building the program.
...
Check bounds in verifier.
Fixed an inconsistency in the printing of parent nodes in the verifier.
Closes https://github.com/dart-lang/sdk/issues/30838
Closes https://github.com/dart-lang/sdk/issues/31213
Closes https://github.com/dart-lang/sdk/issues/31700
Change-Id: I328ca2c5bfa01a6753a806abd2510c98fa2b7cfe
Reviewed-on: https://dart-review.googlesource.com/22500
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-12-22 11:06:52 +00:00
Aske Simon Christensen
43b1c68803
Error on super as expression
...
Report error when super is used as an expression outside
an initializer. Consolidated some error messages.
Change-Id: Iafaeeeff8a4b72f941925cefcbc832ba47f02a79
Reviewed-on: https://dart-review.googlesource.com/23360
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-12-21 17:25:51 +00:00
Peter von der Ahé
d1543b3986
Don't include .dill artifacts in delta program
...
Change-Id: Ibbcb490cdaca57c600bcf4b9783d889644e8af00
Reviewed-on: https://dart-review.googlesource.com/30822
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2017-12-20 15:58:02 +00:00
Dan Rubel
76f30b99f5
Add fasta parser interpolation expression recovery
...
Change-Id: I45942cf29a86feadcd15fe61432681903658f945
Reviewed-on: https://dart-review.googlesource.com/30360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-18 18:04:46 +00:00
Konstantin Shcheglov
31a0fe292d
Remember import prefix name for static references.
...
Bug:
Change-Id: Ib71a9cc8e6c65d597f24c20c0260f7f37ef3674f
Reviewed-on: https://dart-review.googlesource.com/28541
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2017-12-16 05:09:35 +00:00
Paul Berry
f52cc1b382
Get rid of the clumsy while loop in inferInvocation.
...
See discussion in
https://dart-review.googlesource.com/c/sdk/+/29744/3/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart#892
Change-Id: I7b63269573749a61ff9e211d9df8676eae66b7e7
Reviewed-on: https://dart-review.googlesource.com/30000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-12-15 22:45:53 +00:00
Paul Berry
ae9b0c42d7
Add type inference code to generate Instantiation nodes.
...
Fixes #31586 .
Note that none of the back-ends handle Instantiation nodes yet, so the
language_2 tests added in this CL
(instantiate_tearoff_after_contravariance_check_test,
instantiate_tearoff_of_call_test, and instantiate_tearoff_test) fail
pretty much across the board right now.
Includes two fixes to Instantiation.getStaticType and the kernel type checker:
- Previously, they attempted to perform substitution on the full
function type, which had no effect because the type parameters were
bound.
- The type checker was not checking that type parameter bounds were
satisfied.
Note that the front end doesn't yet check that type parameter bounds
are satisfied by the inferred type parameters. I will address that in
a follow-up CL.
Change-Id: Ib0ad7a5fc5f4a2fdc8c99abe1f2d3d15b21a4974
Reviewed-on: https://dart-review.googlesource.com/29744
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-12-15 20:41:43 +00:00
Peter von der Ahé
7a40a6c3da
Report an error on all classes involved in a cycle
...
Change-Id: I80221caf1f17acfe50b3c77da8e86e1bff54c67f
Reviewed-on: https://dart-review.googlesource.com/28724
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2017-12-14 08:47:25 +00:00
Konstantin Shcheglov
4804108735
Support for more than one variable defined in a statement.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I9c5163099e46639a58487d217c1895b21bbc754d
Reviewed-on: https://dart-review.googlesource.com/29440
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-12-13 22:14:24 +00:00
Konstantin Shcheglov
353e0bdefc
Apply resolution to formals in AstBuilder tests.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I28a045d1e8640a2a447fae6e9f35bfb6db76790a
Reviewed-on: https://dart-review.googlesource.com/28542
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-12 17:42:51 +00:00
Peter von der Ahé
c9026e446e
Pass offset to buildSupertype
...
Change-Id: I4a1cf524e7edbb9bc8d435fbea8a6b4eb440a077
Reviewed-on: https://dart-review.googlesource.com/28302
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2017-12-12 12:22:37 +00:00
Konstantin Shcheglov
5c580dbe21
Remember explicit static get/assign Class and offset.
...
Revert merging ResolutionApplier with ValidatingResolutionApplier.
Bug:
Change-Id: Ie55ebdcb5d63be26720156a28a68f2727ebc96d3
Reviewed-on: https://dart-review.googlesource.com/28380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-11 21:46:13 +00:00
Paul Berry
7b9025b407
Report errors when type inference fails due to a circularity.
...
Change-Id: I48e75d86140483d5f3b9c3ad17e47fe2dfdb722e
Reviewed-on: https://dart-review.googlesource.com/28361
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-12-11 21:24:13 +00:00
Paul Berry
1c6e907fc8
Report errors when type inference fails due to inconsistent overrides.
...
I will have a follow-up CL to cover type inference failures due to
circularities.
Change-Id: I8c9af501c150d4707ad06e6bbcdc3cabdfbf9207
Reviewed-on: https://dart-review.googlesource.com/28180
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2017-12-11 17:02:45 +00:00
Paul Berry
71b5fa86db
Don't invoke type inference listener on synthetic for-in loop assignment.
...
This avoids the need for a clumsy workaround in the analyzer.
Change-Id: I2ee2ec25a7d13ccaccc4f5b817cf2026f4547378
Reviewed-on: https://dart-review.googlesource.com/27962
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-12-09 00:09:50 +00:00
Konstantin Shcheglov
8a510b6df9
Remember explicit static invocation Class and offset.
...
So, on Analyzer side each MethodInvocation with a target has the
reference and the type for this target.
Bug:
Change-Id: I76f142da300910445b3a3fe016fed4d04219e9b6
Reviewed-on: https://dart-review.googlesource.com/26402
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-12-08 18:07:50 +00:00
Konstantin Shcheglov
39b3e79dfe
Apply resolution to CatchClause.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I0203f510802b9b258da608231957c9383f677360
Reviewed-on: https://dart-review.googlesource.com/27503
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2017-12-08 16:56:18 +00:00
Konstantin Shcheglov
31dfab26e2
Fix for applying resolution to MapLiteral.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: Icc213c310ae49ac315ed6772f88a16337d441475
Reviewed-on: https://dart-review.googlesource.com/27410
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-12-08 05:53:49 +00:00
Paul Berry
12dc862d9e
When type inferring closures, change Null arguments to Object.
...
Fixes #31546 .
Change-Id: I1c69947f4589b6901ac11b2e6c9f6c3624678ad4
Reviewed-on: https://dart-review.googlesource.com/27411
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-12-08 00:05:39 +00:00
Paul Berry
d35f6c79cd
Set PropertySet.dispatchCategory.
...
Fixes #31437 .
Change-Id: I9ba84f8a3660e6bbd4dd86761b8f03cd3b414c00
Reviewed-on: https://dart-review.googlesource.com/27086
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-12-07 17:24:39 +00:00
Peter von der Ahé
e66e6d9dec
Compile all edits.
...
Change-Id: I534ce73bf63c0185aa7add2381a8fa418d10bfa8
Reviewed-on: https://dart-review.googlesource.com/27161
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2017-12-07 13:56:45 +00:00
Paul Berry
b75502513a
Fix type inference of closures using '=>' syntax.
...
This CL fixes type inference of closures using '=>' syntax so that
they infer consistently with an equivalent closure defined using block
syntax ('{}').
Fixes #31436 .
Change-Id: I5463dd0ba986e9953ebabbc24ce3ced9a7220007
Reviewed-on: https://dart-review.googlesource.com/27084
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-12-07 04:52:10 +00:00
Paul Berry
5710de9c78
Do assignability checks on return/yield using the greatest closure of the context.
...
Without this fix, there is a risk that the unknown type ("?") will
leak into kernel code via the "as" expression inserted for an implicit
downcast.
Change-Id: Iea7276c8489eff80fe32f33e53efd42571c94a89
Reviewed-on: https://dart-review.googlesource.com/26861
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-12-06 22:41:50 +00:00
Konstantin Shcheglov
94907f1aea
Apply resolution to FunctionExpression.
...
Bug:
Change-Id: Iaa8c4b31800fdb9d5a4613417a6076c3af683c6a
Reviewed-on: https://dart-review.googlesource.com/26721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-06 20:41:40 +00:00
Paul Berry
115d54f0b4
Implement strong mode "invalid cast" rules.
...
When an implicit cast can be proven by the front end to always fail,
due to the form of the expression being cast, the front end now
reports this as a compile-time error. (This feature is not new--it is
part of the analyzer's implementation of strong mode).
Newly failing tests are marked with issue #31537 .
Change-Id: Ib3fc068352bb91dd283fa4b81d8104fa213eafe9
Reviewed-on: https://dart-review.googlesource.com/26420
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2017-12-06 20:01:02 +00:00
Brian Wilkerson
597c9705ab
Copy resolution data for cascades
...
Change-Id: I01b95f5e0b118c56c8af596d5eae919abb40a086
Reviewed-on: https://dart-review.googlesource.com/26680
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-06 18:35:35 +00:00
Paul Berry
e3308c2023
Fix overzealous inference of setter parameter types.
...
Previous to this CL, if a setter had an implicit return type, we
inferred both the return type of the setter and the parameter type,
even if the parameter type was specified.
Change-Id: I24ca8ceddbe021f0d779ffcad4bc63052ed5d87b
Reviewed-on: https://dart-review.googlesource.com/26565
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2017-12-06 13:59:14 +00:00
Konstantin Shcheglov
ef7a229264
Apply resolution to 'is!'.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I8d805c4bd46446005880ea271c2baac5f6c99bda
Reviewed-on: https://dart-review.googlesource.com/26560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-06 06:00:13 +00:00
Konstantin Shcheglov
f358176e57
Check that the target of IndexExpression has InterfaceType.
...
It should be, but in ast_builder tests it is not.
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I98390b020100a4e17e9930c3796981b83965aeb3
Reviewed-on: https://dart-review.googlesource.com/26562
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-06 06:00:03 +00:00
Konstantin Shcheglov
5c56e6d1cc
Apply resolution to default values of optional formal parameters.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: Icbb5c20be4a2dafc3fdc49a36590cace706c82ee
Reviewed-on: https://dart-review.googlesource.com/26463
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-05 23:50:16 +00:00
Sigmund Cherem
a10da3ae66
Copy typedef reference when doing operations on function types (like substitutions)
...
Closes #31521
Bug: https://github.com/dart-lang/sdk/issues/31521
Change-Id: I045974823257cc4e43e3ba348757781a409b92ff
Reviewed-on: https://dart-review.googlesource.com/25722
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2017-12-05 19:12:38 +00:00
Konstantin Shcheglov
1c003c8967
Apply resolution to binary logical expressions.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I96f01f5e19696b43bdd58c2eca5866d6af7c08ee
Reviewed-on: https://dart-review.googlesource.com/26322
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2017-12-05 18:26:10 +00:00
Konstantin Shcheglov
6bb1d1a93e
Set AdjacentStrings type to String.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I5a2fa448a2e38946bb9310e4240fbe996efb3adc
Reviewed-on: https://dart-review.googlesource.com/26140
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-05 16:20:52 +00:00
Konstantin Shcheglov
401bdbeb06
Apply resolution to ForEachStatement.
...
Only the case with declared loop variable.
Using externally decalred identifier requires avoiding storing
resolution for ShadowLoopAssignmentStatement while performing inference.
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: Iec7ab7621d9c7deb3971921731e9115b55aa5b86
Reviewed-on: https://dart-review.googlesource.com/26160
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-05 05:45:41 +00:00
Konstantin Shcheglov
ca4b1fcdc3
Use offsets to distinguish StaticGet and PropertyGet for Analyzer's PrefixedIdentifier.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: I458facf24099d25a1a0d3632acf1ee562930cec5
Reviewed-on: https://dart-review.googlesource.com/26080
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2017-12-05 01:49:34 +00:00
Konstantin Shcheglov
93a6d43f31
Apply resolution to 'a ?? b'.
...
R=brianwilkerson@google.com , paulberry@google.com
Bug:
Change-Id: If0a6c91c99af10992a1cc3465bf1f954c8baca39
Reviewed-on: https://dart-review.googlesource.com/26082
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2017-12-05 00:23:56 +00:00