It seems to me that it would be easier to integrate if we keep the
same search technique - search for Element references. I think any
saving can be only for local elements search. If it turns out to
be expensive, we could add priority results caching in the driver.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2521913004 .
Print snapshot sizes when generating an AOT snapshot from gen_snapshot (e.g., Flutter).
Remove some unnecessary symbols.
Use named constants for exit codes.
Use Log::PrintErr instead of fprintf(stderr) so we see error messages in adb logcat.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2517683002 .
The file size is not rounded up after the isolate snapshot if there are no rodata/instruction pieces. The other OS's use mmap instead of read, which is apparently okay with over-reading the file.
Fixes#27786R=asiva@google.com
Review URL: https://codereview.chromium.org/2521883002 .
Any reason not to do this? I generally find when framework code wraps these errors, it just complicates finding the original bug. Better to just trap.
Perhaps should just inline the call to debugger though. I put in dart.debugger with the thought of making it configurable.
R=jacobr@google.com, jmesserly@google.com
Review URL: https://codereview.chromium.org/2519873004 .
* New `cascade_invocations` lint.
* Expand `await_only_futures` to accept classes that extend or implement `Future`.
* Improve camel case regular expression tests to accept `$`s.
* Fixes to `parameter_assignments` (improved getter handling and an NPE).
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/2522563003 .
Also, mostly drop 'fileStamp' in SourceFileEdit.
Only `-1` is kept when the file is a new one, in other cases it' `0`.
As I can see, IDEA cares only about `-1`.
We don't know modification stamps with the new analysis driver.
But we know content hashes.
R=brianwilkerson@google.com, paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org/2518903002 .
The existing index data structures were copied and adapted to the case
when every unit is indexed separately. Indexing of declarations was
removed - this information is available as unlinked.
Tests were reworked to use AnalysisDriver and made asynchronous.
R=brianwilkerson@google.com, paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org/2519733002 .
This is part of the following CL:
Roll Kernel to fix an async bug.
There was a bug in the translation of await in finally when there
was a return in the try block.
The new async/async* translation revealed a bug in the scoping of
labels. Labels from enclosing functions were visible in nested
functions. That bug is fixed here.
Review URL: https://chromereviews.googleplex.com/536237014 .
R=vegorov@google.com
Review URL: https://codereview.chromium.org/2515323002 .
Fix a trio of issues in type finalization.
1. We were using is_type_finalized to detect classes that had already been
initialized by DilReader::ReadPreliminaryClass. This state is not
guaranteed by this function, however is_cycle_free is.
2. In the VM, classes that were created type finalized were not marked as
cycle free because finalization did not consider them so cycle-freeness
didn't matter. We would therefore try to initialize these classes with
DilReader::ReadPreliminaryClass and mutate types in them. This causes
them to have unfinalized types but still have is_type_finalized true.
3. Types in top-level procedures were not necessarily finalized. A simple
way to achieve this is to finalize each library's top-level class.
Review URL: https://chromereviews.googleplex.com/520437013 .
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/2514373002 .