Commit Graph

13441 Commits

Author SHA1 Message Date
Paul Berry 9e5cba8838 Clean up imports in kernel.
dartk.dart was missing a necessary import, and util.dart had an unused one.

TBR=asgerf@google.com, kustermann@google.com

Review-Url: https://codereview.chromium.org/2674733003 .
2017-02-03 08:58:23 -08:00
Martin Kustermann 2e4849856a VM: [Kernel] Add --embedder-entry-points-manifest to dartk/transform and pass it to the treeshaker
The VM's gen_snapshot already accepts an --embedder-entry-points-manifest option.

This CL makes dartk/transform.dart accept the same option and pass the
roots on to the treeshaker.

In addition to what gen_snapshot accepts, we also accept
"*external-instantiation*" instead of a specific constructor/factory name)

BUG=https://github.com/dart-lang/sdk/issues/28559
R=asgerf@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2668893004 .
2017-02-03 12:14:32 +01:00
Peter von der Ahé 7512ab5c79 Enable running of fasta tests on build bot.
Fixes https://github.com/dart-lang/sdk/issues/28594

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2675593003 .
2017-02-03 07:12:04 +01:00
Konstantin Shcheglov f600f5f9de Stop using Element.computeNode() in refactorings and fixes.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2669353002 .
2017-02-02 17:24:31 -08:00
Konstantin Shcheglov 2ca71e29ea Fix for 'The getter 'isDynamic' was called on null' because of dartbug.com/28515
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/28515

Review-Url: https://codereview.chromium.org/2676713002 .
2017-02-02 16:01:52 -08:00
Paul Berry b95f37612a Split core file tracking functionality from AnalysisDriver.
This file tracking functionality will be re-used for incremental
compilation.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2673683003 .
2017-02-02 15:03:37 -08:00
Stephen Adams a2ba9abbcc dart2js: Introduce HGetLength to replace strange use of HFieldGet
Adding the new instruction lets HFieldGet have a [FieldEntity] element.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2673513003 .
2017-02-02 13:00:12 -08:00
Konstantin Shcheglov 69f9f781cc Implement Search.classMembers() using getFilesDefiningClassMemberName().
This fixes the performance problem you saw on class renames.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2674493004 .
2017-02-02 10:48:19 -08:00
Brian Wilkerson b22f453a87 Add server-side communications channel
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2676633003 .
2017-02-02 10:47:12 -08:00
Konstantin Shcheglov 8d4b82dfe9 Add AnalysisDriver.getFilesDefiningClassMemberName().
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2673653003 .
2017-02-02 10:25:52 -08:00
Konstantin Shcheglov 8326ae9640 Record defined top-level/class-mebber names with unlinked bundles.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2670843004 .
2017-02-02 09:51:16 -08:00
Konstantin Shcheglov dc5258e4cc Fix for resynthesizing with multiply defined names.
R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2668423003 .
2017-02-02 07:10:56 -08:00
Peter von der Ahé 2cd456fbb0 Improve handling of parser stack overflows.
Fixes https://github.com/dart-lang/sdk/issues/28597

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2671653005 .
2017-02-02 15:55:18 +01:00
Asger Feldthaus 14c6b27533 Put tree-shaking behind a flag in dartk.
BUG=
R=jensj@google.com

Review-Url: https://codereview.chromium.org/2669783002 .
2017-02-02 15:10:10 +01:00
Kevin Millikin 17d8de6063 Update fasta tests to use the new transformation API
Kernel transformations have been split into modular and global ones.
Update the fasta tests to use this new API.

BUG=
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2675683002 .
2017-02-02 14:52:45 +01:00
Peter von der Ahé 7be9cd0ded Throw input error instead of parser error to avoid crashing.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2664333003 .
2017-02-02 14:35:38 +01:00
Asger Feldthaus 6108988ba2 Update closure conversion test suite after changes to Target
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2674573003 .
2017-02-02 14:30:36 +01:00
Johnni Winther 09a11a5c5f Update pkg/compiler/pubspec.yaml
Review-Url: https://codereview.chromium.org/2671723002 .
2017-02-02 14:28:25 +01:00
Kevin Millikin 0b554a437f Fix a bug in the Kernel testing framework
We obviously should not try to add to an unmodifiable list.

R=asgerf@google.com
BUG=

Review-Url: https://codereview.chromium.org/2677433002 .
2017-02-02 14:19:02 +01:00
Kevin Millikin f9cd5274f5 Fix Kernel tests
Splitting transformations into modular and global ones needs to be
implemented in the tests.

BUG=
R=asgerf@google.com

Review-Url: https://codereview.chromium.org/2672713003 .
2017-02-02 14:11:52 +01:00
Asger Feldthaus a2cad3f500 Change type interface target of SuperMethodInvocation to Procedure
BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2650823005 .
2017-02-02 13:40:29 +01:00
Kevin Millikin 3057283f0c Split the Kernel transformations into modular and global ones
Target-specific modular transformations have to be able to cope with
external libraries.  Target-specific global transformations should be
optimizations, and not required for correctness, since a simple linker
may choose not to perform them.

Make mixin resolution modular by making it fail when a mixed-in class
comes from an external library.  (We cannot mix in such a class because
we do not necessarily have all class members.)

R=asgerf@google.com

Review-Url: https://codereview.chromium.org/2671653003 .
2017-02-02 13:08:27 +01:00
Paul Berry ee78e6c3b3 Add fasta subdirectories to subpackage_relationships_test.
I populated subpackageRules with the set of dependencies that are
needed in order to make the tests pass.  Hopefully we can eliminate
some of these dependencies in the future.

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2674463002 .
2017-02-02 03:01:48 -08:00
Johnni Winther b789a27f05 Refactor ConstantExpression/ConstantConstructor to use entities.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2669703003 .
2017-02-02 10:12:24 +01:00
Johnni Winther a78e2e9806 Remove code supporting incremental compilation in dart2js
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2668233002 .
2017-02-02 09:48:19 +01:00
Konstantin Shcheglov 6b9f9b7164 Handle invalid URIs in summaries.
We record all URIs, including invalid, into unlinked summaries.
We still record even invalid URIs as dependencies.
But handle invalid URIs as empty units and libraries.

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

Review-Url: https://codereview.chromium.org/2669863003 .
2017-02-01 13:34:56 -08:00
Jacob Richman a8c7e74424 Remove dynamic call from _LinkedHashSet. Remove some dcalls from the dart:html util library.
BUG=
R=alanknight@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2666053004 .
2017-02-01 13:26:41 -08:00
Dan Rubel f33c3c1676 complete named params in constructors
This add completion suggestions for named parameters
in constructors and factories, and prevents other suggestions
such as type names, identifiers, etc when they are not appropriate.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2671533002 .
2017-02-01 14:36:41 -05:00
Konstantin Shcheglov 0e670f1df1 Revert "Encode URIs stored in unlinked summaries to make them Uri.parse() safe."
This reverts commit 023648ec5e.

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

Review-Url: https://codereview.chromium.org/2671513002 .
2017-02-01 10:58:11 -08:00
Leaf Petersen 3fa3964a70 Suppress NO_DEFAULT_BOUND errors.
This suppresses the emission of NO_DEFAULT_BOUND errors, and makes the
default instantation for recursive bounds backwards (and possibly
forwards) compatible.  Also adds a couple of currently failing tests
for cases that should be made erroneous regardless of whether we
choose to support malbounded type constructor applications.

BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2662973005 .
2017-02-01 10:18:05 -08:00
Konstantin Shcheglov 811d0caad2 Don't send 'Response.refactoringRequestCancelle' if the request is null.
Not sure how to reproduce this, but saw this in the exceptions log.
Just once, so must be a pretty event, but still.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2665403002 .
2017-02-01 10:06:24 -08:00
Konstantin Shcheglov 082f386e83 Small tweaks for AnalysisDriver and FileState.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2665393002 .
2017-02-01 09:49:34 -08:00
Konstantin Shcheglov 023648ec5e Encode URIs stored in unlinked summaries to make them Uri.parse() safe.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2665213003 .
2017-02-01 09:36:46 -08:00
Brian Wilkerson 921f866496 First step toward resolving generic function types
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2667073004 .
2017-02-01 09:33:46 -08:00
Paul Berry 6f0f50dc1e Streamline AnalysisDriver status tracking.
- Removed AnalysisDriver.status stream.  Outside of tests, we weren't
  using it.  Inside of tests, it was easy to switch to
  AnalysisDriverScheduler.status.

- Moved waitForIdle from AnalysisDriver to AnalysisDriverScheduler.

- Added a mechanism to ensure that AnalysisDriverScheduler.waitForIdle
  really waits for idle, even if AnalysisDriverScheduler.status hasn't
  been notified that we are analyzing yet.  This mechanism does the
  right thing even if we later discover that there is no analysis to
  be done (and so no event is ever sent to
  AnalysisDriverScheduler.status).

- Removed an unnecessary check from the loop in
  AnalysisDriverScheduler._run().

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2665263002 .
2017-02-01 09:22:53 -08:00
Paul Berry 7ea43baad1 Fix error "Couldn't infer type parameter" in kernel.
R=jensj@google.com

Review-Url: https://codereview.chromium.org/2666043003 .
2017-02-01 09:13:15 -08:00
Brian Wilkerson 799a7a4e94 Fix bot breakage (TBR)
Review-Url: https://codereview.chromium.org/2669603004 .
2017-02-01 09:04:01 -08:00
Peter von der Ahé c6f67f76fc Include characterHex in all encoding errors.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2666003005 .
2017-02-01 17:53:08 +01:00
Martin Kustermann e2eef7bfce Kernel: Do not try to use return value of []=
Fixes #28302

R=ahe@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2668893003 .
2017-02-01 17:47:16 +01:00
Peter von der Ahé dbfc48491e Skip fasta tests again, take 2.
Review-Url: https://codereview.chromium.org/2666193003 .
2017-02-01 17:46:29 +01:00
Peter von der Ahé 8a9e0dd5cd Skip fasta tests again.
Review-Url: https://codereview.chromium.org/2667003004 .
2017-02-01 17:43:10 +01:00
Brian Wilkerson efd28ece97 Fix errors and warnings
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2661263002 .
2017-02-01 08:06:30 -08:00
Peter von der Ahé e037a21ec3 Update location of rasta tests.
Fixes https://github.com/dart-lang/sdk/issues/28594

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2663163005 .
2017-02-01 16:33:15 +01:00
Peter von der Ahé 92cfd09e42 Fix some problems with lexical error recovery.
* current.next was sometimes null.

* recoverUnmatched would create a cycle.

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2661153005 .
2017-02-01 16:24:22 +01:00
Peter von der Ahé c64608e905 Include pkg/compiler/tool in analysis.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2662363004 .
2017-02-01 15:42:19 +01:00
Peter von der Ahé b6ad994d61 Update perf.dart to new API.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2668253002 .
2017-02-01 15:39:05 +01:00
Peter von der Ahé ac656ccf3e Ignore hints and warnings from analzyer.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2670443003 .
2017-02-01 15:38:14 +01:00
Paul Berry 1ec9a02f23 Account for fasta in subpackage_relationships_test
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2663403002 .
2017-02-01 05:47:19 -08:00
Peter von der Ahé 033c41b760 Update pkg.status with respect to fasta.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2671473002 .
2017-02-01 14:16:32 +01:00
Peter von der Ahé 363a262b80 Update fasta readme file.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2667103002 .
2017-02-01 14:07:21 +01:00