Johnni Winther
d68f552e70
[analyzer,cfe] Handle (un)assigned state in try-statement
...
This handles (un)assigned state in try-statement that do not
complete normally. In this case we could create a variable model
for an unreachable state that would be both assigned and unassigned
leading to an assertion failure.
Closes #41284
Change-Id: Id4c7689bc7c614338af3542eb342c964696fca1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141981
Auto-Submit: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2020-04-01 15:46:15 +00:00
Jens Johansen
43079207d4
[parser] Parse a!?[0]
...
Fixes #41177 .
Change-Id: I135f0b7aedbcb320ab0d1a1806b2ad3bedcda307
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141886
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-04-01 07:33:01 +00:00
Konstantin Shcheglov
c957128c7e
Document differences in inheritance tests between CFE and analyzer.
...
Change-Id: I812a268990f8db844b03f06545804ce60e7164e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141380
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-30 17:34:08 +00:00
Erik Ernst
f180511499
Add implementation of several parts of non-function type aliases
...
Generalize `TypeAliasBuilder.unaliasDeclaration` such that it takes
an argument `typeArguments` and uses that to handle the case where
a type alias application ultimately expands to a type variable (e.g.,
with `typedef F<X> = X`, `F<int>` expands to `int`), and also to
emit a compile-time error in the case where such a type alias is
used to invoke a constructor or invoke/tear-off a static member.
Next step: Pass `List<UnresolvedType> typeArguments` from `handleSend`
to `finishSend` etc. to `BodyBuilder.buildConstructorInvocation`,
which seems to be a somewhat larger refactoring; needed in order to
make `generic_usage_class_test` pass. Some other fix is needed in
order to make `generic_usage_type_variable_test` pass.
Change-Id: Icd3593f03c6348c50b1ec3d7c9676f1bd7c56daf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141240
Commit-Queue: Erik Ernst <eernst@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-28 09:35:02 +00:00
Konstantin Shcheglov
8120ee57d2
Merge types during instance member inference.
...
Change-Id: If3f252d1c031fcb5219e485ac7a053186e6b950c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141207
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-27 16:22:26 +00:00
Johnni Winther
25060e63c6
[cfe] Add tool for updating all id-tests and expectation tests
...
Change-Id: I191ebe0d59d44055a6818505db0112d3a452bdbb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141242
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-03-27 14:52:20 +00:00
Jens Johansen
4ab3bda5db
[parser] Change recovery for constructor; report errors in bad constructors
...
Change-Id: I3d656afce4a3ec14c7c099893a434abba3945ebf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140862
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-27 11:57:56 +00:00
Konstantin Shcheglov
216d98ad2c
Use NNBD_TOP_MERGE to combine signatures of the inherited members.
...
Initial: https://dart-review.googlesource.com/c/sdk/+/133041
Reverted: https://dart-review.googlesource.com/c/sdk/+/133086
Instance inference is not supported yet in this CL, will continue
in following CLs.
Change-Id: I72de01180b0624eeafc03bfe415ed3d928f1110f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133167
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-26 21:13:12 +00:00
Mike Fairhurst
3095a082cd
[analyzer] Add an API to get a language comment token off a unit.
...
Change-Id: I377fdc44d5e514d6d9a601b3947c3908e5a4497a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140768
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2020-03-26 03:47:57 +00:00
Johnni Winther
9ea09ce17b
[cfe] Improve message on final variable assignment
...
Closes #40242
Change-Id: Iccdfbf01da18ddd501dc705b678358c974003551
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140654
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-03-24 13:11:29 +00:00
Johnni Winther
62f84880ef
[cfe] Report error on missing return from non-nullable function
...
Closes #40520
Closes #40948
Closes #40425
Change-Id: I0aa3cfa51b410c90dd0bea963846eeb6b2e73efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140540
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-24 08:21:36 +00:00
Johnni Winther
9605fc367f
[cfe] Report error on required named parameters overriding optional named parameters
...
Closes #40950
Change-Id: I5d829affd3df9ca66d5a1b632f364779bdcfb2ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140541
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-24 06:22:16 +00:00
Konstantin Shcheglov
5e4f28b900
Use ClassHierarchy for computing implemented interfaces.
...
Change-Id: Ie7acf61f9a29d59cc1416dea85a6adb7c534b8c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140703
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-23 22:00:37 +00:00
Konstantin Shcheglov
6b7d7aa2c1
Type Function should be excluded from extended / implemented / mixed types.
...
Change-Id: If225400a976657f042856bfdaf95b285f98cebb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-23 20:35:37 +00:00
Johnni Winther
4620d8fc6b
[cfe] Add context to member type inference errors
...
Change-Id: I968ac9a9e561ff37bfc25ac91e000578b023646d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140500
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-23 19:34:03 +00:00
Dmitry Stefantsov
d9f485b241
[cfe] Restrict nullable typedefs to nonfunction-type-aliases
...
Change-Id: I1ca5a44159d6b9c514606c8ea1c4535880b697bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140286
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-23 16:21:03 +00:00
Johnni Winther
d2e96aa6d3
[cfe] Report error on (un)assigned late variables
...
Closes #40601
Closes #41103
Closes #40946
Change-Id: I1a28f497ffe0be3d1f9e673f1e8be7a518bbfc7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140403
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-23 14:48:53 +00:00
Johnni Winther
0e75a0650f
[cfe] Handle mixing in Function
...
Closes #35477
Closes #35573
Change-Id: I0612641108caf1fa08da1aae7684e7f33dfe3b46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140402
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-23 09:56:30 +00:00
Johnni Winther
2049335af3
[cfe] Improve message on ambiguous extension member access
...
Closes #40862
Change-Id: I7cc2c0cfbbc878709dc3ad645d8a4b37094056c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140520
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-03-23 09:33:20 +00:00
Johnni Winther
ed38d08e51
[cfe] Omit warning when extending/implementing Function
...
Change-Id: I44cf613c4aa654818d7bd53de555cfe60f34429d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140404
Auto-Submit: Johnni Winther <johnniwinther@google.com >
Reviewed-by: David Morgan <davidmorgan@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: David Morgan <davidmorgan@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-23 08:47:20 +00:00
Konstantin Shcheglov
bdf1454357
Consider FunctionType(s) with required named parameters as subtypes of legacy FunctionType(s) with named parameters.
...
Change-Id: Ic2f6b0226ec7885e45ef54053b95b84d3bbf8201
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140181
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-03-21 21:51:36 +00:00
Johnni Winther
eb4880beca
[cfe] Don't include Function in Class.supertype and Class.implementedTypes
...
Change-Id: Ib510080a331915a66a0ca51507f8f2bcd29940c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140042
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-03-20 16:48:09 +00:00
Johnni Winther
6dff390dec
[cfe] Compute consolidated supertypes
...
Change-Id: Ifa2303afd61af184b171f13f5959b0786273cedb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140041
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-19 15:26:09 +00:00
Dmitry Stefantsov
3b6935f30e
[cfe] Report NNBD warnings as errors in strong mode
...
Closes #40981 .
Bug: https://github.com/dart-lang/sdk/issues/40981
Change-Id: I95715ab973a6f09bf7f8b4e090e5a80663cd4861
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139463
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-19 11:26:39 +00:00
Konstantin Shcheglov
4844fa9622
Issue 40959. Support null-shorting for cascades.
...
Bug: https://github.com/dart-lang/sdk/issues/40959
Change-Id: Ia7fd153debafd13ab469bbfcc3a2d1ef3feaa5f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139865
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-03-18 07:36:36 +00:00
Johnni Winther
e470662897
[cfe] Report error on opt-in exporting opt-out
...
Closes #41032
Change-Id: I45fbb4c5cc5e723d3638ceb650909764d5c8012d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139460
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-16 08:28:17 +00:00
Johnni Winther
6c6144bb74
[cfe] Implement consolidated in ClassHierarchyBuilder
...
Closes #40414 and #40156
Change-Id: I066aa8ceef4f998230215fd9e9b446b2281cc3bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138294
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-13 08:16:49 +00:00
Konstantin Shcheglov
ef6c7efc9f
Issue 40941. Report FINAL_AND_COVARIANT_LATE_WITH_INITIALIZER.
...
Bug: https://github.com/dart-lang/sdk/issues/40941
Change-Id: Ica0bbbdeee447c410cbfd64aea1a643711d21655
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139322
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-03-12 21:04:06 +00:00
Jens Johansen
13dbe2a815
[parser] Correct precedence on ?[ when it's an index bracket operator
...
Fixes #40267 .
Change-Id: I1929da0500f85f70dc241d969d05590a1e0c277e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138927
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-12 11:25:02 +00:00
Konstantin Shcheglov
17eec5bcde
Mark variables written anywhere as not definitely unassigned.
...
Change-Id: Ia3fa8050eca7c7523500cb63620489cecb15f6d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139038
Reviewed-by: Paul Berry <paulberry@google.com >
2020-03-11 19:47:44 +00:00
Brian Wilkerson
a8840d621a
Exclude recently added test data
...
Change-Id: I56d775a89df9120c011d2964ef550a0d661d0a5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139027
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2020-03-11 00:16:08 +00:00
Konstantin Shcheglov
9a0c09ecb2
Track definitely unassigned variables.
...
Change-Id: Id610a133912605f9af63222f25408942420cbf1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138881
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-10 18:35:40 +00:00
Konstantin Shcheglov
24c8021f03
Replace initialize() with declare().
...
Fixes https://github.com/dart-lang/sdk/issues/38791
Change-Id: I954059160c75de91e1e32fe2f82ebfdc5569d947
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138666
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2020-03-09 18:24:51 +00:00
Nate Bosch
d3c0d59706
Disallow non-external generative JS constructors
...
Towards #40434
Towards #38875
Fixes #33834
- Add a shared error message for a non-external constructor.
- Check for non-external non-factory constructors constructors in the JS interop
checks.
- Remove commented out code in Dart2JS that used to handle this check.
- Clean up skipped tests due to the missing static error. The status in
`legacy_status_dart2js.csv` has no behavior impact but is removed for
completeness.
- Add `external` to a few test cases.
- Remove unused dart2js error message.
- Add `annotating` to hardcoded spelling list.
- Ignore missing example for web specific error message.
- Switch some dart2js error expectations to GENERIC since the message is no
longer defined with other dart2js errors.
Non-external synthetic constructors are ignored for now. An upcoming change will
automatically convert these to external.
Change-Id: I3b4a042392826c528689d81c4255f5369a0a7a90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138043
Commit-Queue: Nate Bosch <nbosch@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2020-03-06 17:06:39 +00:00
Konstantin Shcheglov
0649115b06
Rename VoidWithTypeParameters to VoidWithTypeArguments.
...
Change-Id: I5df6a49f0b27b6edfe2ce0f677d5f898900d8384
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-03-05 17:31:34 +00:00
Jens Johansen
a8c7757589
[CFE] Don't hard-code uncertain version numbers in messages or tests
...
Instead don't mention them (until they are certain), and make them
certain in tests, by setting a specific version (2.9999 in this case).
Change-Id: I1a375b4908c9d06f0241a6cda0746172d6b46c15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138285
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-04 14:35:05 +00:00
Jens Johansen
f828f00b59
[parser] Error recovery of type parameters on void
...
Fixes #39958 .
Change-Id: I851bef762776f4b68f0fcb645d634019b8b32e81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137925
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-04 14:02:35 +00:00
Sam Rawlins
e7e45599cb
Improve error recovery of misplaced await or yield
...
Bug: #32967
Change-Id: I9f8e2ae434ea79470949e7931bcb80c542c54f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138042
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-03-03 14:58:21 +00:00
Johnni Winther
101588f0f4
[cfe] Implement legacy top merge functionality
...
+ fix getter/setter type inference
Change-Id: I9a4bed2b6a53131cbc9946bac0a01a4b15a63a91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137922
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-03 12:19:09 +00:00
Jens Johansen
47d462e8b1
[parser] Better handling of nullable types vs conditional expressions
...
Fixes #40834
Change-Id: I2fdad5a383c1873b1dd782b70e2f1e3ab8664b40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137960
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-03 09:49:57 +00:00
Sam Rawlins
e687b62ffe
Improve recovery on yield not-in generator; Improves #32967
...
Fix is inspired by very similar recover for `await` in synchronous
function, like `looksLikeAwaitExpression` and `endInvalidAwaitExpression`.
Change-Id: I50bf0c1e73c31551b94de29d78fd3d449c30fd20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136920
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-03-02 17:29:22 +00:00
Johnni Winther
fbe9f6115d
[cfe] Handle Object* in NNBD_TOP_MERGE
...
Closes #40481
Change-Id: I5f1060b137e9855106873b2173930d3ebed69930
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137921
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-02 12:15:50 +00:00
Johnni Winther
5800997ed7
[cfe] Correctly merge nnbd signatures
...
Change-Id: I33e55f6ba4c2822c790667a06e0456410696ca04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137920
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-02 12:15:50 +00:00
Jens Johansen
3969356f1a
[parser] Parse bangs before type parameters correctly
...
Change-Id: Ie05e57d12cdbdeac037785ef6b94497c77d264ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137789
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-02 11:21:40 +00:00
Jens Johansen
399c68e884
[parser] Parse chained calls with type arguments correctly
...
Change-Id: Ifaecd7f74c4e2d3d332fc759f5e2ae55de47b8a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137784
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-02 10:28:47 +00:00
Jens Johansen
31c7cdf7d8
[parser] Fire event to clear out metadata in Parser.parseDirectives when seing ';'
...
Fixes #40755 .
Change-Id: I653703e23ca25a95a0e3dda1a9ff169795b889e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137790
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-02 08:39:33 +00:00
Jens Johansen
1b7b0bcc95
[parser] Allow covariant late final variables when it doesn't have an initializer
...
Bug: #40805
Change-Id: I94db171493ccb57f294928a3e2cec60740a09e91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137796
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-02 08:32:43 +00:00
Jens Johansen
3660b9ecc7
[parser] New syntax for null aware index (2nd try)
...
This reverts commit bc4893a3b3 .
The previous attempt failed because when we check if something is a
conditional expression we used a rewriter that didn't actually rewrite.
This further down the line (still checking if we can parse the expression)
results in errors occurring (that wouldn't have occurred if the rewrite
had happened) and the conclusion was thus that it wasn't a conditional
expression and we parsed it as a null-aware index operator (which gave
errors because it wasn't).
This 2nd try solves it by having a rewriter that actually rewrites,
but then allows to undo the rewrites after we're done parsing.
Change-Id: Ide3c0d6a870d4dc18b6d9475b0227d93c733dc7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136624
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-02-26 13:31:52 +00:00
Johnni Winther
aa31a9162b
[cfe] Support constant evaluation in agnostic mode
...
Change-Id: Ia33ea19a091b1172eb9b4125f5f30a625886d34e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136632
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-02-24 13:29:05 +00:00
Johnni Winther
a9162bd599
[analyzer,cfe] Implement mixed inheritance id test for analyzer
...
Change-Id: Ie4ce09b83c2a96a5ad16c60d2924f18cd90a4089
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136633
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2020-02-24 13:28:26 +00:00