-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#2145. Update existing "Evaluation of Implicit Variable Getters" tests #3052
Conversation
sgrekhov
commented
Jan 21, 2025
- Update assertions
- Rename
- Remove duplicated tests
- Add test cases for mixins, enums, extesions and extension types
Updated according to the dart-lang/sdk#59945 (comment). Please review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! One description may not have been updated?
/// of `id` is a late-initialized getter. This determines the semantics of an | ||
/// invocation. | ||
/// | ||
/// @description Checks that it is not an error if during an evaluation of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo:
/// @description Checks that it is not an error if during an evaluation of the | |
/// @description Checks that it is an error if during an evaluation of the |
This is actually a case which is covered by dart-lang/sdk#50383, and the rule is even stronger than the description here: It is enough that, for example, the declaration of sVar
has an initializing expression that contains a reference to sVar
, the evaluation of the initializing expression doesn't have to need that value (which is in fact the case here, because func
doesn't invoke its argument).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the error expectations below are fine, but the description could be strengthened to say that a circular dependency is an error even when it is only syntactic, and there's no actual infinite loop during evaluation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
2025-01-29 [email protected] dart-lang/co19#3054. Add covariant parameters tests (dart-lang/co19#3059) 2025-01-29 [email protected] dart-lang/co19#3054. Existing tests renamed to Instance Method Closurization (dart-lang/co19#3058) 2025-01-27 [email protected] dart-lang/co19#2162. Add static member and non-redirecting factory constructor conflict test (dart-lang/co19#3056) 2025-01-27 [email protected] dart-lang/co19#2145. Update existing "Evaluation of Implicit Variable Getters" tests (dart-lang/co19#3052) 2025-01-24 [email protected] dart-lang/co19#2138. Add more tests for `call` method/getter (dart-lang/co19#3053) 2025-01-24 [email protected] dart-lang/co19#2162. Add more constructor vs. static member conflict tests (dart-lang/co19#3055) 2025-01-17 [email protected] dart-lang/co19#2976. Add more tests for nullable and FutureOr types (dart-lang/co19#3050) Cq-Include-Trybots: luci.dart.try:analyzer-linux-release-try Change-Id: Ibeafe23be5d8b913db4e83b23f3820cafc3802ac Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/406940 Reviewed-by: Erik Ernst <[email protected]> Reviewed-by: Alexander Thomas <[email protected]>