Commit Graph

4276 Commits

Author SHA1 Message Date
Konstantin Shcheglov e83239d213 Use vm_platform_strong.dill for Analyzer.
We decided that Analyzer + FrontEnd == strong mode only.
So, we need to use strong mode platform.

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

Bug:
Change-Id: I5934aec69cf8d7fc7fd28257ec5b5e8e46682f7b
Reviewed-on: https://dart-review.googlesource.com/17045
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-10-27 21:51:18 +00:00
Samir Jindel 031a7ffe41 [kernel] Improve Enum representation.
Dart2JS and the VM prefer for Enum names to be stored inline in the Enum
object to avoid having the static array of all Enum values. A base class
for Enums is provided to avoid repeating the common fields and accessors
between Enum definitions.

Bug:
Change-Id: I783f863015b45f13317fda06e627d14844fe2ddf
Reviewed-on: https://dart-review.googlesource.com/16526
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-27 12:10:53 +00:00
Dan Rubel 54f22f1a03 Improve error recovery for fields.
Change-Id: I5e44cc220f67f4daa9c5339c3afea9c5f2f48bcd
Reviewed-on: https://dart-review.googlesource.com/16721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-27 03:02:40 +00:00
Konstantin Shcheglov ffadd1ed3d When running analyzer_cli with --preview-dart-2, load SDK from vm_outline.dill.
We need this to be able to access classes that are required by Fasta,
but come from VM patches.

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

Bug:
Change-Id: I4d29e1dca42e016446516a2dab0fae138cb74548
Reviewed-on: https://dart-review.googlesource.com/16863
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-26 23:34:18 +00:00
Dan Rubel a02662c47e improve errors and recovery for factory methods
Change-Id: I55711bdb0f98c0747c7055bebda173702c2c138f
Reviewed-on: https://dart-review.googlesource.com/16720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-26 21:21:00 +00:00
Brian Wilkerson 5b6260ce13 Add support for reporting errors that span multiple tokens
Change-Id: I257225465d79e1831392af14d98e0799f0a8b184
Reviewed-on: https://dart-review.googlesource.com/16660
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-25 21:19:58 +00:00
Brian Wilkerson b8f870c524 Add support for testing the highlight range of errors
Change-Id: I077ee8318756450271b68c70ed304807a1dfb240
Reviewed-on: https://dart-review.googlesource.com/16640
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-25 20:00:26 +00:00
Konstantin Shcheglov 68cdf931ae Resolved comment references to elements of GenericTypeAlias.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/linter/issues/779
Change-Id: I6da1d7d740db6d6a53706ba1f1f26561e836a579
Reviewed-on: https://dart-review.googlesource.com/16620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-25 19:51:47 +00:00
Brian Wilkerson 39bfbfe060 Fix the offset used when adjusting tokens
Change-Id: Ibf4c7a39fff8e51853037b3d41f0f7587794acfc
Reviewed-on: https://dart-review.googlesource.com/16580
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-25 18:47:26 +00:00
Brian Wilkerson f6455328b8 Pass length information to listeners when reporting errors
Change-Id: I786cfcaa5631b817c56bb7b68b3bcc440d055344
Reviewed-on: https://dart-review.googlesource.com/16340
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-25 14:15:29 +00:00
Konstantin Shcheglov ccbed2d33c Parse metadata for part directives and resynthesize in Analyzer.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug: https://github.com/dart-lang/sdk/issues/30284
Change-Id: Id869144a6fce170dbc74b0595b545238595be84d
Reviewed-on: https://dart-review.googlesource.com/15983
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-10-24 19:40:08 +00:00
Dan Rubel dde9eb69a9 add handleInvalidMember to improve recovery
* add handleInvalidMember event
* update NodeListener to track invalidMemberCount
* update ClassMethodModifierContext to trigger handleInvalidMember
  event, reducing number of superflous errors.

Also, address comment
https://dart-review.googlesource.com/c/sdk/+/16040/1/pkg/analyzer/lib/src/fasta/ast_builder.dart#1580
Change-Id: I4c630faeee7731e2f85bbfaf0a6790bf6f4382b3
Reviewed-on: https://dart-review.googlesource.com/16100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-10-24 02:58:28 +00:00
Dan Rubel c94956d721 rework AstBuilder to cache class declaration
With this change, AstBuilder no longer relies on the memberCount
parameter in the endClassBody event, making it easier to implement
handleInvalidMember in a subsequent CL.

* Cache the class declaration being built rather than just the name

* Append members directly to classDeclaration.members rather than
  pushing them on the stack

Change-Id: I3d8cf5c48d2aba28b9b7d96140c3d04d4e0b6e98
Reviewed-on: https://dart-review.googlesource.com/16040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-10-23 21:35:52 +00:00
Brian Wilkerson 9575182790 Pass the period in field formal parameters to listeners to enable recovery
Change-Id: I04975f3fb1aeb3b3b6b842e3373a792f13a91685
Reviewed-on: https://dart-review.googlesource.com/16000
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-23 20:57:00 +00:00
Brian Wilkerson 6d11a2e3b4 Explicitly pass the colon following the default case in a switch to allow better recovery
Change-Id: I7e39727e1dd0a005e8e6ed565ec16cc8c503d049
Reviewed-on: https://dart-review.googlesource.com/15960
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-23 20:55:29 +00:00
Brian Wilkerson 930d4317cd Enable the assert in AstBuilder.handleIdentifier
Change-Id: I1d33efd5d0ff2f0c0e3625de7787217de4ccba26
Reviewed-on: https://dart-review.googlesource.com/15900
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-10-23 18:08:18 +00:00
Brian Wilkerson f4477e1437 Split an index operator into two brackets when using it for an empty list literal
Change-Id: Idd4d64e19f21dc7c9fd7f56bb7ea607556f54090
Reviewed-on: https://dart-review.googlesource.com/15700
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-20 21:14:33 +00:00
Brian Wilkerson 7932a17557 Recover from having a missing closing bracket in an index expression
Change-Id: I2fa44b001cf3b72f21a9c3b5859e41d0ecdd7ad3
Reviewed-on: https://dart-review.googlesource.com/15680
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-20 21:06:59 +00:00
Brian Wilkerson bf6f398ef8 Make minus a valid prefix operator
Change-Id: Id741a5b1c753f564b54b4fd3d47cd90162a182c9
Reviewed-on: https://dart-review.googlesource.com/15660
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-20 21:06:29 +00:00
Brian Wilkerson fc85ebed79 Finish adding asserts to AstBuilder
Change-Id: I46b14fa916ad175598e4b10cac868841065ccf3a
Reviewed-on: https://dart-review.googlesource.com/15580
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-20 17:01:19 +00:00
Leaf Petersen dd17a4c7f7 Alpha-vary generic function types before performing inference.
Generic function types were not previously renamed before using them
for inference, which resulted in capture problems when doing inference
on recursive generic method invocations.

Fixes #30980

Bug:
Change-Id: I1c610606dd65d86735cb615e077d720066a85e1a
Reviewed-on: https://dart-review.googlesource.com/15040
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2017-10-19 19:26:07 +00:00
Konstantin Shcheglov 3fedd483f3 Parse metadata for import/export directives and resynthesize in Analyzer.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug: https://github.com/dart-lang/sdk/issues/30284
Change-Id: I57af6f4d58b6de39f13b9656af25f0be6949cf79
Reviewed-on: https://dart-review.googlesource.com/14363
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-19 16:35:17 +00:00
Brian Wilkerson 1dba93ca09 Start adding assertions to AstBuilder
Change-Id: If979a7bda1f1482a779e6ef626c048cfbe0c2eb0
Reviewed-on: https://dart-review.googlesource.com/14960
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-19 16:26:36 +00:00
Brian Wilkerson e8fd094b69 Recover from missing the formal parameters in a typedef
Change-Id: Ibb0e7d7c84116b2b20b56eb95000a0de37ad0bb7
Reviewed-on: https://dart-review.googlesource.com/14300
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-19 13:47:46 +00:00
Konstantin Shcheglov aab22a8f9b When analyzer_cli is given --preview-dart-2, use KernelDriver.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ibde08b9732c3e750cf78bd0af48cfa3ef17fa4a4
Reviewed-on: https://dart-review.googlesource.com/14881
Reviewed-by: Paul Berry <paulberry@google.com>
2017-10-18 19:35:41 +00:00
Brian Wilkerson 26b04e205a Generate an error when positional arguments are found after named arguments
Change-Id: Ic3cd913889e273a4efbd5a4e263625171aeb63e4
Reviewed-on: https://dart-review.googlesource.com/14560
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-18 19:17:12 +00:00
Brian Wilkerson dc75e65afa Recover from missing parentheses in control structures
Change-Id: I644ee3ec3d941c83f1634b86023f4b68cce7e1d9
Reviewed-on: https://dart-review.googlesource.com/14600
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-18 17:08:26 +00:00
Konstantin Shcheglov 7b376a6a0f Store relative URIs in LibraryPart(s).
Fix Analyzer resynthesizer to handle these relative URIs.
I hope that this will fix the exception in the reverted CL.

R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Icd5e2707a23fa294bac152da38a2340912814131
Reviewed-on: https://dart-review.googlesource.com/14620
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-18 15:05:35 +00:00
Konstantin Shcheglov c3a76ed636 Move all documentation comments into metadata.
R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I05382fe275e7a3a0f18128508d30fe1438adffc4
Reviewed-on: https://dart-review.googlesource.com/14623
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-18 14:48:56 +00:00
Dan Rubel d11fb5ba20 Improve class method modifier recovery and error messages
This streamlines checks for valid methods modifiers in fasta
and improves recovery and error messages when method modifiers
are out of order or invalid.

Change-Id: I045cc4d7cc15945354abe49827a770d346d234a3
Reviewed-on: https://dart-review.googlesource.com/14360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-10-18 01:30:55 +00:00
Samir Jindel d794eb3330 [kernel] No metadata for types.
Since 'DartType's overload equality with a structural comparison, we cannot
store metadata for them in a 'Map', as is done for 'TreeNode's. Since there is
no use-case yet for storing metadata on types, we remove this ability and the
restrict the metadata test.

Bug:
Change-Id: I825f55a5fd48da2c615b3154f909dd666baf5a33
Reviewed-on: https://dart-review.googlesource.com/14640
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-10-17 23:44:35 +00:00
Konstantin Shcheglov c625d5ca92 Use single KernelDriver instance for AnalysisDriver.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I2f2ed8a833ea833ede15dfa8b53b5e7cbb1e0156
Reviewed-on: https://dart-review.googlesource.com/14506
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-17 20:16:24 +00:00
Konstantin Shcheglov 0dbc39cb5f Revert "When analyzer_cli is given --preview-dart-2, use KernelDriver."
This reverts commit 7d28e6fc21.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> When analyzer_cli is given --preview-dart-2, use KernelDriver.
> 
> R=​brianwilkerson@google.com, paulberry@google.com
> 
> Bug:
> Change-Id: I91484f906a691fba80917f8fd8ec1c0628c0815f
> Reviewed-on: https://dart-review.googlesource.com/14505
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com

Change-Id: Ib440303cd82d6ebb14ef7d14efdb6b535cc0bf88
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/14580
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-17 19:06:11 +00:00
Konstantin Shcheglov 7d28e6fc21 When analyzer_cli is given --preview-dart-2, use KernelDriver.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I91484f906a691fba80917f8fd8ec1c0628c0815f
Reviewed-on: https://dart-review.googlesource.com/14505
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-17 18:10:04 +00:00
Aske Simon Christensen 8a2a9e4622 Reland "Error on setter having not exactly one parameter"
Rewrite setter with invalid parameters into one with one parameter
and a body throwing a compile-time error.

Some analyzer tests fail until we sort out the expected form of the
generated kernel code in situations like this. This is tracked in
https://github.com/dart-lang/sdk/issues/31096

Closes https://github.com/dart-lang/sdk/issues/31069
Original CL: https://dart-review.googlesource.com/13080

Change-Id: I432240c33d6daf0ec6bfe2b73c609ab4762cda8c
Reviewed-on: https://dart-review.googlesource.com/14381
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2017-10-17 13:16:30 +00:00
Brian Wilkerson 55a440a6ee Report finding multiple library directives
Change-Id: If0e4441ddf7fd8db1b765ba6f06f56fdf3ce3106
Reviewed-on: https://dart-review.googlesource.com/14181
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 23:18:42 +00:00
Brian Wilkerson 26b3ae56df Fix another mis-associated error code
Change-Id: I466e0f276abde105be975d7d5851d1c3b56f4d56
Reviewed-on: https://dart-review.googlesource.com/14140
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 20:59:10 +00:00
Brian Wilkerson 04a2fdb57b Fix mis-associated error code and stop producing multiple errors in one case
Change-Id: I38f8edfacd9176edca7b9627d4a8aaa261b6269f
Reviewed-on: https://dart-review.googlesource.com/14100
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 20:58:29 +00:00
Konstantin Shcheglov 87410835d6 Resynthesize LibraryElement annotations from Kernel.
R=brianwilkerson@google.com

Bug:
Change-Id: I6ba30eff022d6a46fd7a19c887d13ebde243ce03
Reviewed-on: https://dart-review.googlesource.com/14121
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 20:26:08 +00:00
Konstantin Shcheglov bd49ff15bf Record constructor name offset in metadata.
This fixes 70 Analyzer tests.

R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: If7e3fa948aa67712eab5533b083757a75a981e14
Reviewed-on: https://dart-review.googlesource.com/13926
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-16 18:29:37 +00:00
Konstantin Shcheglov 462542b734 Report UNUSED_ELEMENT for top-level variables.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/25323
Change-Id: I751ee82742ff622a9b28b3cb05886b5ee775f9ed
Reviewed-on: https://dart-review.googlesource.com/13929
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-16 17:44:06 +00:00
Martin Kustermann 25dc42f5d8 Revert "Error on setter having not exactly one parameter"
This reverts commit 4bb83e9311
This reverts commit f1b07b2789.

Reason for revert on analyzer bots:

    Analyzing pkg/analyzer...
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:625:9 • undefined_identifier
      error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:625:18 • undefined_identifier
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:626:13 • undefined_identifier
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:635:9 • undefined_identifier
      error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:635:18 • undefined_identifier
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:636:13 • undefined_identifier
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:645:9 • undefined_identifier
      error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:645:18 • undefined_identifier
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:646:13 • undefined_identifier
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:655:9 • undefined_identifier
      error • Undefined name 'CompileTimeErrorCode' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:655:18 • undefined_identifier
      error • Undefined name 'source' at pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart:656:13 • undefined_identifier
    12 errors found.

Change-Id: Ie2035bf40e50c48f85b514c7a3786141cd0f2453
Reviewed-on: https://dart-review.googlesource.com/14061
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-10-16 16:32:13 +00:00
Dan Rubel 5da015187e Improve top level method modifier recovery
This updates the fasta parser to report additional analyzer errors
and improves recovery when parsing top level method modifiers.

Change-Id: If863011f6d9a33b366d621bc708c0cc25922ddb9
Reviewed-on: https://dart-review.googlesource.com/14000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-10-16 16:06:55 +00:00
Aske Simon Christensen f1b07b2789 Error on setter having not exactly one parameter
Rewrite setter with invalid parameters into one with one parameter
and a body throwing a compile-time error.

Some analyzer tests fail until we sort out the expected form of the
generated kernel code in situations like this. This is tracked in
https://github.com/dart-lang/sdk/issues/31096

Closes https://github.com/dart-lang/sdk/issues/31069
Change-Id: I65033709813671ecb933e6a4dc00d1ff3b504661
Reviewed-on: https://dart-review.googlesource.com/13080
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2017-10-16 15:07:49 +00:00
Brian Wilkerson d20bfc5095 Map error codes for uninitialized const and final variables
Change-Id: I55e284cce214ffc9d08d5132e7b142f0d07572e3
Reviewed-on: https://dart-review.googlesource.com/13965
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-15 20:35:07 +00:00
Brian Wilkerson 66e5dc35de Associate more fasta and analyzer errors
Change-Id: I9e5151fb51cd4d0e488d0dfcc614f286f5f6cadc
Reviewed-on: https://dart-review.googlesource.com/13934
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-14 19:50:57 +00:00
Brian Wilkerson 940b9e5fdf Connect a Fasta error to an Analyzer error
Change-Id: I9b47e6712b65c2e97693bfef4c022109431660f1
Reviewed-on: https://dart-review.googlesource.com/13860
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-13 18:05:44 +00:00
Konstantin Shcheglov 49503ac2cc Start using Kernel metadata support in KernelDriver and Analyzer.
Use it to implement documentation comments for typedef(s).

R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I6f67f1c0e6b6f383a96e6bf6eee17f4786bc5f99
Reviewed-on: https://dart-review.googlesource.com/12700
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-10-13 17:47:53 +00:00
Brian Wilkerson a22c8dc958 Recover when enum constants have metadata
Change-Id: I1432c3b2d4ce63c5520087c79dd33e48c57cee5b
Reviewed-on: https://dart-review.googlesource.com/13102
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-12 20:50:31 +00:00
Dan Rubel 1c7c72c679 Refactor and update modifier warnings
* Extract parse modifiers
    into ModifierContext and ModifierRecoveryContext
* Recover gracefully given out-of-order modifiers
* Generate analyzer error codes
* Address comment in prior CL
    https://dart-review.googlesource.com/c/sdk/+/10760/1/pkg/front_end/lib/src/fasta/parser/parser.dart#436

There are several more modifier error codes that need to be added.
I will tackle those in a subsequent CL.

Change-Id: I61e9182e14fa9d45b35029013a645329e6cc54ab
Reviewed-on: https://dart-review.googlesource.com/11800
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-11 23:32:10 +00:00