Commit graph

57669 commits

Author SHA1 Message Date
Ryan Macnak
9b5a4241de [vm, gc] Don't rebuild the remembered set during marking.
Instead, only filter dead objects from the remembered set at the end of marking.

Allows scavenges to occur during concurrent marking, and avoids changing the mutator to handle a race with the concurrent marker for the remembered bit.

Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: I116d7acc8fb57b8c3088febe6c196030a40fb319
Reviewed-on: https://dart-review.googlesource.com/67841
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-08-08 01:03:42 +00:00
Stephen Adams
c712470bb9 dart2js status bingo
TBR=sigmund@google.com

Change-Id: I6851fd7e53c04e2dd148a568a74b15319b4621c4
Reviewed-on: https://dart-review.googlesource.com/68851
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-08 00:58:03 +00:00
Alexander Aprelev
dac348c8c9 [observatory] Only run field guards test if it is enabled in the vm.
Change-Id: I83c5dba9b85fc0f99585fbd90cdc66d8c3fb865b
Reviewed-on: https://dart-review.googlesource.com/68850
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-08-08 00:38:52 +00:00
Stephen Adams
4d156f9fb0 [dart2js] Fix function_type GVN bug
Fixes #30476

Change-Id: Ie1e536c197b137ccddeeaa45d337f1bd16a2ff78
Reviewed-on: https://dart-review.googlesource.com/68848
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-08 00:05:14 +00:00
Stephen Adams
4196c0e2f5 Fix dart2js/sourcemaps/minified_names_test
TBR=sigmund@google.com

Change-Id: Ie48333f2bfa9352c7ff787acc00dc12aa5c97cd5
Reviewed-on: https://dart-review.googlesource.com/68846
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-08 00:01:57 +00:00
Régis Crelier
8c059e7a34 Update language_2 status file for kernel bytecode passing tests.
About 20 tests that were marked as failing actually pass.

Change-Id: Ib1f8b51359bfba41d0bab7bb28a5eb83340a11fb
Reviewed-on: https://dart-review.googlesource.com/68842
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-07 23:57:48 +00:00
Ryan Macnak
ac69a3041a [vm, gc] Rename store_buffer.h as pointer_block.h as it also defines the mark stack blocks.
Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: I85ce8c639bbbfc9167c7c5462ff8756a81ecf3d3
Reviewed-on: https://dart-review.googlesource.com/68841
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-08-07 23:49:14 +00:00
Stephen Adams
9510738c62 dart2js status update
Change-Id: I4ceae060c6786b400f2f0f77c15c7ddbdbd61422
Reviewed-on: https://dart-review.googlesource.com/68845
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-07 23:37:19 +00:00
Alexander Aprelev
6bdf3b7ed6 [observatory] Fix _guardLength serialization to output a string, rather than an int.
Change-Id: I12e3505649ebe9bb72f479dc7e2fc2dd19226ed7
Reviewed-on: https://dart-review.googlesource.com/68802
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-08-07 22:58:36 +00:00
danrubel
1f4449658d Refactor dartdoc parsing
This alters the way that dartdoc is parsed,
preventing null comment references from being pushed onto the stack.
This removes the need to remove those nulls prior to creating
the documentation comment AST nodes and allows for fixed sized lists.

This also address comments in:
* https://dart-review.googlesource.com/c/sdk/+/68520
* https://dart-review.googlesource.com/c/sdk/+/68461

Change-Id: I679c425b5d1f3f7954281d226815a80e73dcc033
Reviewed-on: https://dart-review.googlesource.com/68780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 22:28:55 +00:00
Stephen Adams
0fbe9d3a95 [dart2js] Dynamically generated tear-off constructors should have names
If the name is not provided the implementation can invent something
that conflicts with Dart 'Object'.

Change-Id: I3d15ab5d2c5b57d4bc3757fb5693ef56c452e0b0
Reviewed-on: https://dart-review.googlesource.com/68800
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 22:15:57 +00:00
Konstantin Shcheglov
cb4f5b3a3a Resynthesize nameOffset for properties/parameters.
R=brianwilkerson@google.com

Change-Id: Ib3213529836df20f580a5d8805006ba13b82bf20
Reviewed-on: https://dart-review.googlesource.com/68761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 21:54:55 +00:00
Konstantin Shcheglov
69f216d4f1 Fix mock SDK and Flutter to pass some Flutter tests.
R=brianwilkerson@google.com

Change-Id: If5bbbd608d6a5ed378bb161ad36850df2c5b8533
Reviewed-on: https://dart-review.googlesource.com/68820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 20:44:15 +00:00
Konstantin Shcheglov
c619413fef Fix for unawaited future in assists.
R=brianwilkerson@google.com

Change-Id: Ie297476866d380d7938896e18cb5ffd5fff9fb1f
Reviewed-on: https://dart-review.googlesource.com/68762
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 19:49:10 +00:00
Régis Crelier
66693ea6e2 [VM runtime] For now, do not use field guards when using kernel bytecode.
Change-Id: I6619d329eda70a4fd684f2c2bed4ba2934d1271f
Reviewed-on: https://dart-review.googlesource.com/68540
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-08-07 19:06:48 +00:00
Brian Wilkerson
31765bf56f Clean up some hints in server code
Change-Id: Ia620cfd7c4cb116ca55ce8a4405820007bc69160
Reviewed-on: https://dart-review.googlesource.com/68740
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-07 18:35:33 +00:00
Konstantin Shcheglov
c30af508a4 Store import prefix offset into metadata and resynthesize.
Change-Id: I7ef72c562323f132865c7cb6b3b068623c831043
Reviewed-on: https://dart-review.googlesource.com/68741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 18:17:46 +00:00
Ryan Macnak
c439ebead0 [vm, gc] Update old allocation stats when scanning instead of pushing.
Avoids the incremental barrier needing to deal with allocation stats, and avoids a repeated size calculation.

Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: I9104ffca30174a3e659c93d20b4888678e8e759a
Reviewed-on: https://dart-review.googlesource.com/68221
Reviewed-by: Zach Anderson <zra@google.com>
2018-08-07 17:49:03 +00:00
Dmitry Stefantsov
d933d4aa39 Update tests for const constructors in subclasses of mixin applications
Change-Id: I6203256f8fc4ff4ef7312ec95dcd23ab99e5d54c
Reviewed-on: https://dart-review.googlesource.com/68663
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-08-07 17:26:25 +00:00
Stephen Adams
b570ea1ff1 status update to make dart2js run function_type/ tests
Change-Id: I54159ad72356a1476509ca2ab426ffabc693a01f
Reviewed-on: https://dart-review.googlesource.com/68602
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 17:13:37 +00:00
Samir Jindel
9767af2550 [vm/precomp] Support @pragma for fields and remove associated entry-point entries.
Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Change-Id: I584aae2360771cf0599d9fb1b5ae2735b20d3413
Reviewed-on: https://dart-review.googlesource.com/65820
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-07 16:47:50 +00:00
Konstantin Shcheglov
80e08e0913 Use 'useCFE' flag to turn on CFE in AnalysisDriver.
R=brianwilkerson@google.com

Change-Id: If0aa7d10bc46f1dd408d0be8128fc25538758359
Reviewed-on: https://dart-review.googlesource.com/68720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 16:12:47 +00:00
danrubel
98cf15cf5b Remove unnecessary commentToken parameter
Minor cleanup to the dartdoc parsing API

Change-Id: I7aa4c0116277beeef39553f1c133aa1ab8904d61
Reviewed-on: https://dart-review.googlesource.com/68700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-08-07 16:07:09 +00:00
danrubel
89fd468b89 remove unused DocumentationCommentToken.references field
Change-Id: Ia35dfe2c69d4f35d3a54dd0fcb026de23d888d1c
Reviewed-on: https://dart-review.googlesource.com/68520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 16:07:09 +00:00
danrubel
49b18446c2 Refactor dartdoc parsing
This extracts and refactors a sizable chunk of dartdoc parsing out of AstBuilder
and into the fasta parser. Parsing dartdoc does not happen unless the listener
calls the new fasta parser parseCommentReferences method.

The new parseCommentReferences method generates a handleCommentReferenceText
event for each comment reference encountered. The listener calls the scanner
to tokenize the comment reference and forwards the result to a new
fasta parser parseOneCommentReference method. This method generates either
a handleCommentReference or a handleNoCommentReference depending upon
whether or not a reference is parsed.

parser.parseCommentReferences
* generates handleCommentReferenceText events
* returns # of events generated

listener.handleCommentReferenceText
* calls parser.parseOneCommentReference

parser.parseOneCommentReference
* generates either handleCommentReference or handleNoCommentReference

There are further improvements to be made, but I believe this chunk
will allow progress to be made on the kernel side.

Change-Id: I393dc4d1d4791b3d7a529f6cb3c16db3a5befddf
Reviewed-on: https://dart-review.googlesource.com/68461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 16:07:09 +00:00
Brian Wilkerson
bc8a8386af Fix tests that reference the flutter package
Change-Id: Idd1949db259d747abb063328901f42be29ba57b2
Reviewed-on: https://dart-review.googlesource.com/68581
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-07 15:48:37 +00:00
Samir Jindel
de408202a5 [vm/precomp] Take 4 for procedure- and class-entrypoints.
This reverts commit 08f59e5de3.

There are no changes to take 3 except fixing merge conflicts.

Change-Id: I45d5a16274c80f469827c19f4e4f4ca724e85a67
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/68363
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-07 13:54:27 +00:00
Samir Jindel
1ac34f1513 [vm] Fix @pragma detection in KernelLoader.
Change-Id: If09f26a27f84bbed4841eb6d868aea38af564e4a
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/68362
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-07 13:54:27 +00:00
William Hesse
0986b2bfa2 Clean up test.py named configurations code
Drops the debug printing of configurations, and the checking
that the named configurations agree with the flags passed.

Change-Id: Id19ca002668a757d44017873a5d0c8bb06472564
Reviewed-on: https://dart-review.googlesource.com/68680
Reviewed-by: William Hesse <whesse@google.com>
2018-08-07 13:53:37 +00:00
Erik Ernst
df9ca4c9f9 Adjusted method_override_test to eliminate spurious compile time error
Change-Id: I1f46f28c220ba2a6d5c5e3dc4f2c3efd010c7a8a
Reviewed-on: https://dart-review.googlesource.com/68664
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2018-08-07 12:55:21 +00:00
Dmitry Stefantsov
53321309da [kernel] Remove Vector-related Kernel nodes
They were supposed to be used as a part of the closure conversion pass,
which is now obsoleted.

Change-Id: Ie063f6c44487df7cd5d21895e8edc03251525d5f
Reviewed-on: https://dart-review.googlesource.com/68662
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-08-07 11:49:49 +00:00
Jens Johansen
6814dace8d Add bug number to kernel service status line
Change-Id: I2f503ce783c8b32ac01a7c94df62559e6d1e40f4
Reviewed-on: https://dart-review.googlesource.com/68640
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-08-07 09:55:16 +00:00
Jens Johansen
ad1d9e4f85 Update status for app_jitk after 164c7e3
Change-Id: I5bba0e4a3db3c6c40356b1f1db1c2f54f6f55476
Reviewed-on: https://dart-review.googlesource.com/68661
Reviewed-by: Jens Johansen <jensj@google.com>
2018-08-07 09:43:05 +00:00
Jens Johansen
4deab5bfa1 Observatory: Don't give a stacktrace on Sentinel
E.g. on this:
```
import "dart:developer";

class C {
  foo2() {
    var temp = 1;
    [1, 2, 3].forEach((outer_ea){
      [1, 2, 3].forEach((inner_ea){
         debugger();
         throw "Two!";
      });
    });
  }
}

main() {
  new C().foo2();
}
```

Saying `p this` in the debugger when it stops now says `<optimized out>`
instead of something like
```
Internal error: TypeError: Instance of 'qp': type 'qp' is not a subtype of type 'b6'

TypeError: Instance of 'qp': type 'qp' is not a subtype of type 'b6'
    at Object.m (http://127.0.0.1:54975/main.dart.js:1630:3)
    at Object.os (http://127.0.0.1:54975/main.dart.js:1830:26)
    at Object.b (http://127.0.0.1:54975/main.dart.js:1835:3)
    at http://127.0.0.1:54975/main.dart.js:26687:14
    at a1I.a (http://127.0.0.1:54975/main.dart.js:3202:71)
    at a1I.$2 (http://127.0.0.1:54975/main.dart.js:3547:23)
    at TB.$0 (http://127.0.0.1:54975/main.dart.js:39207:33)
    at Tz.lp (http://127.0.0.1:54975/main.dart.js:39181:9)
    at TC.$2 (http://127.0.0.1:54975/main.dart.js:39205:15)
    at TB.$0 (http://127.0.0.1:54975/main.dart.js:39207:33)
```
Change-Id: I7e001816742ff84dad5859f83b08da86d1043ccf
Reviewed-on: https://dart-review.googlesource.com/68660
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-08-07 09:41:38 +00:00
Jens Johansen
f36ab38bf3 Detect isKernel better in service tests
Change-Id: I38ef62dd7db1dbda8bdc0477d16f92192cf8bff3
Reviewed-on: https://dart-review.googlesource.com/68621
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-08-07 09:10:08 +00:00
Jens Johansen
f6a74b0412 Add note to status about a tests that cannot be expected to pass
I suppose an alternative would be do delete the test.

Change-Id: I79373fea26d8ee774473646ada6e17ad253f6531
Reviewed-on: https://dart-review.googlesource.com/68622
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-08-07 09:04:23 +00:00
Jens Johansen
164c7e3195 Debugging sync* and yield
Set position on yield in sync* functions; use yield position in VM.

Change-Id: I1c92fd47e3c8d4f747242e076007c122ea0d2186
Reviewed-on: https://dart-review.googlesource.com/68366
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-08-07 08:39:32 +00:00
Jens Johansen
f9e50baa0b Update formated error for nonexisting constructor
This is an alternative fix for #33452.
This was originally fixed in 8e4d5c0a38,
but it was pointed out that it doesn't work if there were type arguments.

This should fix the problem in more cases.

Change-Id: I08ed27ecea1a8d471be9675d28b997614248c65e
Reviewed-on: https://dart-review.googlesource.com/68080
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-08-07 06:45:57 +00:00
Jens Johansen
f609258f3f Use the position on as when issuing AssertAssignable for as
E.g. the following program gives a type error, but previously didn't
tell what line had an error. This CL fixes the issue.

```
import "dart:async";

Future<Object> foo() {
  return Future.value("hello");
}

main() async {
  int x = await foo();
}
```

Change-Id: I27ae483b8b7ca63b9efac555a5cbc651296f227a
Reviewed-on: https://dart-review.googlesource.com/68367
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-08-07 06:35:28 +00:00
Stephen Adams
f754b8c572 Remove dead language_2_dart2js.status lines
vm/xxx is dead because vm/*: SkipByDesign

TBR: sigmund@google.com

Change-Id: Ib1da8e8d9860fb055ae89dfd6bde160b5b0fb0ae
Reviewed-on: https://dart-review.googlesource.com/68601
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 03:24:40 +00:00
Konstantin Shcheglov
737e546939 Resolve invalid return from constructor.
Change-Id: Ibec6d4e307b22fedb78a72531c852480a61cd8eb
Reviewed-on: https://dart-review.googlesource.com/68501
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-07 02:45:08 +00:00
Stephen Adams
9f238d9b35 Remove $fasta from language_2_dart2js.status
The old parser has been deleted for some time.

Change-Id: Ib49b82d6be1d8d816ef50c64d37ebd067297c1f5
Reviewed-on: https://dart-review.googlesource.com/68600
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 02:40:48 +00:00
Stephen Adams
a521870e1a Clean up dart2js assertion_test status
Change-Id: I665cfdd5a17da10dbab3fb187eb2ce1b3e922a4e
Reviewed-on: https://dart-review.googlesource.com/68580
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 01:09:31 +00:00
Janice Collins
1a704502d7 Update examples to always use sources and errorListeners.
Change-Id: I967725e53792325d8813500069fee0ce1afc2811
Reviewed-on: https://dart-review.googlesource.com/68425
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-06 23:25:40 +00:00
Stephen Adams
7cf2607344 Make minified names explicit in printed representation of types.
Supports mixed minified and unminified names (like `List` and `num` below).

Example:
TypeError: Closure 'minified:b3': type '() => minified:o<minified:k<num>>' is not a subtype of type 'List<minified:o<minified:k<num>>>'


Change-Id: I1fc67f189170eb9b9c8614b1e3d33128adc49787
Reviewed-on: https://dart-review.googlesource.com/67303
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-06 22:28:11 +00:00
Konstantin Shcheglov
77202bf2b0 Resolve invalid 'as' constant expression.
Change-Id: I4d9463fe60a47ec2dc44d5da30d4923b20244e45
Reviewed-on: https://dart-review.googlesource.com/68428
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-06 21:12:06 +00:00
Konstantin Shcheglov
cec29e4aa8 Infer original expression in SyntheticExpressionJudgment.
Change-Id: I91a27d06ccf4197274fc96597d384ba4e2335dbd
Reviewed-on: https://dart-review.googlesource.com/68426
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-06 21:04:22 +00:00
Brian Wilkerson
b0de4d8ac0 Add support for and a few additional CFE-based tests
Change-Id: I8e52f41cc54341c4321e688ae46a6392e69f98ab
Reviewed-on: https://dart-review.googlesource.com/68500
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-06 21:04:02 +00:00
Terry Lucas
d9a07b09ff Fixed createObjectStore to keyPath.
TBR=vsm@google.com

Change-Id: I709e2741adf1dc222dd94e5052360a35cf21d917
Reviewed-on: https://dart-review.googlesource.com/68480
Reviewed-by: Terry Lucas <terry@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-08-06 20:52:35 +00:00
William Hesse
0bb7a8730a Fix analysis error in pkg/smith
Change-Id: Idf84bc411d08353d2235b927f6373501f9a327b1
Reviewed-on: https://dart-review.googlesource.com/68370
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-06 17:55:12 +00:00