Johnni Winther
13c4ad23c5
[kernel] Add SwitchStatement.expressionType
...
This adds the static type of the switch statement expression to
the AST to better support optimizations based on the possible
runtime values of the switch expression.
TEST=existing
Change-Id: Ief35b687150401100d8c96721a026e9f0911b3b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/301063
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Mayank Patke <fishythefish@google.com >
2023-05-08 07:39:02 +00:00
Johnni Winther
ff0079b94b
Reland "[cfe] Enable verification in platform compilation"
...
This relands https://dart-review.googlesource.com/c/sdk/+/299100
The fix is in patchset 2
Change-Id: I505f3d9c67625cac24ecf60f0eb3d0617d2e847d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/298821
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2023-05-01 07:35:41 +00:00
Johnni Winther
cb7546f58d
[cfe] Handle unevaluated constants in enums for exhaustiveness checking
...
If enum values have used defined fields that use fromEnvironment constants
the enum values themselves are seen as unevaluated constants when
compiling with dart2js. This means that the enum value are not recognized
correctly in exhaustiveness checking.
This CL changes the enum value representation of the CFE to use the
enum class and the name of the enum element, derived either from the
instance constant or the unevaluated constant expression.
Change-Id: I7d5791a41349dacd20b588f5dbfca37d8755ef79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/299100
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2023-04-28 06:52:59 +00:00
Oleh Prypin
7bbf7ff43e
Revert "[cfe] Enable verification in platform compilation"
...
This reverts commit 20e0ddf130 .
Reason for revert: breakages in google3
Original change's description:
> [cfe] Enable verification in platform compilation
>
> Closes #32530
>
> Change-Id: I5a44e211a4b203e4879dbc8f6bf4bbec5abf51f3
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/298820
> Reviewed-by: Jens Johansen <jensj@google.com >
> Commit-Queue: Johnni Winther <johnniwinther@google.com >
> Reviewed-by: Nicholas Shahan <nshahan@google.com >
Change-Id: Idb2c30d93ad385431734c4a4e884d3d53be76b2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/299040
Commit-Queue: Alexander Thomas <athom@google.com >
Reviewed-by: Alexander Thomas <athom@google.com >
Reviewed-by: Oleh Prypin <oprypin@google.com >
Auto-Submit: Oleh Prypin <oprypin@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
2023-04-27 08:43:00 +00:00
Johnni Winther
20e0ddf130
[cfe] Enable verification in platform compilation
...
Closes #32530
Change-Id: I5a44e211a4b203e4879dbc8f6bf4bbec5abf51f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/298820
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Nicholas Shahan <nshahan@google.com >
2023-04-27 07:34:39 +00:00
Johnni Winther
009cbfbeac
[kernel] Merge front_end and kernel verifiers
...
This merges the front_end and kernel verifiers into one Target based
kernel verifier. The RedirectingFactoryBody work-around is moved to
package:kernel to support its verification.
TEST=existing
Change-Id: I0adf4d2c22c4009cf439b3b23fa14192253a2846
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280161
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Joshua Litt <joshualitt@google.com >
2023-04-26 14:14:36 +00:00
Johnni Winther
21cc667dca
[Reland][cfe] Support external constructor with final fields
...
This adds support for having a final field and an external constructor
without error, assuming that the external constructor initializes the
final field. This supports the inline class with external members use
case.
Change-Id: I33b78275e967636ed0697d17f7921e9eee30401b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279095
Reviewed-by: Srujan Gaddam <srujzs@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2023-01-17 17:29:28 +00:00
Johnni Winther
deaf9ce16e
Revert "[cfe] Support external constructor with final fields"
...
This reverts commit c70d266270 .
Reason for revert: Crash detected
Original change's description:
> [cfe] Support external constructor with final fields
>
> This adds support for having a final field and an external constructor
> without error, assuming that the external constructor initializes the
> final field. This supports the inline class with external members use
> case.
>
> Change-Id: Ie297ccc39b0a0731c146f9ac0698bba3fd83bfeb
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278502
> Reviewed-by: Srujan Gaddam <srujzs@google.com >
> Commit-Queue: Johnni Winther <johnniwinther@google.com >
> Reviewed-by: Chloe Stefantsova <cstefantsova@google.com >
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I339d9008cb84cda8dc20f29d1e103289bb5596b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278820
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com >
Auto-Submit: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Srujan Gaddam <srujzs@google.com >
Commit-Queue: Srujan Gaddam <srujzs@google.com >
2023-01-10 17:20:01 +00:00
Johnni Winther
c70d266270
[cfe] Support external constructor with final fields
...
This adds support for having a final field and an external constructor
without error, assuming that the external constructor initializes the
final field. This supports the inline class with external members use
case.
Change-Id: Ie297ccc39b0a0731c146f9ac0698bba3fd83bfeb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278502
Reviewed-by: Srujan Gaddam <srujzs@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com >
2023-01-06 12:25:21 +00:00
Johnni Winther
81845864ca
[kernel] Rename View* to Inline*
...
TEST=existing
Change-Id: I8726c936261ceb770b489f264d14fff02a1b4998
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275243
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2022-12-14 08:36:57 +00:00
Johnni Winther
91509ba7c5
[cfe] Derive view representation type from field
...
Change-Id: I83c0f45fa57e71c8a902f872547f26fbfdc9785a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269760
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2022-11-18 10:30:26 +00:00
Lasse R.H. Nielsen
8a883fa54d
Change : to = for default values in pkg.
...
Leaves some in parser test:
pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_prime.dart
TEST=Refactoring, covered by existing tests.
Change-Id: I7a83ef95df3cbd283878b3685b5c747bd89a1b16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256125
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Lasse Nielsen <lrn@google.com >
2022-08-24 15:57:16 +00:00
Jens Johansen
104b0deb5c
[kernel] Fix verifier having exponential behavior
...
Before this CL the verifiers `visitInterfaceType` would start by calling
`node.visitChildren(this);` and finish by calling
`defaultDartType(node);` which calls `defaultNode(node)` which calls
`node.visitChildren(this);`. This means that we call `visitChildren`
twice which means exponential --- e.g. the added test with nested Lists
(List mentioned 40 times) the innermost type would have been visited
549,755,813,888 times (that's 500+ billion times) (for a total of
1 trillion+ visits to types for that alone).
Fixes https://github.com/dart-lang/sdk/issues/49780 .
PS: We don't want to run the formatter on that either. It doesn't
exhibit bad speed-wise behavior but the output isn't exactly pretty.
Change-Id: Ibb2f0d2669511934badb562cb96ee439bd44bebd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256121
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2022-08-24 06:06:12 +00:00
Alexander Markov
3a1229e56c
[kernel] Remove obsolete AsyncMarker.SyncYielding and YieldStatement.isNative
...
AsyncMarker.SyncYielding and YieldStatement.isNative became
obsolete after async/async*/sync* kernel transformation was removed in
https://dart-review.googlesource.com/c/sdk/+/249944 .
TEST=ci
Issue: https://github.com/dart-lang/sdk/issues/48378
Change-Id: I69ac994af77f7e403686750bf8df437868bf33fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249947
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Slava Egorov <vegorov@google.com >
2022-07-11 18:20:45 +00:00
Johnni Winther
f6846849b9
[cfe] Handle augment super expressions
...
This adds the generation of access to augmented procedures.
TEST=existing
Change-Id: I5efa9cc541b86c18735bb1f4c51c73976ffa42ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250164
Reviewed-by: Tess Strickland <sstrickl@google.com >
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2022-07-04 12:37:50 +00:00
Jens Johansen
3c8a679b46
[CFE] Handle unevaluated constants differently in constant evaluator
...
This for instance avoids an exponential blowup that would previously
have occurred in certain cases.
Change-Id: I258d8153e75f7059bca346826b5dec62cc1bac84
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249000
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Joshua Litt <joshualitt@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2022-06-22 08:51:04 +00:00
Aske Simon Christensen
28dec99cf5
[kernel] Allow bare return in sync* and async* functions in verifier
...
Such return statements are allowed in Dart, and they can be present in
kernel that has not been processed by the async transformation.
Change-Id: I8592cce58cb8fca2d78cdb0d5e5532715553c1ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/242544
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2022-04-29 15:02:51 +00:00
Johnni Winther
88846ca4b4
[kernel] Remove unused Typedef fields
...
The fields typeParametersOfFunctionType, positionalParameters,
and namedParameters were never used.
TEST=existing
Change-Id: I0ca1c546fdf94df9c3248164a56ed88cd2468b18
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/239310
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2022-03-30 13:01:40 +00:00
Johnni Winther
e16a4e76e6
[cfe] Use flatten(T) as future value type for pre-nnbd async functions
...
Change-Id: I38d537112e66c08bb06bc2493b3126b5f8f797b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/239022
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2022-03-28 10:42:22 +00:00
Johnni Winther
bc1c71fd9b
[cfe] Handle un-inlined fields/locals in eager instantiation constantification
...
Closes #47108
TEST=existing
Change-Id: I590939161cde1316eede7d828dff5fe6ac2790fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212577
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-09-07 15:14:36 +00:00
Johnni Winther
4ff04f641b
[kernel] Add always_declare_return_types lint
...
Change-Id: Icdcc648f42393b28daf648f752e3b4d61f51aa10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212043
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-09-01 16:50:27 +00:00
Johnni Winther
097a511d9f
[kernel] Add annotate_overrides lint
...
Change-Id: I1fffd60eeb14ecd6d5ba30cd584a75ddd4a8acfc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212005
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-09-01 11:45:17 +00:00
Johnni Winther
5dc4d65114
[kernel] Add InvalidExpression.expression
...
... and use this to wrap expressions instead of Let
TEST=existing
Change-Id: I6d1f5cfa4693222840d6cb406790c39c6ae63e5d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208580
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-08-04 08:40:18 +00:00
Johnni Winther
66f6a490d7
[cfe] Handle TypedefTearOff(Constant) in constant evaluation
...
+ fix bug in TypedefTearOff.getStaticType and implement
TypedefTearConstant.hashCode to match operator==
Closes #46674
Change-Id: I95d9e058865b7290208429f671e8f276b1d7993c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207660
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-07-22 18:09:29 +00:00
Johnni Winther
fac1174b28
[cfe] Support lowering for redirecting factory tear offs
...
- including refactoring to reuse functionality in
constructor_tearoff_lowering.dart
Change-Id: I7d9cad93a2cf7b809eb7726fbef7bf5a57a2ae82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207303
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-07-20 15:58:40 +00:00
Dmitry Stefantsov
ff2be51b1f
[cfe] Generate TypedefTearOff nodes on the output
...
Change-Id: I4b4a25137bffb0fa284a94908b05fef9b9e5c5da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206370
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-07-13 09:13:15 +00:00
Alexander Markov
b07305d2c3
[kernel] Visit/transform Typedef fields
...
Previously, certain fields of Typedef kernel AST nodes
were omitted from visitChildren(), transformChildren() and
transformOrRemoveChildren() and were not properly visited.
Also, the following related problems are fixed in this CL:
* parents of VariableDeclaration nodes in Typedef were not properly set;
* verifier didn't account for VariableDeclaration nodes in Typedefs.
TEST=existing tests
Change-Id: I4f9cb694ad9cacc9c20fe66e8a49f73f547ca245
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96964
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-05-19 17:47:02 +00:00
Johnni Winther
fdc765faad
[cfe] Make TypeParameter.defaultType non-nullable
...
TEST=existing
Change-Id: I0a8fdf09f742b55357411f12dc6164d4050bb83c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196283
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-04-21 13:51:50 +00:00
Johnni Winther
69d56fd82a
[kernel] Make TypeParameter.bound non-nullable
...
Change-Id: I31e693a5b77db039c6a2f8ac8ea534ad663ae0ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195988
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2021-04-20 10:56:56 +00:00
Johnni Winther
d8f2b7cc44
[kernel] Make .function non-nullable on Procedure, Constructor, and LocalFunction
...
TEST=existing
Change-Id: I4d0ae16291414e58207b7de0466d989d27997619
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195074
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-04-14 08:17:28 +00:00
Johnni Winther
64460ec47f
[kernel] Make Member.name non-nullable
...
Change-Id: Id2befd868e93985d6af463c2ccd410cd56b68187
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194721
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2021-04-12 13:48:46 +00:00
Dmitry Stefantsov
d6b79dab6c
[cfe] Correct argument count in extension member errors
...
Closes #45204 .
Bug: https://github.com/dart-lang/sdk/issues/45204
Change-Id: I5295704a8d470e639fe346dbbbf80ad28ff614a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190520
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-03-15 10:46:00 +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
Johnni Winther
a8297fd7ed
[kernel] Make InterfaceType.className final
...
TEST=pkg/vm/lib/transformations/mixin_deduplication.dart
Change-Id: I95adf2fbe31e3cabd9b1a52a0f4545b5281e6775
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185546
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-02-21 09:55:17 +00:00
Johnni Winther
c6e068aff0
[kernel,front_end] Part 1 of migration wave 2
...
Change-Id: I4c6413c2011da55ad1d82739130be750cc2b8b37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185380
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-02-18 20:04:40 +00:00
Johnni Winther
ee0c0bcd57
Reland "[kernel] Ensure that visitors don't implicitly returns null"
...
This is in preparation to migrate package:kernel to null safety.
For the visitor interfaces to support non-nullable return types, the
implementations must avoid using `null` as return value in its base case.
TEST=Refactoring
Change-Id: Ie8fa5d41b99850d9e4abb59634c72920c64128d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183691
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2021-02-10 07:51:52 +00:00
Johnni Winther
b60e0aa5a1
Revert "[kernel] Ensure that visitors don't implicitly returns null"
...
This reverts commit ce81216885 .
Reason for revert: Flutter dependency
Original change's description:
> [kernel] Ensure that visitors don't implicitly returns `null`
>
> This is in preparation to migrate package:kernel to null safety.
> For the visitor interfaces to support non-nullable return types, the
> implementations must avoid using `null` as return value in its base case.
>
> TEST=Refactoring
>
> Change-Id: Ie5e4153f8d3779d94957bb13b3d2d2a942040ff2
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179760
> Commit-Queue: Johnni Winther <johnniwinther@google.com >
> Reviewed-by: Jens Johansen <jensj@google.com >
TBR=jensj@google.com ,johnniwinther@google.com
Change-Id: I61b838d3371e6b1de2427716d056324c120be499
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183689
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2021-02-09 12:41:12 +00:00
Johnni Winther
ce81216885
[kernel] Ensure that visitors don't implicitly returns null
...
This is in preparation to migrate package:kernel to null safety.
For the visitor interfaces to support non-nullable return types, the
implementations must avoid using `null` as return value in its base case.
TEST=Refactoring
Change-Id: Ie5e4153f8d3779d94957bb13b3d2d2a942040ff2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179760
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-02-09 09:46:46 +00:00
Johnni Winther
6ce8d74761
[cfe] Add Function.futureValueType and serialize Let.fileOffset
...
Serializing Let.fileOffset supports positions in stacktraces resulting
from null aware expressions, like `if (o?.foo) ...` when `o` is `null`.
Adding Function.futureValueType supports the proper backend
implementation for the fix in
https://dart-review.googlesource.com/c/sdk/+/181303
Closes #44654
TEST=existing
Change-Id: Ie5939a248d3d8bf41388e8f435e4ba4195afeabd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/182269
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-02-04 14:06:47 +00:00
Johnni Winther
af283dedc2
[cfe] Handle Extension.fileUri in getLocationInEnclosingFile
...
Closes #44719
Change-Id: I5c277e869bf7d24c9db0f3f4b76640aae8a65b22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180181
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2021-01-21 08:01:23 +00:00
Johnni Winther
34fb48bb8a
[kernel,front_end] Migrate first wave of pkg/kernel and pkg/front_end
...
Migrates libraries dependent only on already migrated libraries.
Change-Id: I0e85ee8dbc2afce031b92e0009e71c206a55af28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179502
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-01-18 15:40:21 +00:00
Johnni Winther
b4d4316de0
[cfe] Rename stub kinds
...
ForwardingStub -> AbstractForwardingStub
ForwardingSuperStub -> ConcreteForwardingStub
MixinStub -> AbstractMixinStub
MixinSuperStub -> ConcreteMixinStub
TEST=refactoring
Change-Id: Ice76a41ce8e1071f553ed8fd3ecbb29c97377161
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177129
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-29 16:54:55 +00:00
Johnni Winther
60702d4158
[cfe] Make field assignability immutable
...
Changes fields to be either mutable or immutable by construction.
This ensure that we don't create setter references for fields that
cannot be assigned to and is a prerequisite for replacing @fields/
@fields= canonical names with @getters/@setters.
TEST=existing expectation tests and verification
Change-Id: I70b9a504ee6f221b7c334ac02620feb0d5f7ae01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176665
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-12-28 16:11:14 +00:00
Johnni Winther
3d19493f2d
[cfe] Add flag to identify lowered locals
...
+ add predicate helpers to identify these and extract their
original names.
TEST=pkg/front_end/test/predicates/predicate_test.dart
Change-Id: I4d94c575d010b6b01c985eaf5392b9e0e979d044
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175250
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-12-08 14:53:14 +00:00
Johnni Winther
a3236f6622
[cfe] Disable verification of opt-in/opt-out types
...
In response to https://dart-review.googlesource.com/c/sdk/+/174860
Change-Id: I8d037bcd833990d242c0822adecbd0c4086e604f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174925
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-03 17:08:43 +00:00
Johnni Winther
887ab360e5
Revert "[kernel] Ensure that visitors don't implicitly returns null"
...
This reverts commit 4a3f121341 .
The changes broke flutter/engine
TEST=It's a revert!
Change-Id: I1e65e6cfab03795a21a64a96fe3ed72e6ba8ecd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172760
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-11-18 14:51:30 +00:00
Johnni Winther
4a3f121341
[kernel] Ensure that visitors don't implicitly returns null
...
This is in preparation to migrate package:kernel to null safety.
For the visitor interfaces to support non-nullable return types, the
implementations must avoid using `null` as return value in its base case.
TEST=Refactoring
Change-Id: I9f9b318982148d844be9826a5f8c88374a9fc402
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172180
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-11-18 11:54:30 +00:00
Johnni Winther
b38821f39d
[kernel] Enforce lints in pkg/kernel
...
Change-Id: I954f7632f22b552febed2a3140f81245277cb050
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171581
Reviewed-by: Jens Johansen <jensj@google.com >
2020-11-11 12:51:28 +00:00
Johnni Winther
16ea8422d5
[cfe] Fix encoding for sync*/async/async* extension tear-offs
...
The internal closure was wrongly marked with the async marker of the
torn-off method.
Change-Id: Ie29eee6ed77fb07e9c0992bd0e49590cc10edd3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166634
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-10-09 10:42:56 +00:00
Johnni Winther
8b07d1902c
[kernel] Remove DirectPropertyGet/DirectPropertySet/DirectMethodInvocation
...
These nodes are no longer used.
Change-Id: I40c8df7376f0c40a4122c22d934fb3c6f6fd520d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165902
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-10-03 19:15:41 +00:00