Commit Graph

3345 Commits

Author SHA1 Message Date
Brian Wilkerson cf30a28ca1 Map UnexpectedDollarInString to an analyzer error code
Change-Id: Iee398e4a9490be83e352c6610bfadc90ae03936e
Reviewed-on: https://dart-review.googlesource.com/64242
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-09 22:55:57 +00:00
Konstantin Shcheglov 25969b2af3 Store resolution for abstract class constructor invocation.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I8973a93550cb7718070a478c26747c88176f60f7
Reviewed-on: https://dart-review.googlesource.com/64160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-09 19:11:14 +00:00
Brian Wilkerson ed0ccc7ac9 Add more error message mappings
Change-Id: I5511ba2404ca3a430c6fda35b5e79a14eceb1188
Reviewed-on: https://dart-review.googlesource.com/63961
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-09 16:38:08 +00:00
Brian Wilkerson f0560a8d66 Add error code ArgumentTypeNotAssignable to improve messaging (issue 33712)
Change-Id: I9a6e039efdf396f838ae99926877658f5570e380
Reviewed-on: https://dart-review.googlesource.com/63960
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-09 16:35:48 +00:00
Jens Johansen ac05595889 Memory file system returns Uint8List from readAsBytes
Before this CL the memory file system would return a list - not a
Uint8List - when answering `readAsBytes`.
This for instance caused the ~5.5MB kernel platform file to take up
~42.5 MB of memory (at least on a 64 bit linux system).

This CL changes that to return a Uint8List, saving ~37 MB of memory
when using the kernel platform file, as for instance done when running a
dart file with the VM.

Change-Id: I5e44c342c89e6293684614c1d0b357cc3a4936d6
Reviewed-on: https://dart-review.googlesource.com/63949
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-07-09 10:56:05 +00:00
Dmitry Stefantsov aa6dc1e2d5 [fasta] Resolve redirecting factories invocations after bodies are built
Fixes #32130

Bug: http://dartbug.com/32130
Change-Id: I6773bdf71de3887911daa42bd6ea5bf16052cf35
Reviewed-on: https://dart-review.googlesource.com/63826
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-07-06 09:06:56 +00:00
Peter von der Ahé 149c5a0e0e Improve formatting of errors in golden files
Change-Id: I72930f0785b4b451c23e9cd2ebed2fa8290df760
Reviewed-on: https://dart-review.googlesource.com/63840
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-05 13:42:42 +00:00
Dmitry Stefantsov 7570fb86f2 [fasta] Set parent of annotations in BodyBuilder.finishMetadata.
Change-Id: Iffd063860fb0ecf58f6001688547436690810281
Reviewed-on: https://dart-review.googlesource.com/62820
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-07-05 13:06:19 +00:00
Brian Wilkerson 4c789e9c09 Support the instantiation of abstract constructors
Change-Id: Icc9a06dce056c9ca12bcf5b8c82593c72e9ccd2c
Reviewed-on: https://dart-review.googlesource.com/63480
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-03 19:53:54 +00:00
Paul Berry 287615986c Resolve arguments and type arguments for unresolved invocations.
Change-Id: I1e78a7e158c3d02d14284005b4a08c7488755f1f
Reviewed-on: https://dart-review.googlesource.com/63601
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-03 16:18:16 +00:00
danrubel c99268feb9 Replace handleUnrecoverableError with handleRecoverableError
... in several places, and remove unused code including:

* handleUnrecoverableError event
* newSyntheticToken in listeners
* RecoveryListener class

Change-Id: I2f97cbb96570f885a0cfd1d57b237612be6aab3b
Reviewed-on: https://dart-review.googlesource.com/63462
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-03 14:58:08 +00:00
Paul Berry db7085a292 Rename UnresolvedTargetInvocation.
I added this class recently and forgot to include the "Judgment" nomenclature.

Change-Id: Idab3987ea5dbee50039f36907266bf346558f35b
Reviewed-on: https://dart-review.googlesource.com/63600
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-03 13:25:36 +00:00
danrubel adb4b4af2c Remove another call to handleUnrecoverableError
Change-Id: I482a29c806716dd658d09ff53a203fbdeb0b8f7a
Reviewed-on: https://dart-review.googlesource.com/63461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-02 22:21:06 +00:00
danrubel e16f5781fe Replace and remove reportUnexpectedToken and reportUnrecoverableErrorWithToken
Change-Id: Ib0432f037b4207ad1a109c5bca8773c7bf2709ac
Reviewed-on: https://dart-review.googlesource.com/63460
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-02 20:03:18 +00:00
Paul Berry b8a70f0471 Analyzer/FE integration of unresolved static method calls.
Change-Id: Ia1e1e29d5b00c8adc6cc34e08158757fc6812759
Reviewed-on: https://dart-review.googlesource.com/63445
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-02 19:56:53 +00:00
Dan Rubel ee5fd81a93 Remove parser "synthetic_identifier_<#>"
This should fix https://github.com/dart-lang/sdk/issues/33157

Change-Id: I372d8b3f57388dea4e58673e4212fa69cfff2e72
Reviewed-on: https://dart-review.googlesource.com/63180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-02 17:51:15 +00:00
Brian Wilkerson 3be6fdb219 Convert more error codes
Change-Id: I7ee8040d99f8047a1ccdd2bdf217b32f36409ba9
Reviewed-on: https://dart-review.googlesource.com/63363
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-02 17:43:13 +00:00
Konstantin Shcheglov f385664e4b Store unresolved assignments as UnresolvedVariableAssignmentJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I4738ba450b1f7e7cab794bdc34a88996d1d827b3
Reviewed-on: https://dart-review.googlesource.com/63360
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-02 17:14:28 +00:00
Dmitry Stefantsov c98c92f800 [fasta] Fix default argument values in noSuchMethod forwarders
Fixes #33459

Bug: http://dartbug.com/33459
Change-Id: I194535d8d8893429ee0e6870c35e7b9ec84dde5c
Reviewed-on: https://dart-review.googlesource.com/62808
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-07-02 15:37:03 +00:00
danrubel 5953e62c69 Improve parse literal string recovery
This fixes another fasta parser exception
and improves recovery when parsing string literals.

Change-Id: I704b7fcb9dcb2cd01e75623a179f95e6097ccec4
Reviewed-on: https://dart-review.googlesource.com/63000
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-02 14:58:45 +00:00
Peter von der Ahé 1c6ae7742c Remove deprecated_toMessage
Change-Id: I8d55dd3f4800e503dc04715aed459287d2573f6d
Reviewed-on: https://dart-review.googlesource.com/63140
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-07-02 13:38:43 +00:00
Peter von der Ahé 0615b031b5 Debug abort without deprecation
Change-Id: Ia55f7c2ff302d5e58aaed110e5eb88cdffc7d1a9
Reviewed-on: https://dart-review.googlesource.com/63120
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-02 12:48:54 +00:00
Konstantin Shcheglov 201fb2833c Don't report duplicate errors when CFE already reports them.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33674
Change-Id: Ia8e0ef74e333fbd99f615aa87629ca20de08af07
Reviewed-on: https://dart-review.googlesource.com/63362
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-01 22:43:05 +00:00
Konstantin Shcheglov 636dfc05c6 Record unresolved identifiers as UnresolvedVariableGetJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I7a4a09d7f83cb6a2441037d37ee080bd113a3ab0
Reviewed-on: https://dart-review.googlesource.com/63265
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-30 02:03:11 +00:00
Paul Berry c9cec8ed89 Fix analyzer/FE integration of more invalid assignment cases.
Fixes #33694.

Change-Id: I693c3b64265f9c140da7b6cdde7f66400665272c
Reviewed-on: https://dart-review.googlesource.com/63324
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-30 00:12:24 +00:00
Stephen Adams 714dbc3e81 Fix dart2js batch mode memory leak
The CompilerOptions.onError closure indirectly referenced the previous
CompilerOptions object. The onError closure also referenced most of
the dart2js state. This in effect made a linked-list of the dart2js
compilations.

Change-Id: Ibb4f514fc7be5a4d2fb4453e41631f064c0bf0d6
Reviewed-on: https://dart-review.googlesource.com/63321
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-06-30 00:04:19 +00:00
Paul Berry 972c0d5f91 Make more use of the binder mechanism in ResolutionStorer.
This CL changes the methods variableAssign and forInStatement to use
the binder mechanism.  The old type parameter "Declaration" is now no
longer needed.

Change-Id: I3e0c9076fd6c29cd8473955696cef2687f3d4073
Reviewed-on: https://dart-review.googlesource.com/63322
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-30 00:00:39 +00:00
Paul Berry c995811ff2 Analyzer/FE integration for writes to read-only variables.
Previously, when the user attempted to write to a read-only variable,
the front end creates a SyntheticExpressionJudgment to represent the
write.  This CL changes it to a new class,
InvalidVariableWriteJudgment, whose `infer` method sends the
appropriate resolution information to the analyzer.  Also, it ensures
that inference is performed on the RHS of the assignment, so that it
gets resolved too.

Partially addresses #33694.

Change-Id: I56b12e5082434ca8569d15df1b01e5aaad8f0a7d
Reviewed-on: https://dart-review.googlesource.com/63160
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-06-29 22:51:19 +00:00
Brian Wilkerson 62ecfb03f4 Translate ImplicitCallOfNonMethod to an analyzer message
Change-Id: Iddbdc07748999feb64b5f7462ff60d1768740937
Reviewed-on: https://dart-review.googlesource.com/63269
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-06-29 22:29:59 +00:00
Alexander Aprelev 860689052a [frontend] When creating nested Scope, make setter mutable map.
This fixes dartbug.com/33087 that is caused by the fact setter map is defined as const, i.e. as immutable.

Bug: dartbug.com/33087
Change-Id: I311869e1a3f3889346b8b7f01c184f0cf3c8694a
Reviewed-on: https://dart-review.googlesource.com/62729
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-06-29 14:50:08 +00:00
Peter von der Ahé 0f0a1aad62 Add comment about fast case
Change-Id: I86f473be48ad340f1e0d89c8a77e498bd3c9e528
Reviewed-on: https://dart-review.googlesource.com/63109
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-06-29 14:31:28 +00:00
Peter von der Ahé ebd5e40827 Crash handling helper
Change-Id: I74c3ee61b8930c15e3ad04df1ca0238619124323
Reviewed-on: https://dart-review.googlesource.com/63108
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 13:43:40 +00:00
Peter von der Ahé 29091500f0 Move crash reporting to own file
Change-Id: I9031458aa60ba4ee5b4b1594912f64c35ff6b8be
Reviewed-on: https://dart-review.googlesource.com/63105
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 11:22:28 +00:00
Peter von der Ahé e026293e8f Clean up internal messages
Change-Id: Ib12fe016179a9846fc192904e9a63877fbb1908f
Reviewed-on: https://dart-review.googlesource.com/63102
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 11:14:20 +00:00
Peter von der Ahé 1d97cb21d2 Remove severityName
Change-Id: I7c7b6581a54889fd04b597ebe11cfb4adac870c8
Reviewed-on: https://dart-review.googlesource.com/63100
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-06-29 11:14:20 +00:00
Peter von der Ahé b54973fff7 Check tool folder for problems
Also, complain about "deprecated" without underscore, as used,
for example, in pkg/front_end/tool/_fasta/command_line.dart.

Change-Id: Ica3b49a9d91c1176ec3bab5de6fd6811d38f69af
Reviewed-on: https://dart-review.googlesource.com/63080
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-06-29 11:14:20 +00:00
Peter von der Ahé 63f459c83d Clean up ProcessedOptions.report
Change-Id: I66feebd50bbd5ed15e8c01ab03b750ca8e3837e5
Reviewed-on: https://dart-review.googlesource.com/63060
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 09:34:19 +00:00
Peter von der Ahé 6df580420b Handle prefixes with generators
Change-Id: I05de9cd8a743483b21ca1ec8508b5301a8d6b7f9
Reviewed-on: https://dart-review.googlesource.com/62526
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 08:54:21 +00:00
Peter von der Ahé 1ea5542492 Remove Listener.recoverableErrors
Change-Id: Ie8683b482c7a1dcf2369c3784185a447c1546dce
Reviewed-on: https://dart-review.googlesource.com/62560
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-06-29 08:05:52 +00:00
Peter von der Ahé ea07157a0f Allow top-level method named library
Change-Id: I52ac5bcd38198c1b060cd9223828f59b7e9199f8
Reviewed-on: https://dart-review.googlesource.com/62807
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 05:49:53 +00:00
Konstantin Shcheglov cf4313c14e Throw exception if CompilationMessage cannot be translated to a Analyzer ErrorCode.
Fixes some of the new failures in unit tests.

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

Change-Id: I39d132fa6c71dd8e5a492ed8dbcbea4cb6c0dac6
Reviewed-on: https://dart-review.googlesource.com/62960
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-29 00:13:08 +00:00
danrubel 10a6a94705 Improve chained as/is expression recovery
... and remove unused token from handleIsOperator and handleAsOperator events

Change-Id: Ie328dafd58b998b8c3d08bf3288c014c87c04a5e
Reviewed-on: https://dart-review.googlesource.com/62740
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-28 21:02:58 +00:00
Aske Simon Christensen 90e27b19ea Check for conflicts between a static setter and a constructor or static method.
Bug: https://github.com/dart-lang/sdk/issues/33237
Change-Id: I44c69f32039de9b024c942706e96bf1998217350
Reviewed-on: https://dart-review.googlesource.com/60583
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-06-28 11:47:33 +00:00
Kevin Millikin b0cbc4e9cd Fix a bug in top-level type inference dependency tracking
When there was a top-level type inference dependency from a declared
field to an overridden getter or setter, the dependency was not
recorded in the field.  This caused initializing formals to sometimes
fail to infer the field type, because they did not see that it needed
to be inferred.

Fixes https://github.com/dart-lang/sdk/issues/32866

Change-Id: If75658d087c099787f74af5f5c6db2ee6837febe
Reviewed-on: https://dart-review.googlesource.com/62800
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-06-28 11:47:24 +00:00
Aske Simon Christensen bd9aa5139a Error on cyclic constructor redirect.
Fixes https://github.com/dart-lang/sdk/issues/30856

Change-Id: Ib0cb851904fdcb12fff11bae92fe177739fe793f
Reviewed-on: https://dart-review.googlesource.com/60429
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-06-28 10:37:23 +00:00
Peter von der Ahé 1a6c857a93 Remove ExpressionGenerator.buildThrowNoSuchMethodError
Change-Id: I70642c057bf84e6c5c9c4b514f5ec9e626177dce
Reviewed-on: https://dart-review.googlesource.com/62525
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-28 09:50:15 +00:00
Peter von der Ahé c53746fc8a Add lexeme2 template key
Change-Id: Ifacd921627f40559003378e1c0a33b7a27cf2e2c
Reviewed-on: https://dart-review.googlesource.com/62524
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-06-28 09:50:15 +00:00
Peter von der Ahé 2f739fd7d9 Default implementation of _makeRead and _makeWrite
Change-Id: I8c3dc819697857c0b48211b5374ba5229c79a0a7
Reviewed-on: https://dart-review.googlesource.com/62523
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-06-28 09:50:15 +00:00
Peter von der Ahé 36b22c7ae9 Remove unused files
Also remove deprecation-clean file from rewrite_severity.dart.

Change-Id: I2b93ba3ca1648e797af115b2615971ec0ef89074
Reviewed-on: https://dart-review.googlesource.com/62520
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-06-28 09:50:15 +00:00
Konstantin Shcheglov fc472e03da Don't store resolution for desugaring generated NotJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ic1eac64b6db300f1d7fbb29dee0abec85d411248
Reviewed-on: https://dart-review.googlesource.com/62712
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-28 00:13:03 +00:00