Jens Johansen
cf4e044e07
[parser] New syntax for null aware index
...
Change-Id: Iea6b29eb897eb01863a92b223e270d225c3ca1ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135903
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-20 12:33:28 +00:00
Konstantin Shcheglov
81d4cc6bc9
Issue 40701. Include 'late' into unlinked API signature.
...
R=brianwilkerson@google.com , pquitslund@google.com
Bug: https://github.com/dart-lang/sdk/issues/40701
Change-Id: Ia11ff4e65e779c4a370a6fec539564c0533bffa3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136529
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-20 04:16:35 +00:00
Konstantin Shcheglov
ff8a5dfb72
Issue 40689. Add isStatic to available Declaration.
...
I did not use it yet, but filtered out all not top-level declarations
that are not CONSTRUCTOR or ENUM_CONSTANT. But isStatic might be used
if we decide to suggest static getters.
R=brianwilkerson@google.com , pquitslund@google.com
Bug: https://github.com/dart-lang/sdk/issues/40689
Change-Id: I1c86754d9dbbc1422defc06a8fe6a47fa0bf6f98
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136410
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-19 21:29:24 +00:00
Konstantin Shcheglov
ba579eef57
Issue 39791. Infer Object? instead of Null or Never.
...
Bug: https://github.com/dart-lang/sdk/issues/39791
Change-Id: Iac4dae42b30d9358d818b78c77462312bab672fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-19 21:01:56 +00:00
Jens Johansen
707ecda05e
[analyzer] Add test for bang before type arguments
...
In https://dart-review.googlesource.com/c/sdk/+/128402 I was asked to
add a test to the analyzer.
This is the (somewhat belated) follow-up that does that.
Change-Id: I7065882b458a480b12d79a4913a59e2bee4f35da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136184
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-02-19 07:45:59 +00:00
Konstantin Shcheglov
21e944f1bc
Use promotedBound for TypeParameterType promotion.
...
Change-Id: I217a8b9140f60d4f6a9ffc052564388c24c1a7ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-18 17:11:44 +00:00
Paul Berry
d5e6ab4195
Migration: propagate non-null intent through compound nodes.
...
A compound node represents a logical OR ("this node is nullable if and
only if one or more of its components is nullable"). Therefore, if
*all* of the components of a compound node have non-null intent, we
should consider the compound node itself to have non-null intent.
This fixes a problem that was preventing the migration tool from
respecting a "/*!*/" hint applied to the type parameter of a typedef.
Change-Id: Iec2f9d6968378707ba692be7b97f750cf53a8b85
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135786
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2020-02-14 21:25:01 +00:00
Konstantin Shcheglov
6ae2a011d5
Use named parameters in TypeParameterTypeImpl.
...
Change-Id: I643acc61f53dfaf2e0c9bec7970fa6c33ff26850
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135964
Reviewed-by: Paul Berry <paulberry@google.com >
2020-02-14 21:19:26 +00:00
Konstantin Shcheglov
63ed271759
Create fresh TypeParameterElement(s) for executable members.
...
Change-Id: I19aa9b529470654460d5ead84996e5308a217291
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-14 19:21:27 +00:00
Konstantin Shcheglov
6635b1d9a0
Issue 40396. Report BODY_MAY_COMPLETE_NORMALLY when a body that is expected to return a potentially non-nullable type may complete normally.
...
Bug: https://github.com/dart-lang/sdk/issues/40396
Change-Id: I58d48a5191950f55d6a59b163d122150e7ad3d09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135582
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-14 19:13:03 +00:00
Konstantin Shcheglov
5ec14d6e14
DartObjectImpl.isIdentical() should compare types.
...
Change-Id: I6b510351f5703956d77e3cae2dd31490c819f87f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135781
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-14 16:56:47 +00:00
Daco Harkes
c1467ab5d3
[vm/ffi] Change asFunction and lookFunction to extension methods
...
This prevents them from being called dynamically.
Moreover, it prevents asFunction from being called on a non-NativeFunction type argument, simplifying the amount of manual checks.
Note that this CL had to change the CFE and analzyer, and their tests (including mock_sdk) as well.
This can potentially be a breaking change, as the extension methods are only visible when `dart:ffi` is imported, while methods on objects are always visible.
Issue: https://github.com/dart-lang/sdk/issues/35903
Change-Id: I1e291f154228d5d9a34b21a022088bf493f6557d
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,dart-sdk-linux-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,front-end-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-mac-debug-x64-try,analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135463
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2020-02-14 15:46:37 +00:00
Konstantin Shcheglov
5c332bea91
Stop using 'factory something() => null;' in most cases.
...
I did not change MockSdk, to avoid conflict with
https://dart-review.googlesource.com/c/sdk/+/135241
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/40603
Change-Id: I9f0af20f5914b5ac1aefee02aa8052db269529b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135532
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-12 22:58:57 +00:00
Konstantin Shcheglov
84ff9e5008
Fix NullabilityEliminator to substitute type parameters in bounds.
...
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: I9b3d986a52f8006854b23db600493566aea86cb9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135527
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2020-02-12 22:08:27 +00:00
Konstantin Shcheglov
78b1e15637
Don't report NULLABLE_TYPE_IN_CATCH_CLAUSE in opt-out libraries.
...
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: Iabd6a4b23c81e25bc7045db6d562c38567c81921
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135522
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-12 20:22:37 +00:00
Konstantin Shcheglov
0fa3d79a3f
Move applying LEGACY_ERASURE to isCorrectOverrideOf().
...
Change-Id: Ic9ebd89be8dbbb560b47ae9f96988b552b75ddaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135482
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-12 20:01:27 +00:00
Konstantin Shcheglov
08778f9045
In legacy libraries apply LEGACY_ERASURE to concrete members.
...
This fixes with unforked SDK:
* language_2/abstract/equal_test
* language_2/abstract/object_method_test
Change-Id: I8d183f5a15eef29c590fe56f40e813d56ba6ad54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135359
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-12 18:12:57 +00:00
Jens Johansen
81d4ac07d4
[CFE] Use package config v2
...
Change-Id: I32da9e8b2c1040db1521af4345f8e952c22bd30d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130864
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-12 10:07:25 +00:00
Konstantin Shcheglov
7575235e3b
Test that function types use mutual subtyping for type parameter bounds.
...
For https://github.com/dart-lang/language/issues/807
Change-Id: Ife86fa35fda20347437391d742a4432518d7898a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135350
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-12 00:29:05 +00:00
Konstantin Shcheglov
2f7f627051
Support for --default-language-version flag in analyzer_cli.
...
Change-Id: I3e275c058748d0bf35746280d02ed5a83f5c8685
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135348
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-11 23:38:35 +00:00
Konstantin Shcheglov
b63e3f9425
Replace AnalysisOptions.enabledExperiments with contextFeatures.
...
There should be just one source of FeatureSet, so that when we add
--default-language-version flag, we apply it to the FeatureSet, and
set as the default for the context.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: If140768bb51db1b0f736b91ab5d624e22100405e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135347
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-11 20:16:14 +00:00
Brian Wilkerson
5340bbff98
Add context messages for cases where different types have the same name
...
Change-Id: I2a83f1d5a7c3a8852a6cb91b809bf79c4dbfef71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135341
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-02-11 17:42:33 +00:00
Konstantin Shcheglov
abf7d1fc08
Issue 40572. Pass Packages to AnalysisDriver.
...
Just as SourceFactory is given to AnalysisDriver, so should be Packages.
Understanding --packages and discovery in out of scope.
Bug: https://github.com/dart-lang/sdk/issues/40572
Change-Id: Id120fba0f23a4423797fa9976c4cda5ed54dad53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135188
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-11 00:57:45 +00:00
Konstantin Shcheglov
085c4b49a4
Issue 40482. Fix for Function?.call() reporting unchecked nullable.
...
Bug: https://github.com/dart-lang/sdk/issues/40482
Change-Id: Ifb65cd8016dca18c634cd216759278b7518d41ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135185
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-10 23:26:55 +00:00
Konstantin Shcheglov
7be0667fc3
Issue 40398. Fix for checking type arguments in legacy libraries.
...
Bug: https://github.com/dart-lang/sdk/issues/40398
Change-Id: I4f0086fdf3c0efc5d43976ee9b99566b1eb43f35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135202
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-10 22:56:15 +00:00
Konstantin Shcheglov
2edd3d5e4a
Issue 40414. Test for invalid override checked even via legacy library.
...
Bug: https://github.com/dart-lang/sdk/issues/40414
Change-Id: I73ac38823d05c71985ea0f55f92ea390d9273a45
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135187
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-10 22:56:06 +00:00
Konstantin Shcheglov
85c197a848
Optional parameters of abstract methods may omit default values.
...
https://github.com/dart-lang/co19/issues/516#issuecomment-582039754
Change-Id: I651fd77f03b96b69f5f43bdb1933dd6ad00e2a46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135160
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-10 21:40:45 +00:00
Konstantin Shcheglov
0bd76c7d37
Issue 40546. Ensure that getSourceKind() works for changed files.
...
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/40546
Change-Id: I68b3e0610960bfbad05d6d132d534cea9cfe5925
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-10 18:14:44 +00:00
Konstantin Shcheglov
4aa097b082
Issue 40394. Report warning for nullable enum in switch.
...
Bug: https://github.com/dart-lang/sdk/issues/40394
Change-Id: I9e8112ead97d5ecaccc167b2378112cefa391bcc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134874
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-08 19:59:07 +00:00
Konstantin Shcheglov
eeaa9085ae
Issue 40394. Updates to switch / case validation.
...
No changes to enum validation yet.
Bug: https://github.com/dart-lang/sdk/issues/40394
Change-Id: I2cca426b5b59d18a6244622f84884a3747a07190
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134888
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-07 22:38:40 +00:00
pq
15198ebad8
add pubspec caching to PubWorkspacePackages
...
See: https://github.com/dart-lang/linter/issues/29
Change-Id: Ifcd4ad359a43c9183ab42ed6bb0ebb3586c73afd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134861
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-07 21:56:26 +00:00
Konstantin Shcheglov
6f6797e745
Add NullSafetyUnderstandingFlag, update APIs to use it.
...
DartType.== implementations ignore nullability if the flag is not true.
TypeSystem APIs eliminate nullability from types before doing anything.
Internally analyzer continues using actual nullability for types.
Package nnbd_migration opted into NullSafetyUnderstandingFlag.
Bug: https://github.com/dart-lang/sdk/issues/40500
Change-Id: Ifeea28c01adf1dc59ed2da675b4a62c6334d529a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134865
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-07 21:38:06 +00:00
Konstantin Shcheglov
1f47e5b23d
Revert "Analyze SDK with non-nullable experiment enabled, update MockSdk."
...
This reverts commit 545b80ef0e .
Reason for revert: this is a breaking change for MockSdk users, actually much more serious issue for un-forking SDK. https://github.com/dart-lang/sdk/issues/40500
Original change's description:
> Analyze SDK with non-nullable experiment enabled, update MockSdk.
>
> Change-Id: I80264a6533045c33ed794a5938f6719f3b5a6d0b
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134401
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
TBR=paulberry@google.com ,scheglov@google.com ,brianwilkerson@google.com
Change-Id: If8c3d8322986b01012fa76f9c928f35309c00e3e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134802
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-06 22:55:29 +00:00
Konstantin Shcheglov
6a2afca361
Convert SimpleIdentifier in setter to legacy.
...
Change-Id: Ia7728995353666445c7e9ebb9c1c215a34bc270d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-06 22:52:38 +00:00
Mike Fairhurst
a98f4acd1a
[analyzer] Fix #32913 , no error for inferring a non-const type argument in a generic function used in a const location
...
Bug: 32913
Change-Id: I7e5ef10fdd9befdc7d8a19b2c5c5b91639c82666
Fixed: 33439
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/91105
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2020-02-06 20:33:02 +00:00
Mike Fairhurst
a62b9c8d23
[analyzer] Add a recursive type visitor that can be stopped midtraverse.
...
Change-Id: I9c0b7b8866a44446e7b8044cba59aacd7ee93c72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134482
Reviewed-by: Paul Berry <paulberry@google.com >
2020-02-06 20:33:02 +00:00
Konstantin Shcheglov
c33935faa8
Extract SwitchStatement errors into separate files.
...
R=brianwilkerson@google.com
Change-Id: I0832e2c4ebc9c2597bba6dc13bb9dcf376888b88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134764
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-06 19:49:42 +00:00
Konstantin Shcheglov
545b80ef0e
Analyze SDK with non-nullable experiment enabled, update MockSdk.
...
Change-Id: I80264a6533045c33ed794a5938f6719f3b5a6d0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-06 18:04:02 +00:00
Konstantin Shcheglov
fe0735f959
Fix for constant dependencies when opt-out depends on opt-in.
...
R=brianwilkerson@google.com
Change-Id: I31bb8073fa1059e2edf8903b5fa604afb0f19f50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134571
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-06 00:55:20 +00:00
Konstantin Shcheglov
05dcf371e7
Remove 'withNullability' from TypeImpl.toString()
...
Bug: https://github.com/dart-lang/sdk/issues/40460
Change-Id: Icd967df0252a9fd7ff9941ca7158b7df0190c961
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134384
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-04 21:19:06 +00:00
Konstantin Shcheglov
a1d232a9b4
Issue 40392. Report SWITCH_CASE_COMPLETES_NORMALLY when switch/case completes normally.
...
Bug: https://github.com/dart-lang/sdk/issues/40392
Change-Id: I15c80d0667be1c783cb21870b9f92ee98a4f3042
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134245
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-04 17:46:48 +00:00
Konstantin Shcheglov
8378042f19
Extract test for CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS.
...
Change-Id: I91641cee4320d4d21d121fc0d9494c090cbe2a76
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134246
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-04 17:05:38 +00:00
Konstantin Shcheglov
49e2ed34a2
Issue 40304. Use runtime type equality for checking overrides.
...
Bug: https://github.com/dart-lang/sdk/issues/40304
Bug: https://github.com/dart-lang/sdk/issues/40279
Change-Id: I55a27335cfa923297ee580de6e79df15de004879
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-02-03 22:52:46 +00:00
Konstantin Shcheglov
1fff623c19
Use TypeSystemImpl instead of TypeProvider in DartObjectImpl.
...
We need to be able to use TypeSystemImpl in DartObjectImpl.== to
call runtimeTypesEqual() instead of DartType.==
Change-Id: I2021a0d86a7c304072fd8fee2d1a7e6e979100a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134146
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-03 20:38:46 +00:00
Paul Berry
763ce812ea
Migration: properly handle type parameter types with nullable bounds.
...
This required adding logic to the `TypeParameterType` case of the
`toFinalType` function, so that we look up the decorated type of the
type parameter bound, and convert it to a final type as well.
(Previously we were just using the bound stored in the element model,
which was in many cases the bounds from prior to migration, and hence
it was a `*` type so it behaved as though it was non-nullable).
This required moving `toFinalType` into the `Variables` class so that
it could look up the decorated types of type parameter bounds.
Fixes #40355 .
Change-Id: I53c2636aef6954500589e924b9755a297c2b30f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134061
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Mike Fairhurst <mfairhurst@google.com >
2020-02-03 19:59:38 +00:00
Janice Collins
aa916d6367
Add path parsing to pub support.
...
Change-Id: Ib4edee4d247bc9bb525d63bc527cecebe4e4a5ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134100
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Janice Collins <jcollins@google.com >
2020-01-31 22:17:32 +00:00
Konstantin Shcheglov
bb6cab29b9
Check for correct overrides as the specification requires.
...
Specifically, we replace types of covariant parameters with `Object?`
or `Object` and use subtype check. Then we check types of covariant
formal parameters and corresponding overridden formal parameters.
It looks that NNBD related changes that are coming now require
such more precise following to the specification rules.
Change-Id: Idfa4e3a118050a1be79acce8c708b3aac07b5051
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134043
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-01-31 19:35:23 +00:00
Konstantin Shcheglov
d550879d9d
Implement runtime type equality.
...
Change-Id: I603b5147d7d7e6d8e7267be9c861324b575f259d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134041
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2020-01-30 22:59:43 +00:00
Sam Rawlins
637a801e64
Use 'enum' and 'mixin' with undefined getters, methods, operators, setters
...
Fixes #40177
Change-Id: I0b416a4e77d3d1c5afc1712301c5cf1ea4cfc8d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133043
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2020-01-30 17:01:58 +00:00
Konstantin Shcheglov
e766a6f145
Use Never and Object? in NNBD bottom / top.
...
Bug: https://github.com/dart-lang/sdk/issues/40283
Change-Id: I2ebfc650b3d454bcd80f8f8ae33ed5311a23dd24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-01-30 04:05:50 +00:00