pq
40e5e46a54
migrate strict{Casts,Inference} from typeSystem
...
Another angle on removing tracking of `strictCasts` and `strictInference` from the type system, this time threading these configuration values individually to the functions that need them. (In contrast to the solution in https://dart-review.googlesource.com/c/sdk/+/341326 ).
See: https://github.com/dart-lang/sdk/issues/53873 .
Change-Id: I63d73fd81401ac03121831af5e8d4ca43200bb7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/341336
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Kallen Tu <kallentu@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-12-15 19:45:09 +00:00
Gihwan Oh
9410b314ab
[analyzer] fix typo
...
Closes https://github.com/dart-lang/sdk/pull/54297
GitOrigin-RevId: 9d83b9899030a5a202b38e9fc4d6cb9f69358a81
Change-Id: Ie334df73b321bc7f4fe32f00e4aa996d0c9508de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/340760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-12-10 20:47:39 +00:00
Sam Rawlins
faf503cbc4
Correct FunctionType docs
...
In particular, revert text about the parameters being sorted.
Also, put all text in present tense.
Also, follow some Effective Dart:
* https://dart.dev/effective-dart/documentation#do-start-doc-comments-with-a-single-sentence-summary
* https://dart.dev/effective-dart/documentation#do-separate-the-first-sentence-of-a-doc-comment-into-its-own-paragraph
* https://dart.dev/effective-dart/documentation#prefer-starting-function-or-method-comments-with-third-person-verbs
* https://dart.dev/effective-dart/documentation#prefer-starting-a-non-boolean-variable-or-property-comment-with-a-noun-phrase
Fixes https://github.com/dart-lang/sdk/issues/52780
Change-Id: Idbe1a1a80281071db5fe25c1faa8ccd5be1a5322
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/337606
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-11-21 20:24:12 +00:00
Konstantin Shcheglov
fee350ca1a
Extension type. Perform ExtensionTypeErasure recursively, move to API.
...
Bug: https://github.com/dart-lang/sdk/issues/54057
Change-Id: Ib1bb67ae98d49f98f3b70c5c19744f1b74a386da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/337261
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-11-20 22:07:06 +00:00
pq
4aefa448c2
fix todos in analyzer
...
Change-Id: Ib5b5351637a07d1530eb96e100613de4fcabe6f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/336720
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-11-16 19:03:58 +00:00
pq
fe6950eceb
enable flutter_style_todos
...
Change-Id: Ic82963b754404d54e37f5fb03819aebc3fa67954
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/336502
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2023-11-15 23:04:19 +00:00
Sam Rawlins
73ab31b98a
analyzer: Move the Source class to be public API.
...
Deprecate accessing LineInfo, Source, or SourceRange via the
old library (pkg/analyzer/lib/src/generated/source.dart).
Migrate all SDK code to the new library.
Fixes https://github.com/dart-lang/sdk/issues/46420
Change-Id: Ic7c98a5820415c92a457f9fa2756351b05520cd1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335382
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2023-11-14 17:10:37 +00:00
Konstantin Shcheglov
03e0e6d18a
Extension type. Issue 53865. Don't consider combined signatures to be extension type members.
...
Bug: https://github.com/dart-lang/sdk/issues/53865
Change-Id: I7db856c4760f40479f2b8471730d7dc8a58fa492
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/332370
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-10-27 19:47:28 +00:00
Konstantin Shcheglov
49ef0be2bc
Add ElementKind.MIXIN, use it for MixinElement.
...
Change-Id: Ie95c6c331ff437c4d6b99bfc7f9a3109f47c985b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/332460
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-10-26 18:27:39 +00:00
pq
5605cadc93
add a hasImmutable property to elements
...
For whatever reason, we (probably I) neglected to add this property and we're fiddling with metadata directly in the linter to find out if an `@immutable` annotation exists on declarations.
This just gets us consistent and will allow me to tidy up a lint or two.
Change-Id: I398d7527227a0407387bd45c474d59b5185c413d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/330048
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Kallen Tu <kallentu@google.com >
2023-10-11 20:14:58 +00:00
pq
3a24a90cdd
add a primaryConstructor getter to ExtensionTypeElements
...
Change-Id: Ib77fb3caebe2039062063ad75f56947f07487fa8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325446
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2023-09-12 21:47:33 +00:00
Konstantin Shcheglov
c3af85fe47
Augmentation. Support for fields.
...
Change-Id: I57a9975c3c6516a310fccd069a1231f139e58296
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325123
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2023-09-11 18:00:03 +00:00
Konstantin Shcheglov
5e60f8816a
Issue 53429. If a const constructor redirects, don't check the (absent) super constructor.
...
Bug: https://github.com/dart-lang/sdk/issues/53429
Change-Id: I6a843ade5374c9dbc95afb746e3a0757b425779e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324262
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-09-05 19:30:41 +00:00
pq
b08f029558
verify that members marked as redeclaring actually do
...
See: https://github.com/dart-lang/sdk/issues/53121
Change-Id: I39294952a3adf0f037417d6e04811e3294128e6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320886
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2023-08-15 23:05:50 +00:00
pq
fd97cd45ef
enforce @redeclare annotation target restrictions
...
See: https://github.com/dart-lang/sdk/issues/53121
Change-Id: I994aac6c733704ac7adc4a7923ee733cdc77aacb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319561
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-08-09 22:45:43 +00:00
Konstantin Shcheglov
8cb82a35e8
Expose greatestLowerBound() from TypeSystem.
...
Bug: https://github.com/dart-lang/sdk/issues/53042
Change-Id: Ib332a7ab005a432d98066d79c2e48a5f06e88716
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318000
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-04 20:47:46 +00:00
Konstantin Shcheglov
508a293029
Revert a few not published API changes.
...
Change-Id: I093c3d3f6e221cfe874e82b598f52087670ce24e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/318020
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-04 19:21:58 +00:00
Konstantin Shcheglov
b035af2fdf
Extension types. Build type erasures.
...
Change-Id: Ief3090ddef317468d66daf4cf8b245bdb0fb896d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317840
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-08-03 02:44:18 +00:00
Konstantin Shcheglov
ec57086a04
Add visitExtensionTypeElement()
...
Change-Id: I1e4b9ed6c646640c4e8ad7b2b5223936605956e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/316626
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-27 21:29:32 +00:00
Konstantin Shcheglov
e6f9e58371
Basic building of ExtensionTypeElement(s).
...
Change-Id: I0489a5dde5afe244d8c4b58351b3ecac6315a790
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/316080
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-26 15:10:09 +00:00
Konstantin Shcheglov
4bb8312b4a
Revert "Move API declarations of elements into src/, re-export."
...
This reverts commit 43db92d9ed .
Revert "Tweaks for comments of classes around augmentations."
This reverts commit 6d0fb5094f .
Change-Id: I9508169158d536302579346defebf696edfe4bec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-07-23 16:43:30 +00:00
Konstantin Shcheglov
43db92d9ed
Move API declarations of elements into src/, re-export.
...
In following CLs I plan to add `final` and `sealed` modifiers.
Change-Id: Ia6b9091034ed9f8f6f8576dbe6029d7e72a9d6b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315249
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-07-21 16:05:21 +00:00
Konstantin Shcheglov
ed776ebbc6
Simplify class and element hierarchy around augmentations.
...
Change-Id: If03fdad6891581a75cedaab8171c4626c9211ac7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/314001
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-07-17 16:56:41 +00:00
Konstantin Shcheglov
c54b4bc5d3
Push class modifiers up to ClassOrAugmentationElement.
...
Change-Id: If99d9e29ec8ca87677a58cd90a68a5dda5c5af9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313183
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-11 18:45:20 +00:00
Konstantin Shcheglov
3e80d29fd6
Use AugmentationExecutableElement, AugmentationMethodElement.
...
These become a single property of ExecutableElement, MethodElement.
No new visitors, no new nodes and elements.
Change-Id: Ic523e9d51356e5a8d2a6cd62cd508344f561ffb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312960
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-11 16:19:09 +00:00
Konstantin Shcheglov
7a258fa43b
Add NotAugmentedXyzElementImpl implements AugmentedXyzElement.
...
So, that we don't have to copy all class members for 99% cases when
there are no augmentaitons.
Change-Id: I5c225905a0460ce5162543553e207a2d4412ecb9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313082
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-07-11 02:22:35 +00:00
Konstantin Shcheglov
3bb4d7d0d4
Parse mixin augmentations, build element model.
...
Change-Id: Ie1bdb6d47b31c527546f62abf65d19a4a4e50ee7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312924
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-10 20:48:32 +00:00
Konstantin Shcheglov
4d4eefa956
Compute 'mixins' and 'interfaces' for ClassElement.augmented
...
Change-Id: I7514576ada4a5dcd048a2c399d5bfe11169f3394
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312887
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-07 21:39:41 +00:00
Konstantin Shcheglov
fc0e656868
Build ClassAugmentationElementImpl, basic linking.
...
Change-Id: I18bd3d97ad9fe661d14e3d3d006219ffceedcfc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312349
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-07 14:55:38 +00:00
Konstantin Shcheglov
ec893a4d8f
Rework ElementImpl and AugmentationElementImpl hierarchies to use XyzOrAugmentationElementMixin(s).
...
Add ClassAugmentationElementImpl, no any tests yet because it
required parsing, AST, etc. And it is also not ready yet.
Change-Id: I601141545e9bf0638771f28bb9498be9de664659
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312345
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-07-05 20:03:47 +00:00
Konstantin Shcheglov
8828fee865
Deprecate ExecutableElement.returnType, use returnType2 instead.
...
Change-Id: Ibd29c3fbec0439236c2cf45c57f820c45427df9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311932
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2023-06-29 23:16:59 +00:00
Konstantin Shcheglov
fae9e418ea
Deprecate Element.enclosingElement, use enclosingElement2 instead.
...
Change-Id: I78edb6d433949eb8bd86f397fb873a078edf9fc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311827
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-06-29 19:45:19 +00:00
Konstantin Shcheglov
8a037770f9
Tweaks for element model documentation comments.
...
As requested in https://dart-review.googlesource.com/c/sdk/+/311725
Change-Id: I76cd2322f9cca9845f3ec767adfd1e5dca9d7c47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311826
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-06-28 20:28:30 +00:00
Konstantin Shcheglov
1fd7e2b670
Update a few documentation comments to the style guide.
...
Change-Id: If019e456de041081ed688cfce4c7f5063055ba39
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311821
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-06-28 17:44:08 +00:00
Konstantin Shcheglov
a49dbe539f
Extract NamedInstanceElement from InstanceElement, use for ExtensionElement.
...
Change-Id: Iee49f110afacc3f5c54fb15e70b3f18ac18c67a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311725
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-06-28 15:16:18 +00:00
Konstantin Shcheglov
d264ceeb05
Add InstanceElement as a super-interface for InterfaceElement and InlineClassElement.
...
Change-Id: Ie92168509cccb5b145bc5c9adea2945813725038
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-06-28 00:56:05 +00:00
Konstantin Shcheglov
b013a40f39
Add isInline to ClassElement.
...
Change-Id: I80dafc9ef0dc03b8090032a7b7168302a8d6ad66
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311150
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-06-23 22:49:09 +00:00
Konstantin Shcheglov
21cfe2ce61
Breaking changes for analyzer version 6.0.0
...
Change-Id: I792c3d66fb10ab779e2a5011b2909efa5738aba7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/265183
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-06-16 16:31:27 +00:00
Ludi Zhan
4079a47cc4
[analyzer] Introduce a new annotation @visibleOutsideTemplate
...
The new annotation is intended to be used on members of class, enum or mixin to opt out the @visibleForTemplate visibility restriction cascaded from class- / enum- / mixin- level.
1. Throw warning if the annotation is added to a invalid target.
2. Update @visibleForTemplate diagnostics logic to opt out members annotated with @visibleOutsideTemplate.
Change-Id: Iec546fc7785cd45f39a1b2a2cc8849ef1cf9d04a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304825
Reviewed-by: Marya Belanger <mbelanger@google.com >
Auto-Submit: Ludi Zhan <ludizhan@google.com >
Commit-Queue: Ludi Zhan <ludizhan@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2023-06-08 18:47:15 +00:00
Konstantin Shcheglov
2e6bdc29de
Add InvalidType, InvalidTypeImpl, but don't resolve to it yet.
...
I ran the CL that does resolve with it in google3, it is mostly
green, but there are a few clients that extend TypeVisitor directly.
So, I want to publish the interface `InvalidType` first, update the
clients, and only then update the resolution.
Bug: https://github.com/dart-lang/sdk/issues/36697
Change-Id: I1f1c995a36849ebbde2c526bb8761d86be87b4ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/301481
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-05-08 19:48:03 +00:00
Konstantin Shcheglov
ec330b47de
Deprecate 'DartType.isDynamic', use 'is DynamicType' instead.
...
Change-Id: Ia3660a0d38f01a590dd3e034f40dbdb5a432638a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/300042
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-05-01 16:09:08 +00:00
Konstantin Shcheglov
a0218e916c
Issue 52176. Support for ojbect pattern in 'Create Getter' and 'CCreate Field'.
...
Bug: https://github.com/dart-lang/sdk/issues/52176
Change-Id: Ic9c97bec1981c5613b23206e872f6f708d53792d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/298920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-04-27 20:52:39 +00:00
Konstantin Shcheglov
cef5bcb602
Remove '@experimental' from declarations related to records and patterns.
...
Change-Id: I4db54e3097c343ec72e041f78df2b38b1835853e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-04-19 00:51:58 +00:00
pq
98014e0e2e
fixed dangling library doc comments
...
Change-Id: I28f5cd8ae31cb7b69da09028d0328e9f6c76bb69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/294681
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2023-04-12 00:29:48 +00:00
Kallen Tu
f7bc72fce6
[analyzer/cfe] Remove interface mixin, final mixin and sealed mixin.
...
Added error messages for when users try to use invalid mixins + a language test that tests that (and tests in each of the front ends).
Removed the tokens from the parser listeners.
Removed all behaviours and error reporting related to these invalid mixins.
Change-Id: I558595826dae7e2c176bd1929e97caa2335c167c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290614
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2023-03-30 11:56:08 +00:00
Konstantin Shcheglov
56a43c0867
Add 'DartType.isDartCoreType'
...
Change-Id: Ifd72be0e0e70e0d48f0f0ff8d2afa2102ef2d6ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/290707
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-03-23 16:02:13 +00:00
Kallen Tu
fde66e95bd
[analyzer] Mark induced modifiers on sealed types.
...
Changed the classes to store induced modifiers on `isBase`, `isFinal`, and `isInterface`. If one of these getters are true and `isSealed` is true, then we assume it's an induced modifier. (Since a class or mixin cannot be both sealed and another modifier).
There's a subtle change here where the induced modifiers are only marked on sealed classes which means that classes that subclass/subtype non-sealed classes won't get any base or final errors. This will also affect how lints will be reported -- at the next erroneous subtype and not downstream from that type.
Also, the context messages now point to the class with the explicit modifier inciting the error.
Bug: #51671
Change-Id: I4c7541d956382dcb3917a4b8d73756840880c52f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289406
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2023-03-20 22:26:26 +00:00
Konstantin Shcheglov
5ecf6db857
Deprecate 'DartType.isVoid', use 'is VoidType' instead.
...
Maybe? With an explicit type check we don't try to make an impression
that anything more happens here, e.g. for type parameters.
Similarly, for https://github.com/dart-lang/sdk/issues/36697 we would need to introduce `InvalidType`, which is not `DynamicType`. And so, `DartType.isDynamic` should not return `true` for `InvalidType`, it is not a property that various types may have, and should be replaced with explicit `is DynamicType`.
We also have `UnknownInferredType`, but it should never leak to clients.
Change-Id: I302b06355143d97bb52922c805dbad585a522e0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/288340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-03-14 18:50:33 +00:00
Konstantin Shcheglov
18d414d24d
Add 'get sinceSdkVersion' to Element.
...
Bug: https://github.com/dart-lang/sdk/issues/34978
Change-Id: Ibabcbb9f4dcd5ecb0300af05a494dc2e5af14fb2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287241
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2023-03-08 20:29:57 +00:00
Kallen Tu
fe10dec12b
[analysis_server] Avoid suggesting modified classes and mixins in contexts that don't make sense.
...
Change-Id: I0a5ebc1812998358d20a579d496ac3a26dec17fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284488
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Kallen Tu <kallentu@google.com >
2023-02-23 21:44:19 +00:00