Change-Id: I4ca667b2b82cb5587854686851e6f9992a1fc233
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221462
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
In order to eventually remove DeclarationsTracker we would need to
switch Import Library fix to AnalysisDriver APIs that are async.
Change-Id: Ief1dea72d63e4b508dce05a66b7cb82893a8a996
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
convertChildToChildren is unused within the package.
Convert Function type to function types in convertChildToChildren2,
to reduce implicit casts.
Bug: https://github.com/dart-lang/sdk/issues/41651
Change-Id: I60dcec3649a98c39057869f3210b6b44aba0ddd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Currently analyzer is reporting optional parameters of private
functions, methods, and constructors as unused in some cases where the
function (or enclosing class for a constructor) is generic. In order to
support unused_element as a no-false-positives rule, this CL changes
the behavior to _always_ consider such parameters as used, and never
report them as unused.
The real fix is harder; I think it requires something like
ParameterMembers to be created during inference, but that is a pretty
sweeping change, and requiring TypeProviders to be passed around a lot
where they are not now.
Also move the `_hasPragmaVmEntryPoint` check to much later, as it is an
exceedingly uncommon annotation.
Bug: https://github.com/dart-lang/sdk/issues/47839
Change-Id: Ie2bc0dfbe2e4527676b1cd15045e67fb5f0f1719
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221992
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Initial 'dart doc' command for the unified 'dart' developer tool,
over time replacing the exiting 'bin/dartdoc' tool.
This is a second attempt after the previous got reverted:
https://dart-review.googlesource.com/c/sdk/+/217980
The first attempt, which was already reviewed, is
in patchset 1.
Change-Id: Id9e0e572944ba032c32f3cebec579ab23d0df036
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220744
Commit-Queue: Michael Thomsen <mit@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Mostly this CL involves adding types to parameters which were implicitly
dynamic, and casting a few JSON results. It should be a no-op,
behaviorally.
Bug: https://github.com/dart-lang/sdk/issues/41651
Change-Id: I230ae4f9eef3a6c9e4dbfe60b95907402aefda05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222027
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
This is follow-up to e78e0dd261.
TEST=ci
Change-Id: I089299076b115ee384bc2f485a01045367bf78ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222026
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
This splits the usage of [_userCode] into `lastGoodKernelTarget` and
[currentKernelTarget], and renames the field to [_lastGoodKernelTarget].
This is done to make it clearer in what capacity the field is accessed.
Change-Id: Ie9344410ee62b649016a80e88bba731fa0a2344f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221942
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
The _transformOrShare function is only useful when elements might be
identical(), but copyWith always returns a new instance, so the 'share'
option is never the case.
Change-Id: I4fd573538a4447da70c051c5e9a4a6449d49f4c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221989
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
There are a lot of implicit casts, so this CL includes:
benchmark/, many in test/, and tool/.
Most changes are quite mechanical, using `Object?`.
I also changed some functions to use types other than `dynamic`.
Bug: https://github.com/dart-lang/sdk/issues/41651
Change-Id: Id77037aae71d41e2bdca52958fdc01c43d3d51a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221885
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Previously only a super helper would be created as needed when there was
a super getter or setter call a constructor. If both a get and set exist
only the first encountered would trigger a helper to be generated. The
second helper would be missing and the call to it would trigger an
exception.
Now the helpers are tracked with unique names to avoid collisions.
Fixes: https://github.com/dart-lang/sdk/issues/47698
Change-Id: I561adc0ce8f97e81a9e12d749d4d80e1f5e73f38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221743
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
The change is somewhat limited (for example, it doesn't allow the
replacement to be in a different library than the original), but I
believe that it's sufficient for the known use cases and can be extended
in future CLs.
Change-Id: Ic9b2ae42244134f63c36c88f3dc790e3655a7037
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221900
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
So, stop using DeclarationsTracker for it.
Change-Id: Ia53c0729e71ddbc4c9bc19902b21b9d621b2235c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221864
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
We have added more examples, and some of them uses the structure of:
````dart
/// ```dart
/// var x = something;
/// ```
/// and then you can also floo the thing
/// ```
/// x.floo(...);
/// ```
````
The following chunks of the same example can now be written as:
````dart
/// ```dart continued
/// x.floo(...);
/// ```
````
Change handling of imports,
and introduce a `top` template different from `none`.
The `none` template gets nothing for free.
The sample must be completely self-contained.
Is triggered by the sample containing a `library` declaration,
because we can't add anything before that.
The `top` template allows top-level declarations,
but does introduce automatic imports and "samples can expect"
code if the sample doesn't contain `import`s.
Is triggered by top-level declarations other than `library`.
Also some restructuring of the code to make this feature easier
to implement.
Change-Id: If2288147face01efad2ad656aa52183cb4c8b3bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221343
Commit-Queue: Lasse Nielsen <lrn@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>