Commit Graph

35087 Commits

Author SHA1 Message Date
Danny Tuppeny 85aecd53f4 [analyzer] Seed overlay modification stamp with DateTime.now().millisecondsSinceEpoch
Fixes https://github.com/Dart-Code/Dart-Code/issues/3160.

Change-Id: If57d37796dc36c06ec4bbd986719cecbbc1a98a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187462
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-25 18:02:36 +00:00
pq ecaabe591b prefer constants for fix kind priorities
Change-Id: I665bd9bab8e2ea54a3b1bf295135f4024f1b2440
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187480
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-02-25 17:33:36 +00:00
Danny Tuppeny 526e191a57 [analyzer] Return isQualified=true for the name of a constructor
Fixes https://github.com/dart-lang/sdk/issues/45105.

Change-Id: Ic7878bd14e6b9b9ee522b5b7d91f25137ab6f31f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-25 17:00:41 +00:00
Konstantin Shcheglov 46e4363df5 Enforce lint: always_use_package_imports
Change-Id: Ib7c9f2b4fe3d3d1a874f97f73def6ba1ffaf911e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187360
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-25 16:57:16 +00:00
Konstantin Shcheglov b3f5c31465 Analyze AndroidManifest.xml files in ContextRoot.analyzedFiles()
Change-Id: I30ceb3c714ffaa498b4f348ed5d3fdc62915feb2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-25 16:52:36 +00:00
Jens Johansen 741336e40b [kernel] readAndPushTypeParameterList takes useGrowableLists into account
This means that when useGrowableLists is false all empty TypeParameter
lists are the same (unmodifiable) empty list.

When running dart2js in its "linker scenario" on a large internal app
this saves something along the lines of 30MB of memory.

Change-Id: Iee31016d238650de19db584a5617ca4a16889fe7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186940
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-02-25 12:02:16 +00:00
Aske Simon Christensen ead5e5c683 [kernel] Non-nullable enclosingClass for Constructor members
Change-Id: I2a31e4272f9119c229e1eea8a75114f5c2bf82b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186281
Auto-Submit: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-02-25 10:40:46 +00:00
Konstantin Shcheglov d54c201932 Fix handling of circular links in ContextRootImpl and ContextLocatorImpl.
Change-Id: Ib1de5a9f6bbf13e72024ddae6c83d3a73dcf24a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-25 06:01:00 +00:00
Konstantin Shcheglov 8b1c6632c5 Move remaining of file_paths from ContextLocatorImpl.
Change-Id: I7f2362494af731657e59f1189d68790f71d0fc2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-25 06:00:40 +00:00
Konstantin Shcheglov a629b48fdc Remove file name constants from AnalysisEngine.
Change-Id: I3457973212e704a0fedee20db17956c017ec91ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-25 05:52:56 +00:00
Konstantin Shcheglov 2c3d4c9d88 Use InstrumentationService instance where available.
Change-Id: I615faf1e74fdd5134a35f0d562c289d8f2d21a1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-25 05:52:35 +00:00
Konstantin Shcheglov 925df4601b Fix API signature computation when 'static' token moves.
Change-Id: Ice82e8cd06bd4fc5634c9aa8f8e9828e3b79a696
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187300
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-25 05:24:25 +00:00
pq 94f6b6ec94 migrate multi-fixes to unique fix kinds
Change-Id: If28b89ebeab3be8120cb9189d7c54eb1393beb6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186741
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-02-25 00:24:35 +00:00
Brian Wilkerson 71cd2eab85 Add support to the relevance table generator to generate multiple tables for comparison purposes
Change-Id: Iba8dc640540b1689d619a928cc7075c4b17555ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187120
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-24 21:36:34 +00:00
Konstantin Shcheglov 722fb9fbc6 Use file_paths.isAndroidManifestXml() instead of 'manifest.xml'
I am a bit surprised that there are no failing tests before or after.

Change-Id: Ie2f94ba6437f95a95c74ec301f2bcbad4ebd9b49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187100
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 21:13:14 +00:00
Konstantin Shcheglov c9332fb487 Renames for check/analyze non-Dart files.
Change-Id: I31d9b19429f73e4c9c40f95cf5e7a55ac4a5a09a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 21:10:06 +00:00
Konstantin Shcheglov fd81b73e67 Replace AnalysisEngine.isDartFileName() with file_paths.isDart()
Change-Id: Icf5d524945ffdb7087b96555968804946b4e5af4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187062
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 21:03:24 +00:00
Konstantin Shcheglov 4366ff1afd Tests and fixes for resolveSymbolicLinksSync()
Change-Id: Ic4266f4ad1f46e405e22986e3660a3889ec7016c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187060
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 21:02:04 +00:00
Stephen Adams 25ca4c490f [dart2js] Use StringInterner to share strings from binary files
Reduces heap in large link scenario by 850MB.

Change-Id: I9dd8c82868b4cc45e6389007348d8b6086c28ee1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186745
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-02-24 20:48:34 +00:00
Sam Rawlins f32575e43a analyzer: stop mixing WithNullSafety into tests extending PubPackageResolutionTest
Bug: https://github.com/dart-lang/sdk/issues/44666
Change-Id: I01aa8a5908b8a2f195859c4c9fd99e3127249e29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-02-24 17:41:44 +00:00
Kallen Tu a5f0e5983b Pipe const-functions flag to kernel/CFE.
Allowing usage of generated experiment flag in the expression_generator, body_builder and eventually, constant_evaluator.
Wanted to keep this CL relatively small and separated from the actual
usage of the flag. Will do that in an upcoming CL.

Change-Id: Ia7c51381496bbde6d25eb47ee1b5cba0e3d7e0cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186620
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2021-02-24 16:34:34 +00:00
Sam Rawlins 7718eb1163 analyzer: Remove unused enumElement testing function
Found while looking at call sites to TypeSystemImpl, which I am changing for
generic function types as type arguments.

Change-Id: I6c47f7cdcbe3b2f7051a77484ed904af8bfc67dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185960
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-02-24 14:40:54 +00:00
Dmitry Stefantsov c191551fac [cfe] Remove BottomType
TEST=Covered by existing tests.

Change-Id: Ied8be1874164e68e0a3a48e1b2f9a33310071381
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183009
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-02-24 13:21:55 +00:00
Daco Harkes d45fd0f9d5 [vm/ffi] Support inline arrays in Structs
Adds support for single dimension inline arrays in structs. Multi-
dimensional arrays will be supported in a future CL.

This CL adds:
- CFE static error checks for inline arrays.
- CFE transformations for inline arrays.
- VM consumption of inline array fields for NativeType.
- Test generator support for inline arrays + generated tests.

Previous CLs added support for inline arrays in:
- analyzer https://dart-review.googlesource.com/c/sdk/+/183684
  - updated in this CL to new API.
- ABI calculation https://dart-review.googlesource.com/c/sdk/+/183682

Closes: https://github.com/dart-lang/sdk/issues/35763

Open issue: https://github.com/dart-lang/sdk/issues/45101

CFE transformations are tested with expectation files:
TEST=pkg/front_end/testcases/(.*)/ffi_struct_inline_array.dart

Trampolines and CArray API are tested with end-to-end Dart tests:
TEST=tests/ffi(_2)/(.*)by_value(.*)test.dart
TEST=tests/ffi(_2)/inline_array_test.dart

Compile-time errors (both CFE and analyzer) are tested in:
TEST=tests/ffi(_2)/vmspecific_static_checks_test.dart

Change-Id: I014c0e4153f1b885638adce80de6ab3cac8e6bb2
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try,dart-sdk-mac-try,dart-sdk-win-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-mac-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-linux-debug-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-debug-ia32-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-debug-simarm_x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-msan-linux-release-x64-try,vm-kernel-precomp-msan-linux-release-x64-try,vm-kernel-precomp-android-release-arm_x64-try,analyzer-analysis-server-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183640
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
2021-02-24 13:02:45 +00:00
Jens Johansen 3a4a4f53d0 Revert "[cfe] Actually have both ansi and plain text formatted messages"
This reverts commit f63f7736c5.

Reason for revert: This somehow breaks the Windows bots. `python tools/test.py -n dartk-win-release-x64 standalone_2/io/process_shell_test`.

Original change's description:
> [cfe] Actually have both ansi and plain text formatted messages
>
> The CFEs FormattedMessage always had two getters to get the text inside
> one that would supposedly give an ansi formated version of the message
> and one that would supposedly give a plaintext formated version of the
> message. They both returned the same string, though, which would either
> be with ansi escape codes or plain text depending on the environment at
> compile time.
>
> This CL fixes that by having both messages, and letting the reporting
> (i.e. whenever the message is read) decide which to use. That way we
> can - for instance - report errors with color if the terminal supports
> it correctly when reusing a dill (and reissuing problems, but where the
> terminal support changes) and if printing the problem to an html <pre>
> field (like observatory does (1)).
>
> It also cleans up two different implementations of whether we think
> the terminal supports colors or not, by deleting one of them.
>
> (1) At least sometimes. It works - I think - only for 'evaluateInFrame',
>     but that's another story (and will be fixed in a follow-up CL).
>
> TEST=Existing test suites.
>
> Change-Id: Iedaedd9a5c41458d40c23ed4b706324c004ae943
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186291
> Commit-Queue: Jens Johansen <jensj@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>

Change-Id: I0b53f943a61f76705badfead30d9e1ee35baff57
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186941
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2021-02-24 12:30:18 +00:00
Dmitry Stefantsov 3c259a0ab0 [cfe] Add ExtensionType as an internal Kernel AST node
Change-Id: I14bfb014489b3ccec34c079d951fc875ec814ebe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186288
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-02-24 11:56:15 +00:00
Jens Johansen 0ef929917a [kernel] Don't use const as that might introduce polymorphism
In https://dart-review.googlesource.com/c/sdk/+/185828 @vegorov explains
how using `const []` where there before was a non-const list can
introduce polymorphism.
This CL applies the same trick in kernel as suggested there, on the
instances of `const []` recently introduced.

Change-Id: I47033cd7487d56bfde1ed9088fef027466f26875
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186580
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-02-24 10:58:15 +00:00
Jens Johansen f63f7736c5 [cfe] Actually have both ansi and plain text formatted messages
The CFEs FormattedMessage always had two getters to get the text inside
one that would supposedly give an ansi formated version of the message
and one that would supposedly give a plaintext formated version of the
message. They both returned the same string, though, which would either
be with ansi escape codes or plain text depending on the environment at
compile time.

This CL fixes that by having both messages, and letting the reporting
(i.e. whenever the message is read) decide which to use. That way we
can - for instance - report errors with color if the terminal supports
it correctly when reusing a dill (and reissuing problems, but where the
terminal support changes) and if printing the problem to an html <pre>
field (like observatory does (1)).

It also cleans up two different implementations of whether we think
the terminal supports colors or not, by deleting one of them.

(1) At least sometimes. It works - I think - only for 'evaluateInFrame',
    but that's another story (and will be fixed in a follow-up CL).

TEST=Existing test suites.

Change-Id: Iedaedd9a5c41458d40c23ed4b706324c004ae943
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186291
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2021-02-24 10:33:45 +00:00
Jens Johansen a200aa509c [dart2js] Return (almost) const [] when reading empty List<ir.DartType>
When running dart2js in its "linker scenario" on a large internal app
this saves something along the lines of 70MB of memory.

Note: Does not actually return a const object as that might introduce
polymorphism. See CL review for discussion/explanation.

Change-Id: I9f939a57d994139f0c08caab0871361c5ecd437a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185828
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2021-02-24 07:53:57 +00:00
Konstantin Shcheglov 1b1e853be4 Remove ContextBuilder.onCreateAnalysisDriver.
It was supposed to be 'temporary plugin support', and I believe we
have a replacement.

Change-Id: I7c6482fa257bee7a7c5c41c47d537b00e8f3ac69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 06:56:32 +00:00
Konstantin Shcheglov 0a85156103 Remove Plugin.fileContentOverlay, use OverlayResourceProvider.
Change-Id: I44688e573b87ffd1d06726b5fad3346137610ad8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 06:48:39 +00:00
Konstantin Shcheglov ab31c14841 Fixes for MemoryResourceProvider Folder.exists/getChildren() and links.
Bug: https://github.com/dart-lang/sdk/issues/44501
Change-Id: I60a79474111e56ebece3d9df3fe9281f6e3fcc06
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186800
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 06:48:29 +00:00
Konstantin Shcheglov 7b68624218 Remove unused analyzedFilesGlobs in AbstractAnalysisServer.
Change-Id: I46f0b7c1b426d3c530d568df3cb04c0ad194d186
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186802
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 04:14:37 +00:00
Konstantin Shcheglov c3a41ab771 Remove ContextManagerImpl.createSourceInContext()
Change-Id: I58bfa95d0cbddb96f79043b854f398602420268d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186801
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2021-02-24 04:11:07 +00:00
Sam Rawlins 242dd97125 analyzer: Combine non-function-typedef test classes with null-safety test classes
In each file, test cases were simply moved, and not changed at all. No test
cases are removed. None are added.

Bug: https://github.com/dart-lang/sdk/issues/44666
Change-Id: I7566602f53a234b34e3dc54176ac9b80139f444b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186761
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-02-24 03:45:27 +00:00
Sam Rawlins b485114c32 analyzer: update two test classes to use null safety
Bug: https://github.com/dart-lang/sdk/issues/44666
Change-Id: I7db26be235d3911b6c88b199df874da1ee2d552e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186760
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-02-24 02:41:57 +00:00
Konstantin Shcheglov 5036e3ad2c Ensure that _getSdkPath() returns absolute normalized path.
Change-Id: I92dc53e6248e36c2025cd848057eb732b0ae69be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186744
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-24 00:47:37 +00:00
Sigmund Cherem 01a6b4fb12 [ddc] delete kernel_sdk.dart.
This was used to build the sdk long ago. Last year (in April!) we removed
the last use of it internally, so the file can now be removed. At this
point both internal and external build systems use the compile platform tool.

Change-Id: Ib92b2ae4b0b3f1b7b7ec4bc6dd50ad2723016ec4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186661
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2021-02-24 00:11:02 +00:00
Sigmund Cherem 06a4b109bc [web] Delete check_nnbd_sdk test
Change-Id: Ia55f76a57adbe2e133ad9e049e1201bec5094b53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186660
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2021-02-24 00:04:29 +00:00
Paul Berry 588fadcd49 Flow analysis: expand analyzer support for "why not promoted" messages.
This CL adds support for the following scenarios to the analyzer:

- Attempt to use a non-promoted nullable expression as the iterable of
  a for-in loop

- Attempt to use a non-promoted nullable expression as the argument of
  a `yield *` statement

- Attempt to implicitly invoke `.call` on a non-promoted nullable
  expression

- Attempt to use a non-promoted nullable expression as the argument of
  a spread operator (`...`) that is not null-aware

Some of these cases are already handled by the CFE.  Others will be
addressed in a follow-up CL.

Change-Id: I3cf31b1496e1bd92fdd3f8192f04c98dff15077c
Bug: https://github.com/dart-lang/sdk/issues/44898
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-02-23 17:51:16 +00:00
Brian Wilkerson 2c982b0c1f Enhance the command-line relevance table generator tool to support a map-reduce style of table generation
Change-Id: Ie0e26094b4cd6acaf864556d04d3de0415683cdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186501
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-23 17:46:21 +00:00
Danny Tuppeny c4edcc4cfa [analyzer] Support separate insert/replace ranges for completions
Fixes https://github.com/Dart-Code/Dart-Code/issues/2998.

Change-Id: I8e989932c16dc97f704c79c06374c8d1d1881f7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-23 17:43:11 +00:00
Sigurd Meldgaard e7fdd7b693 Let experimental features specify an example for tooling to have generic
tests.

Bug: https://github.com/dart-lang/sdk/issues/44937
Change-Id: I309e6e4299b09705f653d59c7842a05fdf7cdaa5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184790
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-02-23 13:57:29 +00:00
Tess Strickland a8b42efa1a [pkg/native_stack_traces] Create stable null safety version.
Also remove assert no longer needed due to null safety.

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-linux-release-x64-try
Change-Id: I1b19316801db7cb586d16e6bdc1f00014be93bdb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186286
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2021-02-23 10:27:39 +00:00
Konstantin Shcheglov 98c83633a2 Use shared FileContentOverlay in AnalysisContextCollection to ensure content sharing.
This improves performance, and it looks that this might be the issue
that causes Golem to timeout today.

Change-Id: I7a71fb3f6829f55205d8f7fc028245d529501389
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-23 06:03:29 +00:00
Konstantin Shcheglov 917d61b92e Add only dart files to drivers.
Change-Id: I345d3481a9107b6eec1e7e8845e8181f9d12a1ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186500
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-23 04:24:59 +00:00
Robert Nystrom 2ad6249c05 Bump dart_internal to allow 2.12.0.
Change-Id: I05cc978b2b4b7dbd1bf1e1f4d45375646ea90bff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186400
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2021-02-23 00:37:06 +00:00
Konstantin Shcheglov 8194c530e8 Handle ChangeType.REMOVE for any file, flush it.
Change-Id: Idb61bcb96ad5b6d29d46063fe46a9ae7413679a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-22 22:05:20 +00:00
Sam Rawlins 9a673e4ae7 analysis_server: Remove unused dart: import
A bug in the analyzer is causing it to not report this unused import currently.
This PR is part of a cleanup to allow fixing the bug.

Bug: https://github.com/dart-lang/sdk/issues/45028
Change-Id: I2306306e1e51d141c6ba8aa29b7b655fac7b36fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186384
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-02-22 22:05:00 +00:00
Konstantin Shcheglov f1094d5c3a Use newPubspecYamlFile() to create pubspec.yaml files
Change-Id: I181a3f3f14810019731201bf43e27befa7bc5481
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-02-22 21:32:00 +00:00