Commit Graph

25510 Commits

Author SHA1 Message Date
Aske Simon Christensen c2b466b09f [CFE] Move constant evaluation number semantics handling to front end.
JavaScript number semantics is currently implemented as the simplistic
version previously present in DDC. This is a starting point for fully
detailed JS number semantics.

Change-Id: Id728b3dacec892a5cbf7ece0d9faea51427f5f9b
Reviewed-on: https://dart-review.googlesource.com/c/94746
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-03-01 13:30:53 +00:00
Paul Berry 9a0a3fd8c1 Eliminate uses of old AST node types from analyzer_plugin
Change-Id: I1dc8e1d51d96c5fc4e6b8c77b143c8cc9564f63e
Reviewed-on: https://dart-review.googlesource.com/c/94761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-01 10:03:22 +00:00
Johnni Winther ba4cfb8613 Initial computation of initializer complexity through the scope visitor.
Change-Id: I2951624a0ad901c7c518b6e5d2f147dceae870cc
Reviewed-on: https://dart-review.googlesource.com/c/94382
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-03-01 08:37:12 +00:00
Mike Fairhurst 15515d86e3 Reland "[analyzer] Constant verifier support for SetOrMapLiteral"
Original change's description:
> Revert "[analyzer] Constant verifier support for SetOrMapLiteral"
> 
> This reverts commit 9c6315c199.
> 
> Reason for revert: Do not have permission to approve the bot failures.
> 
> Original change's description:
> > [analyzer] Constant verifier support for SetOrMapLiteral
> > 
> > Change-Id: Iaa189aa7ad733af3f702546f1d7a379630b61aa7
> > Reviewed-on: https://dart-review.googlesource.com/c/94581
> > Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> > Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
> 
> TBR=paulberry@google.com,brianwilkerson@google.com,mfairhurst@google.com
> 
> Change-Id: Id7f48506994cc5b8de506f9830f12d794f186e21
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/94981
> Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
> Commit-Queue: Mike Fairhurst <mfairhurst@google.com>

TBR=paulberry@google.com,brianwilkerson@google.com,mfairhurst@google.com

Change-Id: I7e514b646c1c62532e6f19201db6ea3428cb96d2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/95000
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-03-01 08:01:24 +00:00
Mike Fairhurst 9bec44d1e2 Revert "[analyzer] Constant verifier support for SetOrMapLiteral"
This reverts commit 9c6315c199.

Reason for revert: Do not have permission to approve the bot failures.

Original change's description:
> [analyzer] Constant verifier support for SetOrMapLiteral
> 
> Change-Id: Iaa189aa7ad733af3f702546f1d7a379630b61aa7
> Reviewed-on: https://dart-review.googlesource.com/c/94581
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Auto-Submit: Mike Fairhurst <mfairhurst@google.com>

TBR=paulberry@google.com,brianwilkerson@google.com,mfairhurst@google.com

Change-Id: Id7f48506994cc5b8de506f9830f12d794f186e21
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/94981
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-03-01 07:43:04 +00:00
Mike Fairhurst 9c6315c199 [analyzer] Constant verifier support for SetOrMapLiteral
Change-Id: Iaa189aa7ad733af3f702546f1d7a379630b61aa7
Reviewed-on: https://dart-review.googlesource.com/c/94581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
2019-03-01 06:36:17 +00:00
Konstantin Shcheglov 67366ed771 Support for @Variant and @VariantId in generator.
It also includes a sample how it looks in IDL and generated.
I will remove it before landing.

R=paulberry@google.com

Change-Id: I4c60b33e623cf9c55d46a8dd9624377e5a0f5053
Reviewed-on: https://dart-review.googlesource.com/c/94921
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-03-01 02:43:30 +00:00
Alan Knight 19dbd70363 Catch errors in formatting function types
Change-Id: Ifa889ab486da4b86a2738857bf2c6d8a8ed0cfe4
Reviewed-on: https://dart-review.googlesource.com/c/93125
Commit-Queue: Alan Knight <alanknight@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2019-03-01 00:47:59 +00:00
Paul Berry c2e48195f0 Rename UiAsCodeVisitorMixin to UIAsCodeVisitorMixin
To conform to Dart style rules

Change-Id: I1cc7ef76d0d723725f6d0393ca6e2b7538fc2f3e
Reviewed-on: https://dart-review.googlesource.com/c/94900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 21:42:09 +00:00
Paul Berry 545ebe1741 Prepare to publish analyzer 0.35.3
This is needed so that we can publish a version of analyzer_plugin
that depends on it; also so that dartfmt work on "UI as code" features
can proceed.

Change-Id: I7647fd69fec28b9e788f89e915c14779815fcc02
Reviewed-on: https://dart-review.googlesource.com/c/94803
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 20:54:19 +00:00
Paul Berry 17195d2667 Eliminate uses of old AST node types from dev_compiler
Change-Id: I839ed26a159a48e39378e94b4884faf65e3bb028
Reviewed-on: https://dart-review.googlesource.com/c/94365
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 20:46:16 +00:00
danrubel a417659fcd debug dartfix test
... by ensuring that logged information is echoed to console

Change-Id: I8e9c71d0fc6f164637c35d28415cdf02e9a47b9a
Reviewed-on: https://dart-review.googlesource.com/c/94880
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-28 20:39:16 +00:00
Paul Berry a51c9f15cc Make optype compatible with previous versions of analyzer.
Change-Id: Ifdf460a9a114fc10d6f1a4afc5d41c8894978840
Reviewed-on: https://dart-review.googlesource.com/c/94802
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 18:21:03 +00:00
Paul Berry a2eac98753 Merge HintCodeTest_Driver into HintCodeTest.
This is necessary because the internal code base considers a test file
to fail if it doesn't run any tests.

Alternative fixes considered:

- Put a dummy test in hint_code_test.dart
- Rename hint_code_test.dart to a name that doesn't end in _test.dart

Change-Id: I64fa2be7c76b4d2a85ee9b46ba1a1c21ae2903ae
Reviewed-on: https://dart-review.googlesource.com/c/94800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 17:50:09 +00:00
danrubel 1596f437bd debug dartfix test
This test passes when run locally, but fails on the bots.
Time to gather more information.

Change-Id: Iccfbd52161b03f8119017612fc66f899cc9e5178
Reviewed-on: https://dart-review.googlesource.com/c/94801
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-28 17:18:49 +00:00
Paul Berry 7dec865054 Add set literal support to the flutter outline computer
Change-Id: I1d5f3dfdc4987bd7dc91dbd78ff5649667aa23b0
Reviewed-on: https://dart-review.googlesource.com/c/94760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 15:35:36 +00:00
Lasse R.H. Nielsen 7c70ab1817 Revert change that empirically doesn't improve code for dart2js stopwatch.
Change-Id: Ib7a29c51c9d503c251fb28be4edc0becdc0a68c2
Reviewed-on: https://dart-review.googlesource.com/c/94745
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2019-02-28 14:12:26 +00:00
Paul Berry 39f365f3b9 Sort declarations in parser.dart.
Change-Id: I000193878307686d52e5b02cd3e6cdaafed68959
Reviewed-on: https://dart-review.googlesource.com/c/94681
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-28 12:48:56 +00:00
Paul Berry 8af83b19d6 Sort declarations in ast_builder.dart.
No functional change.

Change-Id: If695a7437482aef1de7013aa404260f3602bdc93
Reviewed-on: https://dart-review.googlesource.com/c/94642
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-02-28 12:48:16 +00:00
Paul Berry 0adddfbeab Eliminate uses of old AST node types from analysis server
Change-Id: Ifc97c6e08cb40cf98c519b442d10d921b2cccd05
Reviewed-on: https://dart-review.googlesource.com/c/94364
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 12:37:56 +00:00
Aske Simon Christensen 120328aff7 [fasta] Commandline option to enable asserts
Since Fasta is only concerned with compile-time behavior, the option
only affects asserts in initializers in const constructors when
evaluated during constant evaluation.

Change-Id: I534cc7cc1f33f9b34d15550d38ea930ed7ac6709
Reviewed-on: https://dart-review.googlesource.com/c/94740
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Auto-Submit: Aske Simon Christensen <askesc@google.com>
2019-02-28 12:11:16 +00:00
Aske Simon Christensen 82c5c5bbb2 [fasta] Only read compiler context at construction in kernel_target.
Change-Id: I0f62f4e993353a336101fe0babb9d1dc58844020
Reviewed-on: https://dart-review.googlesource.com/c/94743
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-02-28 12:11:16 +00:00
Johnni Winther 9a4c49f301 Update field analysis tests to prepare for eager initializer improvements
Change-Id: Ie9611ed269a42be4d7c406739cf935d569d8606a
Reviewed-on: https://dart-review.googlesource.com/c/94297
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-02-28 10:32:06 +00:00
Peter von der Ahé 75370569fc Fall back to DillLoader when computing types in SourceLoader
Change-Id: I01242136e6598a55b24ca28cff2258529882064b
Reviewed-on: https://dart-review.googlesource.com/c/94502
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-02-28 10:12:46 +00:00
Peter von der Ahé 78ba3dab7a Rename ImplicitType to ImplcitFieldType
Change-Id: I98cee54149fbe4c450919f72e7ab07e319b8fb34
Reviewed-on: https://dart-review.googlesource.com/c/94721
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-02-28 10:12:26 +00:00
Johnni Winther 1720704594 Recognize effectively constant static fields
Change-Id: Ic8f7a014a6af2f9d8854e0731fe0d2df11b554da
Reviewed-on: https://dart-review.googlesource.com/c/94281
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-02-28 09:12:26 +00:00
Peter von der Ahé ba31e448ca Finish implementing IsIntersectionSubtypeOf
Change-Id: I1b2958269545a5e562b664d51d945d328f46d0d5
Reviewed-on: https://dart-review.googlesource.com/c/94299
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-02-28 09:08:56 +00:00
Kevin Millikin 5f095b7039 [Fasta] Add support for spread in map literals
Spreads are compiled as if they were spread elements in list or set
literals.  When one occurs in a map literal it is translated to a new
spread map entry.

Change-Id: Ic618b1e85e595b4c2cd65e184b9d2c49e9c34b79
Reviewed-on: https://dart-review.googlesource.com/c/94547
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-02-28 06:05:00 +00:00
Vijay Menon 3b8591d13e [ddc] Initial impl for invoking service extension
Change-Id: Ibdd61eb390c2b62641318ca60fb76b43a4a3cb27
Reviewed-on: https://dart-review.googlesource.com/c/94660
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2019-02-28 00:53:42 +00:00
lambdabaa ae70ce855f Include the completion suggestion labels as explicit relevance tags
R=scheglov@google.com

Bug: 35680
Change-Id: I7525eac8bd95b28e32f714a4c519f6154805f861
Reviewed-on: https://dart-review.googlesource.com/c/94346
Commit-Queue: Ari Aye <ariaye@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 23:39:00 +00:00
Sigmund Cherem 50ab52d567 Use raw is-check when type arguments match the bounds
Change-Id: Ifa7353cbfe9497bb9ed6bc19351451a4becd496b
Reviewed-on: https://dart-review.googlesource.com/c/94460
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-02-27 22:41:40 +00:00
Dan Rubel d650c619e2 more postfix "!" non-null assert operator tests
Address comments in https://dart-review.googlesource.com/c/sdk/+/94580

Change-Id: I1a337f967753f0269ec23c37f0714b77ebe14d4b
Reviewed-on: https://dart-review.googlesource.com/c/94640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-27 22:02:10 +00:00
Sigmund Cherem 36c14db2d3 Only refine non-null in SSA
Code-size difference on a large app is very small (0.007% worse), but
this cuts the time spent in type-propagation by more than half
(23s -> 10s on my machine).

I saw a 0.4% code-size regression in pop-pop-win, but that is
recovered once we are smarter about generating simple is-checks
when the "raw" type can be used because the type arguments
match the bounds (see separate CL).

Change-Id: I45c0fb1afabdca3d045aec576c131ed764dc31ce
Reviewed-on: https://dart-review.googlesource.com/c/94120
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-02-27 21:48:00 +00:00
Paul Berry a1349ac529 Remove childEntities and visitChildren from ForEachStatementImpl and ForStatementImpl.
This paves the way for replacing these data structures with
ForStatement2Impl, by making them expose the same set of child nodes
that ForStatement2Impl would.

This required some fixes in the implementations of completion and
refactoring, since they make assumptions about the relationships
between nodes and their children.

Change-Id: I35e2873fcee2c88215c51c5caa5318934fc2a1a8
Reviewed-on: https://dart-review.googlesource.com/c/94401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-27 21:41:00 +00:00
Dan Rubel 31993bf1b5 improve expression function body recovery
Fix https://github.com/dart-lang/sdk/issues/31182

Change-Id: Ied691b50665b4c59a273296f8e724464d52efff5
Reviewed-on: https://dart-review.googlesource.com/c/94582
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-27 20:19:08 +00:00
Brian Wilkerson 1c477ad3aa Refactor downward inference to improve recovery
Change-Id: I4e177e43fe83287b62092533786f5ab47e777008
Reviewed-on: https://dart-review.googlesource.com/c/94584
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 20:14:57 +00:00
Dan Rubel 8f12d634fe add postfix "!" non-null assert operator
This updates the parser to support a new "!" postfix assert non-null
operator for NNBD experimentation in analyzer. All other CFE listeners
report an error as they always have... albet a slightly different error.

This also updates reportErrorIfNullableType to report experiment-not-enabled

Change-Id: I7751443fd5a7a2756e823f38c78120e9c2e3e075
Reviewed-on: https://dart-review.googlesource.com/c/94580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-27 19:20:22 +00:00
Sam Rawlins ffc1383918 Move tests of five more analyzer codes to diagnostics
Change-Id: Ieec95d8b8426d366ce2d9e911d02385842f13ee6
Reviewed-on: https://dart-review.googlesource.com/c/94468
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 19:12:17 +00:00
Sigmund Cherem a6b76df8d8 Add flag to re-run global inference when reading a data file.
This private flag is useful when iterating on global inference on large apps to
avoid building the closed world

Change-Id: I418fc077adc182b91f03dadedb38b51c8bad35e0
Reviewed-on: https://dart-review.googlesource.com/c/94470
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-02-27 18:16:02 +00:00
Paul Berry b04cb2f5e7 Don't create instances of ForStatement2Impl yet.
Until clients have been updated so that they don't expect the types
ForStatement and ForEachStatement, we need to create the derived
classes ForStatementImpl and ForEachStatementImpl.

Change-Id: I4be6c79e082ac4f3f63f36a5cc541260a77d8bb1
Reviewed-on: https://dart-review.googlesource.com/c/94461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-27 18:12:07 +00:00
Sigmund Cherem 82a15835f0 Short-circuit logical operators in constants
Closes https://github.com/dart-lang/sdk/issues/35801

Change-Id: I32c8c5c57a0800d7668ad508d762ba797da39820
Reviewed-on: https://dart-review.googlesource.com/c/94469
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-02-27 18:07:57 +00:00
danrubel 7829012e61 add new ExperimentNotEnabled error code
Change-Id: I541015db1f200de3f3846d7bd231b1996f947c6e
Reviewed-on: https://dart-review.googlesource.com/c/94420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-02-27 15:40:17 +00:00
Mike Fairhurst 1e2211bbb6 going to go ahead and just revert this. I don't think it is at all critical. Thanks for noticing the build failure Paul!
Revert "[DDC] Support implict casts in [ForLoopStatement2]"

This reverts commit b11cb39d66.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> [DDC] Support implict casts in [ForLoopStatement2]
> 
> Change-Id: I3b34072fe5ddb9078b45802619aed374f52696f5
> Reviewed-on: https://dart-review.googlesource.com/c/94357
> Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
> Commit-Queue: Nicholas Shahan <nshahan@google.com>
> Reviewed-by: Nicholas Shahan <nshahan@google.com>

TBR=mfairhurst@google.com,nshahan@google.com

Change-Id: I8f7b5252c3377a13fcb15c927d6bc6d718488bfd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/94560
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-02-27 15:38:28 +00:00
Danny Tuppeny 01cc5a6305 Ensure unknown fields in LSP payloads are ignored
Change-Id: I3f4a2763b2a8714a80108a895c1887b5a36d2a3d
Reviewed-on: https://dart-review.googlesource.com/c/94500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-27 15:00:17 +00:00
Danny Tuppeny 0e9d97498c Add some notes on using Dart LSP with Vim
Change-Id: I5b77243e8d725ca9802db56b59692b6e8a847d9c
Reviewed-on: https://dart-review.googlesource.com/c/94207
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 12:08:32 +00:00
Kevin Millikin a9ef31ba43 [Fasta] Add Kernel syntax for spread elements
Add spread elements to the Kernel syntax.  They are currently replaced
by an invalid expression during type inference.

Change-Id: Icdb489e2c9993c6517983cfafdefc801ebb378ab
Reviewed-on: https://dart-review.googlesource.com/c/94501
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-02-27 11:48:12 +00:00
Lasse R.H. Nielsen 40bab34fbd Fix Stopwatch timers to not overflow on intermediate computations.
With a nanosecond tick counter, the elapsedMicroseconds getter
could overflow if a stopwatch runs for only ~2.5 hours.

Change-Id: I10cb54bba928713a3127a6bfbd19346b01d775b0
Reviewed-on: https://dart-review.googlesource.com/c/94381
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-02-27 09:56:12 +00:00
Johnni Winther edcaa05375 Support @pragma('dart2js:noElision') on non-internal methods
Change-Id: Ifae3f76107086f6ad47de2f9eda7b7aec589fc89
Reviewed-on: https://dart-review.googlesource.com/c/94284
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-02-27 09:46:52 +00:00
Danny Tuppeny f484e1b05e Call canParse() for all LSP requests before passing to handlers
Any requests with params that don't pass canParse() will result in an InvalidParams error being returned without the handler being invoked.

Change-Id: Ic3e84b9259a467179baa2309fb58ee207f1225fa
Reviewed-on: https://dart-review.googlesource.com/c/94298
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-27 08:12:02 +00:00
Danny Tuppeny 0e54ce3b2d Fix a canParse method that would overflow the stack
This method is (accidentally) not currently being called, but it will be soon. The codegen wasn't using the resolved base-type for the enum when writing the type check.

Change-Id: I025ed5109c70d8916f800295350a3f4eaf8f16f2
Reviewed-on: https://dart-review.googlesource.com/c/94294
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 08:12:02 +00:00