And plumb FeatureSet into more of the analysis engine.
Change-Id: I40f7061d48c5eb2a597f95a32738bd3133fe21d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101224
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Bytecode format v3 landed March 26 2019 in
61f0f5bc43
Change-Id: Id20742e1e04fa53ed4420ec0233302477db0e4be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101880
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
To test the loading logic, I created sample modular test folders which also
illustrate what modular tests will look like in the future.
Change-Id: Iaa8e076e5be66107391d258f5c72456c89841123
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101780
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
In the long term this class will take over much of the role played by
RestrictedAnalysisContext. For now it is simply a container for the
analysis options, declared variables, type provider, and type system.
In follow-up CLs I will plumb this object through various parts of the
analyzer, especially the LinterContext; this will enable the
canBeConst... methods to be moved into SynchronousSession, and that
will allow us to stop creating a LinterContext in
BestPracticesVerifier.
Change-Id: I7ac2d386c10d2e5339d9715848b185c163e1f858
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Change-Id: I2053afe2ebf05b5ff10de72757fc83ffc81d1590
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101862
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
document.registerElement is going away soon, and dart2js never implemented window.customElements.define.
Replace the inheritance with composition for each FooElement.
When used to create a DOM tree, replace `new FooElement()` with `new FooElement().element`.
In CSS, replace each custom element selector with a class selector, i.e. `foo-element` with `.foo-element`.
Bug: https://github.com/dart-lang/sdk/issues/34107
Change-Id: Id5ab5b6104a6165a8ad3b01d73ee9d76e46024ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101061
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
While adding support for new compact bytecode instructions,
VM also keeps support for old bytecode instructions to preserve
backwards compatibility and allow soft transition.
This change is separate from bytecode generator changes in order
to test VM with old bytecode generator.
Corresponding bytecode generator changes:
https://dart-review.googlesource.com/c/sdk/+/99400
Change-Id: Icf5ceee7d51f27ffe3f79d0eae81e0ddc0a7e855
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101062
Reviewed-by: Ryan Macnak <rmacnak@google.com>
This is a preliminary refactoring to prepare for compact
variable-length encoding of bytecode instructions.
Change-Id: I7b15926ab5a6222fbcd1f0090adc0b7222359b07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99960
Reviewed-by: Ryan Macnak <rmacnak@google.com>
* Fix possible race condition when flushing `stdout` and `stderr`.
* Add help option and usage text (saves me from digging into the file when I
forget a flag).
* Avoid passing `enable-experiment` with an empty string.
Change-Id: Iea288a1fad43f16c494510302efbcc65a2d91502
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101744
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
It already is a static method in implementation, so this way
we don't duplicate the work of looking up the library. In addition,
it checks has_pragma, so we don't need to check before calling it.
Change-Id: I88281cf22615e30157c842c570bd0f6b499a6a3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101821
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
To use for modular codegen. Creates ModularName and ModularVariableUse
for naming decisions that need to be deferred to world-impact application
time.
The class is still unused, awaiting refactoring of world-impact application.
Change-Id: I7d4d30da587ccf814b2d879b26f76de2eb3ca276
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101525
Reviewed-by: Sigmund Cherem <sigmund@google.com>
- to use in ssa builder, optimization and codegen pipeline.
Change-Id: I214c17d5994aa0afa86007b2c3add1491c000b08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101521
Reviewed-by: Sigmund Cherem <sigmund@google.com>
This method relied on querying the underlying constraint variable, so
it needed to go in order to migrate away from the contraint variable
implementation.
Change-Id: I0c5004f98fcbb1891ade67266350569a196cf756
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
This is a necessary part of reworking nullability migration to stop
using constraint variables entirely.
Change-Id: If6c347c16882edfc2e8bdbeac761e09d8256c9bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101622
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
This speculative feature turned out to be infeasible, since the files
that are input to migration have NNBD disabled, so `?` is not
permitted.
Change-Id: Ice3fabe436c25718cbe4099a4d9ef86c8aa19896
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101623
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
This helps reduce the use of constraint variables in nullability
migration tests.
Change-Id: I48fb540489b1124f278b542a7f847c4dd3270185
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101465
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This required tracking the map from a node to the nodes that are
upstream from it.
Change-Id: I079fac2196f3928b521b0866fd6f1790e6f24573
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101489
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
This reverts commit 40a06c3a77.
Reason for revert: Introduced a bug that is blocking a roll.
Original change's description:
> Implement the type Never
>
> Change-Id: Icbf407bc19f602c8382946b1e735905cc165c59c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100993
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Paul Berry <paulberry@google.com>
TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com,mfairhurst@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Iebb5b8327b0be7129298f39b343555b812314abf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
We don't report UNUSED_IMPORT when the library file does not exist,
so that libraryElement.isSynthetic, and an empty but existing file
is not the same as not existing at all.
R=brianwilkerson@google.com
Change-Id: I33d911b01f2ca7e1f5c4fdda7083507f469ec6c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
The reason when there is a difference in summary1 and summary2 behavior
is that in summary2 we link cycle by cycle, and in summary1 we link
all requested libraries together.
R=brianwilkerson@google.com
Change-Id: I173d37d7a6b6c766c641715c6dbce7c1701139f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101492
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>