Commit Graph

4698 Commits

Author SHA1 Message Date
Konstantin Shcheglov a52cd11d16 Fix for using the built-in identifier 'deferred' as an import prefix.
R=ahe@google.com, johnniwinther@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2746463002 .
2017-03-09 08:55:15 -08:00
Jens Johansen e553775b9c [fasta] Add and correct offsets on nodes
BUG=
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2736093003 .
2017-03-09 10:31:52 +01:00
Konstantin Shcheglov dc2c7df603 Add 'withKeyword' to mixin application with Fasta.
R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2735973004 .
2017-03-07 13:27:50 -08:00
Peter von der Ahé 3835ccf907 One shared guide for diagnostics.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2718023003 .
2017-03-07 13:44:39 +01:00
Stephen Adams bf9a4502c8 Tweak Florian's dart2js inlining heuristic change
This CL updates https://chromiumcodereview.appspot.com/2558633007/

R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2724473004 .
2017-03-06 20:32:54 -08:00
Konstantin Shcheglov 262cee7864 Add support for parsing #void with Fasta.
For the reason why we need this, see the following documents.
https://codereview.chromium.org//427603002
https://github.com/dart-lang/sdk/issues/20191
https://github.com/dart-lang/sdk/issues/19972

R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2737593002 .
2017-03-06 11:24:54 -08:00
Konstantin Shcheglov ce58e89d3c Fix parsing [a]sync[*] function body modifiers with Fasta.
The Fasta'a parser is crazy as it is now. It says that something is a
return statement, but it is actually an expression function body. That
seems too much dart2js specific.

R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2728773002 .
2017-03-01 16:20:20 -08:00
Paul Berry 8decc11ac0 Add AstBuilder support for fields.
R=ahe@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2723883002 .
2017-03-01 13:24:17 -08:00
Konstantin Shcheglov 86b5a088ad Parse InstanceCreationExpression with Fasta.
R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2727753002 .
2017-03-01 13:04:46 -08:00
Dmitry Stefantsov 9c340f9eb1 Revert last 4 commits by @lrn
Reverted commits:
* ef097edad6. ("Make Analyzer, VM and
  dart2js accept URI strings as part-of library identifier.")
* e8e1857814. ("Fix bad example of URI
  part-of to be bad, not good.")
* 58f7a92ede. ("Add changelog entry for
  allowing URI in part-of.")
* a4a7d98dce. ("Use FutureOr in
  Completer.complete.")

TBR=lrn@google.com

Review-Url: https://codereview.chromium.org/2724853002 .
2017-03-01 16:44:52 +01:00
Lasse R.H. Nielsen e8e1857814 Fix bad example of URI part-of to be bad, not good.
Review-Url: https://codereview.chromium.org/2722173002 .
2017-03-01 13:40:03 +01:00
Lasse R.H. Nielsen ef097edad6 Make Analyzer, VM and dart2js accept URI strings as part-of library identifier.
R=brianwilkerson@google.com, floitsch@google.com, hausner@google.com, johnniwinther@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2640853005 .
2017-03-01 12:15:11 +01:00
Peter von der Ahé bb72d5e8a0 Let parser handle factory modifiers.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2721623002 .
2017-03-01 11:38:01 +01:00
Stephen Adams 1ae1ec7df4 Remove HRuntimeType implementation
Use the legacy RTI format, which should be replaced with something that lets types and tests be cached and amortized.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2722753002 .
2017-02-28 09:33:32 -08:00
Stephen Adams e4ffa70ba5 Redo "Flush deferred action queue"
This is https://github.com/dart-lang/sdk/commit/8eedb9c6527f955413e47c9350d3c5114cd89942 plus status file updates

TBR=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2726463002 .
2017-02-27 21:10:36 -08:00
Stephen Adams 07cd6a9f57 Revert "Flush deferred action queue"
TBR=johnniwinther@google.com
BUG=

Review-Url: https://codereview.chromium.org/2723453004 .
2017-02-27 21:06:22 -08:00
Stephen Adams 8eedb9c652 Flush deferred action queue
It is possible for deferred actions to be queued without enqueing
classes.  This can happen when resolving a typedef for mirrors - a
cyclic check action may be added as the only change.

TBR=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2718253003 .
2017-02-27 19:12:54 -08:00
Konstantin Shcheglov 69063303ac Add support for field formal function typed formal parameters.
Plus a couple of new tests.

R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2720763003 .
2017-02-27 14:01:26 -08:00
Stephen Adams 50b6107eec dart2js: HGetLength may become fixed
We may not know initially that the input to HGetLength is fixed-length, but discover so later.
Most notably this happens with --trust-type-annotations, since the HTypeKnown for 'trusting' the type hides the underlying type, but it also happens as a consequence of local dataflow and other optimizations.

BUG=
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2713393002 .
2017-02-27 12:33:21 -08:00
Stephen Adams a22350458b Store toString value in enum.
This avoids the use of an constant map per enum.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2711183002 .
2017-02-24 15:37:43 -08:00
Konstantin Shcheglov 8d4e252fd1 Support for the 'covariant' keyword for formal parameters.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2716043003 .
2017-02-24 12:50:17 -08:00
Konstantin Shcheglov 4500bb0920 Parse optional and named parameters.
I'm not a big fan of the currentParameterKind stack, this information is
almost accessible from parseFormalParameter(), but we don't pass the type
to the listener.

R=ahe@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2709783003 .
2017-02-23 09:55:15 -08:00
Florian Loitsch 979183decf Add support for the new function-type syntax.
Fixes #27967
BUG= http://dartbug.com/27967
R=ahe@google.com, johnniwinther@google.com, paulberry@google.com, sigmund@google.com

Committed: https://github.com/dart-lang/sdk/commit/85227ba8a60332a18ae92cb1b87bf15d52a909bd
Reverted: https://github.com/dart-lang/sdk/commit/f5fc210f4f79f7e6b7ccefc24e7565e810e9dc7d
Committed: https://github.com/dart-lang/sdk/commit/e4999a631093690febb2eb90cbdbe1f9d5183455
Reverted: https://github.com/dart-lang/sdk/commit/c64c35153905fc2bf8a74c02297220385cfcbc87
Committed: https://github.com/dart-lang/sdk/commit/c289af39c36d9a5f7130a3e69b7891052652a64e
Reverted: https://github.com/dart-lang/sdk/commit/c66479f40767744d0bdd027c004583d6e32fe50f
Review-Url: https://codereview.chromium.org/2567133002 .
2017-02-23 13:36:28 +01:00
Harry Terkelsen fce2935ef5 remove old way of collecting dependencies for dump-info
The new way of collecting dependencies covers everything from
the old way, and does not have any spurious dependencies that
the old way had.

Fixes https://github.com/dart-lang/sdk/issues/28849

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2709043002 .
2017-02-22 12:53:50 -08:00
Paul Berry 3fbeb5d064 Add contextual information about identifiers to the parser listener API.
R=ahe@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2711463005 .
2017-02-22 12:42:36 -08:00
Florian Loitsch 5af03687cf Fix missing semicolon.
Fixes commit 5de7bb5782

Review-Url: https://codereview.chromium.org/2713673003 .
2017-02-22 18:51:09 +01:00
Florian Loitsch 5de7bb5782 Don't use magic strings/properties to communicate between compiler and runtime.
R=sra@google.com

Review-Url: https://codereview.chromium.org/2700053003 .
2017-02-22 18:32:23 +01:00
Florian Loitsch c66479f407 Revert "Add support for the new function-type syntax."
This reverts commit c289af39c3.

BUG=

Review-Url: https://codereview.chromium.org/2710973002 .
2017-02-22 17:19:35 +01:00
Florian Loitsch c289af39c3 Add support for the new function-type syntax.
Fixes #27967
BUG= http://dartbug.com/27967
R=ahe@google.com, johnniwinther@google.com, sigmund@google.com

Committed: https://github.com/dart-lang/sdk/commit/85227ba8a60332a18ae92cb1b87bf15d52a909bd

Reverted: https://github.com/dart-lang/sdk/commit/f5fc210f4f79f7e6b7ccefc24e7565e810e9dc7d

Committed: https://github.com/dart-lang/sdk/commit/e4999a631093690febb2eb90cbdbe1f9d5183455

Reverted: https://github.com/dart-lang/sdk/commit/c64c35153905fc2bf8a74c02297220385cfcbc87
Review-Url: https://codereview.chromium.org/2567133002 .
2017-02-22 16:53:49 +01:00
Konstantin Shcheglov 9a3f8224a4 Pass 'classKeyword' to endClassDeclaratio() and endNamedMixinApplication().
R=ahe@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2705333002 .
2017-02-21 22:13:01 -08:00
Konstantin Shcheglov 3fda231b1a Pass '=' to endNamedMixinApplication().
R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2710803002 .
2017-02-21 13:37:01 -08:00
Dmitry Olshansky aa1e6d4ccf Relanding: avoiding creating strings for canonicalization
Do a hash table for tripples:
(list of bytes, start, end) --> canonicalized string

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2702753003 .
2017-02-20 15:19:10 +01:00
Johnni Winther 00094ca18e Split InterceptorData
- into InterceptorData, InterceptorDataBuilder and OneShotInterceptorData.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2692303002 .
2017-02-20 12:55:50 +01:00
Johnni Winther 9a1ceea706 Split backend implementation of EnqueuerListener
- into a EnqueuerListenerBase with subclasses ResolutionEnqueuerListener and CodegenEnqueuerListener

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2693163002 .
2017-02-20 12:49:09 +01:00
Johnni Winther c5c7fdfea3 Extract BackendUsageBuilder from BackendUsage
Ideally BackendUsageBuilder should only be used during closed world computation and BackendUsage afterwards.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2694653005 .
2017-02-20 12:21:47 +01:00
Johnni Winther 8ffeb45db5 Move global dependencies to BackendUsage
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2696483005 .
2017-02-20 12:16:28 +01:00
Johnni Winther e5a27f75e6 Move registerBackend* to BackendUsage
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2693033003 .
2017-02-20 12:10:42 +01:00
Johnni Winther 4ada4dbb99 Introduce EnqueuerListener
- to abstract the JavaScriptBackend coupling to Enqueuer

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2693893003 .
2017-02-20 11:53:39 +01:00
Johnni Winther ebaff3dc66 Extract BackendUsage, MirrorsData, and CheckedModeHelpers from Backend.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2688413003 .
2017-02-20 11:44:14 +01:00
Johnni Winther c94162a20f Add MultiSourceInformationStrategy
- generate sourcemap for both engines using --use-multi-source-info

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2690083002 .
2017-02-20 11:36:15 +01:00
Johnni Winther 0f25d7da94 Refactor CompilerOutput
- replace EventSink by OutputSink
- add OutputType instead of uses magic values in [extension].

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2690063002 .
2017-02-20 10:34:15 +01:00
Johnni Winther fd918a2725 Add output_type_test
- in preparation for refactoring of CompilerOutput

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2696513003 .
2017-02-20 10:03:53 +01:00
Emily Fortuna d9e9f4c920 Add deferred library loaded checks in a few more places in Kernel.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2693423003 .
2017-02-15 18:23:19 -08:00
Peter von der Ahé 4b206de390 Use identical in token operators.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2691213005 .
2017-02-15 13:42:53 +01:00
Emily Fortuna 063e60ae29 Add deferred loading to Kernel.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2691753002 .
2017-02-14 17:51:51 -08:00
Dmitry Olshansky bf1eeab38e Revert: StringCanonicalizer for Fasta
R=ahe@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2692093004 .
2017-02-14 17:24:50 +01:00
Dmitry Olshansky 58ca47d58a Avoiding creating strings for canonicalization
Do a hash table for tripples:
(list of bytes, start, end) --> canonicalized string

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2696803003 .
2017-02-14 15:44:36 +01:00
Johnni Winther 69e97a27f3 Handler the last native annotations
- we now handle `kernel/impact_test.dart --full`.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2686243004 .
2017-02-12 10:58:36 +01:00
Stephen Adams 6af28fcb70 Fix for https://github.com/dart-lang/sdk/issues/28727
Use jsAst.Name uniformly in constructor parameters to prevent type
argument being renamed into a conflict.

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2690583003 .
2017-02-10 13:19:43 -08:00
Johnni Winther 2b77a7e6b8 Support mixin application equivalence in impact_test.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2681783005 .
2017-02-10 10:55:06 +01:00