Still to be done: add the necessary arguments to plumb tokens and
subexpressions into the factory methods.
Change-Id: I99206aaca3430ad62726cb51fb818d9b820f4f96
Reviewed-on: https://dart-review.googlesource.com/60804
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
... and fix more Analyzer fasta parser tests
Change-Id: I42e6f25784dbc62bca620b1ab522c07350f53aff
Reviewed-on: https://dart-review.googlesource.com/60721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
... and fix more Analyzer fasta parser tests
Change-Id: Ic051369580311e0ee1be09210d34a6654d90c023
Reviewed-on: https://dart-review.googlesource.com/60720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
This CL makes the following changes:
- Adds a Factory interface (currently empty), and threads that through
type inference logic. In later CLs, this will be used by the infer
methods to create ASTs as a side effect of type inference. The
interface is parameterized so that it can create either analyzer or
kernel ASTs.
- Adds a KernelFactory implementation, to be used when creating kernel
ASTs (also currently empty).
- Adds a ToplevelInferenceFactory implementation, to be used during
top level type inference (when no ASTs need to be created).
- Renames ShadowExpression, ShadowInitializer, and ShadowStatement to
ExpressionJudgment, InitializerJudgment, and StatementJudgment,
respectively. This reflects the fact that once we decouple the
"shadow" hierarchy from the kernel AST, each shadow node will
represent a type inference judgment. The derived classes will be
renamed in later CLs.
- Renames the methods _inferExpression, _inferInitializer, and
_inferStatement to infer.
- Adds an inferredType field to each class derived from
ExpressionJudgment. In later CLs, this will allow us to change the
infer methods so that they store the inferred type and return the
AST (currently they return the inferred type). For the moment, the
inferredType field is set by the common method
ShadowTypeInferrer.inferExpression.
Change-Id: Ibf7b7df2cc9754080c84b9ec5d1e2e2721569fa4
Reviewed-on: https://dart-review.googlesource.com/60620
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
When the slow path code of StackOverflowInstr is calling out to runtime
and the runtime causes a lazy-deopt, the lazy deopt stub will treat the value in the
return-value-register as GC-safe and the value will be visited during GCs.
This CL changes the call-to-runtime-stub to always put 0 into the
return-value-register.
This should fix the flaky vm-linux-debug-x64-reload-be builder.
Change-Id: Ibea3630b8b9fa5de2b96134725df0017c09282bd
Reviewed-on: https://dart-review.googlesource.com/60661
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
So, that we can give the file content to CorrectionUtils. Otherwise we
might attempt to use resolved unit for older version of the file
content, and re-read file content.
It does not fully solves the problem, because the client still might
get changes that corresponds to the older state of the file, or
files. We might want to consider un-deprecating fileStamp in
SourceFileEdit.
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/33471
Change-Id: I4877bc86a14033cc4c944cfaa0265db78b17de4c
Reviewed-on: https://dart-review.googlesource.com/60701
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Also update the `int` class documentation.
Change-Id: I2de6c62aa9642c18134effa8187a12902d5f2259
Reviewed-on: https://dart-review.googlesource.com/58204
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Change-Id: Idcd1ba9e43a917a526d0687be8e5b84a267042a2
Reviewed-on: https://dart-review.googlesource.com/60422
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
There were a pair of TODOs in constraint gathering in type inference,
where objects with .call methods should be considered as if they were
subtypes of function types. Fix them.
This is a partial fix for
https://github.com/dart-lang/sdk/issues/33298 because it does not
yet handle the case of generic .call methods.
Bug: https://github.com/dart-lang/sdk/issues/33298
Change-Id: Ib9803db9a152cdc6f2108e717bb0934c38016a94
Reviewed-on: https://dart-review.googlesource.com/58206
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Windows is already updated to -dev.63.0
Change-Id: If01455bc865f984e456911359a0802b942ac3085
Reviewed-on: https://dart-review.googlesource.com/60501
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Now that #32111 has been fixed, we can reenable hints in dart2js. Tested on a
large consumer app and there are no unncessary hints at this time.
Change-Id: Idfe39abb319a0a8d54b4439dc74b9315d2cc1b41
Reviewed-on: https://dart-review.googlesource.com/60445
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
When the identifier is not resolved in Test() it is impossible to
know whether is expected to be a function invocation or an instance
creation. Suggest both.
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/33458
Change-Id: I898fb85af33d4553b501a9fe3e59d792562d9053
Reviewed-on: https://dart-review.googlesource.com/60452
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This is to make it more transparent to use the same compile_platform template in
flutter/fushia builds.
Change-Id: I2a94c77bd2887cbc86f4547f7c8a0d54520a259b
Reviewed-on: https://dart-review.googlesource.com/60326
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Linux and Mac SDKs will be updated in a follow-up commit.
Change-Id: I23277bce01257409c8a8634ea5dbe58981f76bf1
Reviewed-on: https://dart-review.googlesource.com/60460
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Currently it is a noop, it will change once we update the default to 2.0
Change-Id: Id0f0b43d4742dddc25d2c9e4ddb77c55d397caaf
Reviewed-on: https://dart-review.googlesource.com/60440
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Rationale:
With limited integers, signed/unsigned 64-bit int typed
data is just a bit pattern, no need to sign/zero extend
these into bigger ints on load. This enables more
intrinsification of indexed stores/loads.
Note:
Still TBD, inline these indexed operations too.
Performance:
About 10x improvement on micro benchmarks.
https://github.com/dart-lang/sdk/issues/33205
Change-Id: I640c324a7d91e57fb4edc025e0dd456ad34fe906
Reviewed-on: https://dart-review.googlesource.com/60403
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
- Removed obsolete Dartium/_blink code.
R=kevmoo@google.com
Change-Id: I81a6f0d5bfe33592ff8ae9c85db9266e898c2861
Reviewed-on: https://dart-review.googlesource.com/60380
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>