Commit Graph

6070 Commits

Author SHA1 Message Date
Brian Wilkerson 7a968ae283 Add a question mark to type annotations in the AST
Change-Id: Icb2e6e4a52d91d3ecf3c4e8a44a2d8f2a3d7a204
Reviewed-on: https://dart-review.googlesource.com/c/87167
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-13 17:11:02 +00:00
Sam Rawlins b7fc0208b0 Add WorkspacePackage and various implementations, for determining whether two files are in the "same package."
This includes _BasicWorkspacePackage for _BasicWorkspace, BazelWorkspacePackage
for BazelWOrkspace, GnWorkspacePackage for GnWorkspace, and
PackageBuildWorkspacePackage for PackageBuildWorkspace.

Bug: https://github.com/dart-lang/sdk/issues/34232
Change-Id: I686b529f460a108b8477d109d07fb29563dd7314
Reviewed-on: https://dart-review.googlesource.com/c/81523
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-13 16:44:31 +00:00
pq ab27830ee8 hint for duplicated lint rules
Change-Id: Ieee5add24bc3517e61fdf4c1f90fb217f8321295
Reviewed-on: https://dart-review.googlesource.com/c/87140
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-13 04:10:05 +00:00
Dan Rubel 1ff82c5081 Update endFunctionType event to take questionMark token
... which in this CL will always null.
This is another step when adding NNDB support as outlined in
https://github.com/dart-lang/language/issues/110

Change-Id: I3974fcb885c63be4af9d1007258383f3f8191ae0
Reviewed-on: https://dart-review.googlesource.com/c/87080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-12 16:10:23 +00:00
Konstantin Shcheglov 5632d62ad5 Record references for AssertInitializer.
R=brianwilkerson@google.com

Change-Id: Ic8d354781d4298c79edbd41d7ae9448462814931
Reviewed-on: https://dart-review.googlesource.com/c/86984
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-11 20:15:58 +00:00
Brian Wilkerson 6fe24162eb Implement downward inference for set literals
Change-Id: I21458e79a2c7127675c7d50ba0726c7b0bd29493
Reviewed-on: https://dart-review.googlesource.com/c/86980
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-11 20:01:08 +00:00
Konstantin Shcheglov 2d2ed59671 Set 'enclosingClass' for class members and type parameters.
R=brianwilkerson@google.com

Change-Id: I932f327da2b3eba196150840a60625b5780359e4
Reviewed-on: https://dart-review.googlesource.com/c/86983
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-11 19:40:52 +00:00
Konstantin Shcheglov f9fb87558c Collect references for constructor initializers and redirectors.
R=brianwilkerson@google.com

Change-Id: I7b18132697aed3adf21373177edbfaa4ece9e396
Reviewed-on: https://dart-review.googlesource.com/c/86946
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-11 19:06:23 +00:00
Konstantin Shcheglov 237fcba9b6 Support for FieldFormalParameter.
R=brianwilkerson@google.com

Change-Id: Iab871451cabc3136e1c6e0234fa6c73b0796577b
Reviewed-on: https://dart-review.googlesource.com/c/86829
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-11 17:25:54 +00:00
danrubel 2a85a3433e Update handleType event to take questionMark token
... which in this CL will always null.
This is the first step when adding NNDB support as outlined in
https://github.com/dart-lang/language/issues/110

Change-Id: If3810bcaf1b73e70924f09d619e2a84e7d5ba8d6
Reviewed-on: https://dart-review.googlesource.com/c/86860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-11 16:21:05 +00:00
Brian Wilkerson 68889c97ae Rework the file system tests so that most tests are shared
Change-Id: Ibeee593ebd3e240dca5ac86a50a3179d72c5ba61
Reviewed-on: https://dart-review.googlesource.com/c/86827
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-11 13:49:21 +00:00
Konstantin Shcheglov f0d85bb914 Don't record references to the name of this node or the name of the enclosing class.
R=brianwilkerson@google.com

Change-Id: Iaf66c2995cb39039f508f55e8920c59b2afec04c
Reviewed-on: https://dart-review.googlesource.com/c/86825
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-11 02:38:23 +00:00
Paul Berry 5768e513f8 Rework analyzer representation of experimental flags to prepare for codegen.
This CL introduces
pkg/analyzer/lib/src/dart/analysis/experiments_generated.dart, which
will eventually be code generated from a YAML description of the
currently-allowed set of experimental flags.

Change-Id: Iabbefa8e5037573d4b4e7b7b4eb661c1698bd673
Reviewed-on: https://dart-review.googlesource.com/c/86220
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-10 22:32:24 +00:00
Konstantin Shcheglov 79eb965d8f Replace FileContentOverlay with OverlayResourceProvider in AnalysisServer.
R=brianwilkerson@google.com

Change-Id: Ic2fc13f4eacd94471fc8dccc1102e6fdbe59342d
Reviewed-on: https://dart-review.googlesource.com/c/86785
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-10 21:00:57 +00:00
Brian Wilkerson 3875d8bfa2 Deprecate TypeSystem.isStrong
Change-Id: Ia49d78ff41bbe00bfc3c47a790b0492ba9619e41
Reviewed-on: https://dart-review.googlesource.com/c/86505
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-10 19:16:47 +00:00
Konstantin Shcheglov 4746e7b2b5 Record actual 'api' and 'impl' dependencies for most nodes.
R=brianwilkerson@google.com, paulberry@google.com

Missing: metadata, constructor initializers.
Oh, and constructor redirection.
Change-Id: Iec392edfa8347cc4fdfcb278a901ae6d4737e9a0
Reviewed-on: https://dart-review.googlesource.com/c/86686
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-09 20:56:47 +00:00
Konstantin Shcheglov 3d6d1d1755 Use VersionConstraint in SdkConstraintVerifier.
R=brianwilkerson@google.com

Change-Id: I458c717ca3d7c51797e3da9ea5cfac4816f4d789
Reviewed-on: https://dart-review.googlesource.com/c/86720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-08 18:12:48 +00:00
Konstantin Shcheglov 4288fe9ba7 Record references for all statements, tests.
R=brianwilkerson@google.com

Change-Id: I90ad2c2411be74d056c2cc29749edd6db05484ab
Reviewed-on: https://dart-review.googlesource.com/c/86680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-07 20:25:49 +00:00
Konstantin Shcheglov d1d35db153 Record references for all expression types.
I'm reasonable confident that this covers all expression types,
we can compute nodes and their dependencies for kernel, analyzer,
analysis_server, front_end.

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

Change-Id: Ifd47cfdc6fb5bde4b84a644501c8530e757fcf50
Reviewed-on: https://dart-review.googlesource.com/c/86620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-07 19:38:32 +00:00
Dan Rubel 089f098849 Auto generate more analyzer error codes
* MISSING_CATCH_OR_FINALLY
* STACK_OVERFLOW
* INVALID_OPERATOR_FOR_SUPER
* VAR_AND_TYPE

Change-Id: Ib308cd979f9c5644c28ab1f927fa9cc8add38269
Reviewed-on: https://dart-review.googlesource.com/c/86462
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-07 11:46:48 +00:00
Konstantin Shcheglov 53ba7096e2 Record references in expressions.
This probably covers all expressions.
But I will run over larger codebase later to be sure.

R=brianwilkerson@google.com

Change-Id: I1c8e7ff4c717507e83637b91e9664a12aaa97d43
Reviewed-on: https://dart-review.googlesource.com/c/86506
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-07 03:09:17 +00:00
Paul Berry a84863253c Re-apply "Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request."
Original change's description:
> Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
>
> This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
> used for some time now in IntelliJ, and AFAIK has never been used in VS Code.
>
> R=​brianwilkerson@google.com, paulberry@google.com
>
> Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
> Reviewed-on: https://dart-review.googlesource.com/c/85523
> Reviewed-by: Paul Berry <paulberry@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

Change-Id: I828c9a77f1e28d44c00bfcf39527514e39cccc42
Reviewed-on: https://dart-review.googlesource.com/c/86221
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-12-06 23:14:28 +00:00
Brian Wilkerson 1b3e2ccdf6 Re-introduce StrongTypeSystemImpl because removing it was a breaking change
Change-Id: I9424466311b0f38da7d35de6ad5d6071b897104b
Reviewed-on: https://dart-review.googlesource.com/c/86441
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-06 20:14:50 +00:00
Konstantin Shcheglov 73a3c2cf5b Extract operatorFromCompoundAssignment() into public non-API.
I need it in ReferenceCollector.

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

Change-Id: I0d383251584c694fdac84bfb3c27a3b8e29b7c8f
Reviewed-on: https://dart-review.googlesource.com/c/86440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-06 20:02:40 +00:00
Konstantin Shcheglov ebc9295c7e Partial implementation and tests for ReferenceCollector.
Some implementation is incomplete, some tests are missing.
But I'd like to start with this, and then iterate.

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

Change-Id: I584b3d96487af6649f6c1ee4c5d54c3327666b84
Reviewed-on: https://dart-review.googlesource.com/c/86301
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-06 18:44:09 +00:00
Brian Wilkerson 2118fcf7b0 Rename StrongTypeSystemImpl
Change-Id: I394bd9bfa2b6d9ceeb87312e94a3e315e32846a1
Reviewed-on: https://dart-review.googlesource.com/c/86282
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-12-05 22:22:36 +00:00
Brian Wilkerson e4c83f8573 Rename the experiment flag used to enable set literals
Change-Id: I3cd3e1637afbac4bb4f60bec4256afb5b611bd63
Reviewed-on: https://dart-review.googlesource.com/c/86281
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-05 21:50:24 +00:00
Brian Wilkerson 21984a350d Implement evaluation for constant expressions that use the >>> operator
Change-Id: Ie1e3dcde265e80da4c0e102309a6b06d185586e6
Reviewed-on: https://dart-review.googlesource.com/c/86247
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-12-05 20:52:43 +00:00
Konstantin Shcheglov 78db20cc8f Rename to LibraryQualifiedName, Node, NodeKind.
R=brianwilkerson@google.com

Change-Id: Ie5bac03017e2c1dee3e337e85d5977ac088b69ae
Reviewed-on: https://dart-review.googlesource.com/c/86250
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-05 20:08:06 +00:00
Konstantin Shcheglov c3968acd17 Include enclosing library URI and class into API token signatures.
Library URI and enclosing class name define location (as a sequence of
names, not as offsets), so when they change, reference to them
should be invalidated.

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

Change-Id: I4fb7a6e56c42150c93e732248b59ec217eb262ca
Reviewed-on: https://dart-review.googlesource.com/c/86245
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-05 19:25:58 +00:00
Dan Rubel 4264f3c619 Remove unused fasta error code mapping
Change-Id: I349513235e43260496bd90a4e6074e673d3ba096
Reviewed-on: https://dart-review.googlesource.com/c/85782
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-05 14:35:36 +00:00
Konstantin Shcheglov 544c053eb0 Initial CL for fine-grained dependencies - Name, Symbol, Library and declared symbols.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I0f33b24f3f8caf13c9b498e7e1d403a5093aae63
Reviewed-on: https://dart-review.googlesource.com/c/85729
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-05 02:41:07 +00:00
Konstantin Shcheglov abcf0a6867 Issue 35241. Fix for NPE when the referenced constant variable does not have initializer.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/35241
Change-Id: I406a44467bf3ed2463e8a24c52c45e228c9b6dfa
Reviewed-on: https://dart-review.googlesource.com/c/86100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-05 02:29:57 +00:00
Paul Berry 670f9ab49b Merge commit '65401da92251a7318e3264b816ce0c4e14701751' into analyzer 2018-12-04 15:38:21 -08:00
danrubel 848d93c0b5 Improve parser recovery given superclass field initializer
This improves upon the patch in
https://dart-review.googlesource.com/c/sdk/+/85780
to better recover given malformed constructor initializer such as

C() : super = 42;

and

C() : super.a = 42;

This also add a new FieldInitializedOutsideDeclaringClass error code
to better indicate the problem and how the user should fix it.

Change-Id: I4476c6c9fac20b0dd47970c2c81078a5c441bde1
Reviewed-on: https://dart-review.googlesource.com/c/85781
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-04 21:27:13 +00:00
danrubel f363c5fe79 Update AstBuilder to recover given superclass field initializer
Fix https://github.com/dart-lang/sdk/issues/35151

Change-Id: Ia21d621eb8c768b465ad32a1289b7a5e34fe77f0
Reviewed-on: https://dart-review.googlesource.com/c/85780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-04 21:27:13 +00:00
Konstantin Shcheglov 6905e57f8b Issue 35223. Skip setters that don't have exactly one parameter.
We have already reported a more serious problem about such setters.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/35223
Change-Id: I10250be15897d55d29004655127f56ddf77be4aa
Reviewed-on: https://dart-review.googlesource.com/c/86080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-04 20:30:13 +00:00
Paul Berry 43cd8ba822 Merge commit '4eeebc46cff4e47e6265e86f4774da103d060aa1' into analyzer
Conflicts:
	pkg/analyzer/CHANGELOG.md
	pkg/analyzer/pubspec.yaml
2018-12-03 12:20:40 -08:00
Paul Berry be529425d2 Prepare for a future breaking change to the UriResolver class.
See https://dart-review.googlesource.com/c/sdk/+/85726 for the
breaking change that is anticipated.

Change-Id: I4ba84a0e70bf5b3c62191c053ba9de7aee71ac93
Reviewed-on: https://dart-review.googlesource.com/c/85728
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-12-03 14:29:30 +00:00
Paul Berry 5b00611568 Revert "Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request."
This reverts commit 3428cc6dae.

Reason for revert: Unintentional breaking API change

Original change's description:
> Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
> 
> This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
> used for some time now in IntelliJ, and AFAIK has never been used in VS Code.
> 
> R=​brianwilkerson@google.com, paulberry@google.com
> 
> Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
> Reviewed-on: https://dart-review.googlesource.com/c/85523
> Reviewed-by: Paul Berry <paulberry@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I6a3e874278f4cf976363a0c7f80f7a65a0a03acf
Reviewed-on: https://dart-review.googlesource.com/c/85723
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-11-30 21:03:30 +00:00
Paul Berry 63770042aa Merge commit '80c23f87a3e3123d7e337c1fc8bc3b5ec49b34a0' into analyzer 2018-11-30 08:12:45 -08:00
danrubel 80c23f87a3 Update more analyzer error codes to be generated
This updates more analyzer error codes to be generated
from the corresponding CFE error code.

Several of these analyzer error codes had multiple CFE error
codes mapped to them. In these situations, new analyzer error
codes were added to match the existing CFE error codes:

* EXTERNAL_FACTORY_WITH_BODY
* EXTERNAL_FACTORY_REDIRECTION
* CATCH_SYNTAX_EXTRA_PARAMETERS

Change-Id: Ib1cbb9e04d2092e4859e2cfadbcc85e03093f808
Reviewed-on: https://dart-review.googlesource.com/c/85431
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-11-30 15:00:36 +00:00
pq 45bf7e9906 validate deprecated lints
Change-Id: I83d3dcd2d22d1b5fd4ef8b1af6f06288eb9cd917
Reviewed-on: https://dart-review.googlesource.com/c/85648
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2018-11-30 00:07:20 +00:00
Brian Wilkerson ec5b4bad99 Fix false positive for sdk constraints (issue 35290)
Change-Id: I64164cb97b88dcc0431237cf3a45831fb668c2c5
Reviewed-on: https://dart-review.googlesource.com/c/85620
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-11-29 19:12:50 +00:00
Konstantin Shcheglov 3428cc6dae Add AnalysisDriver.resetUriResolution() and use it for analysis.reanalyze request.
This CL changes "analysis.reanalyze" API. We decided to repurpose it. It was not
used for some time now in IntelliJ, and AFAIK has never been used in VS Code.

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

Change-Id: I7510b0189197c9f3f848b0fc59a7b2bd22889ac7
Reviewed-on: https://dart-review.googlesource.com/c/85523
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-29 19:08:30 +00:00
Paul Berry 589a823888 Cherry-pick f02e7bb374 to the analyzer branch
Original commit message:

    Rework parseLiteralSetOrMapSuffix to remove expression lookahead

    This reworks the set literal support to remove unnecessary lookahead
    by removing the listener.beginLiteralMapEntry event
    and renaming the listener.endLiteralMapEntry to handleLiteralMapEntry.

Change-Id: I608e94aadc2afb86c772fdc6ef24b0da32c5ddde
Reviewed-on: https://dart-review.googlesource.com/c/85410
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-11-28 23:53:01 +00:00
Brian Wilkerson 235da6f45d Rename AstNode.getAncestor by deprecating it and adding the new method (analyzer)
Change-Id: Ia00d8cb7153bd9db798352aab00b2431ba709671
Reviewed-on: https://dart-review.googlesource.com/c/85540
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-11-28 21:04:57 +00:00
Brian Wilkerson 5bff334f84 Introduce replacement for AstNode.getAncestor (master)
Change-Id: Ib93cf9b9c19b3db2b971f83ae871442db244ec38
Reviewed-on: https://dart-review.googlesource.com/c/85541
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-11-28 20:59:03 +00:00
Brian Wilkerson 65787a250e Use the experiment flag to enable scanning the >>> operator
Change-Id: I93678479911b629c3b88edd76d1ffa0c1daebaf3
Reviewed-on: https://dart-review.googlesource.com/c/85520
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-11-28 20:22:28 +00:00
Konstantin Shcheglov 9b65c81c03 Clear direct users of LibraryCycle on invalidate.
We invalidate recursively, so all the direct and indirect users are
invalidated, and we want to clear direct users to cut each branch
and avoid visiting them uselessly multiple times through multiple
direct users.

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

Change-Id: I7a5937c91330149e2a703ffc424c24fffbf24734
Reviewed-on: https://dart-review.googlesource.com/c/85428
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-28 16:55:47 +00:00