Commit Graph

25510 Commits

Author SHA1 Message Date
Danny Tuppeny 8fb52650e5 Ensure LSP canParse type-checks optional values
Previously we were only outputting the validation code if the value was required. This changes it to also validate in the case it's not required, but only if it's not-null.

Without this change, the test that parses `'overwrite': 1` fails (a boolean is expected), but with it, it passes.

Change-Id: Ic4afe1f6a8f78add2385831907b226022b7ecaec
Reviewed-on: https://dart-review.googlesource.com/c/94293
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 08:12:02 +00:00
Danny Tuppeny 26d91cf4b6 If LSP initialize fails in tests, throw
Previously if a test didn't expect initialize to error (and didn't check for it), the test failure would be hard to diagnose. With this, if you don't explicitly opt-in to allowing failure, an error during initialize will just throw and fail the test.

Change-Id: I01283a70b3571415ec16f2fc4d781c08a953a6a1
Reviewed-on: https://dart-review.googlesource.com/c/94291
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 08:12:02 +00:00
Danny Tuppeny d1876531f2 Fix LSP canParse to allow nulls where the spec allows
Change-Id: I8a34fbf03e45c85a70d44a54b1715b87f84f9c3b
Reviewed-on: https://dart-review.googlesource.com/c/94290
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 08:12:02 +00:00
Sam Rawlins 9450c6d829 Move SUBTYPE_OF_SEALED_CLASS to own file, and DriverResolutionTest
Change-Id: I1c5372bba522f1c3c818a2a1eafb366794e4700a
Reviewed-on: https://dart-review.googlesource.com/c/93929
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-27 02:08:25 +00:00
Mark Zhou 2d58ea3b42 [dartdevc] fix #35554, throw NullThrownError when null is thrown
Change-Id: Ib792b8c30b8ddb91da07a3f16fb4450379139d95
Reviewed-on: https://dart-review.googlesource.com/c/94321
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Auto-Submit: Mark Zhou <markzipan@google.com>
2019-02-26 23:02:25 +00:00
Paul Berry 25aa35ef98 Convert ast.dart to triple-slash comment style
Change-Id: I07b6fca7f725390dc9761769726024762a977e12
Reviewed-on: https://dart-review.googlesource.com/c/94402
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2019-02-26 22:49:25 +00:00
Mike Fairhurst b11cb39d66 [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>
2019-02-26 22:42:25 +00:00
Mike Fairhurst e94e797d7b Fix flow analysis test for ForStatement2
Change-Id: I4a5e444189c9f09c5a29b9ff2fde183879c7a083
Reviewed-on: https://dart-review.googlesource.com/c/94351
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-02-26 21:57:25 +00:00
Paul Berry 0374ba1698 Coalesce ForStatementBase with ForStatement2Impl.
We don't need both classes.

Change-Id: Id36a1f8c04bf1c50458dd2e18ecdb0e0a8a6f7d0
Reviewed-on: https://dart-review.googlesource.com/c/94363
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-26 21:50:34 +00:00
Paul Berry 4cd309316b Prepare visitors for UI-as-code rework.
The following AST node types will be deprecated soon:
- ForEachStatement (use ForStatement2 instead)
- ForStatement (use ForStatement2 instead)
- MapLiteral (use SetOrMapLiteral instead)
- SetLiteral (use SetOrMapLiteral instead)

To allow clients to stop implementing visit methods that accept these
AST node types, we add a default implementation of each corresponding
visit method to each of the analyzer's visitor base classes; these
default implementations forwards to the new visit method.

This frees clients to begin migrating their visitors to the new AST
node types.

Future CLs will deprecate, and later remove, the old AST node types.

Change-Id: I8d86b64ef0b131012f0a9959aa8940e0d8561485
Reviewed-on: https://dart-review.googlesource.com/c/94301
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
2019-02-26 21:49:24 +00:00
Paul Berry cfac26e184 Deprecate Expression.precedence.
In analyzer version 0.36.0, its return type will be changed to
`Precedence`.  Clients that wish to prepare for the change can switch
to `Expression.precedence2`.

Change-Id: I9c82fba557c5e3870c498afdb0bb5de22ba38240
Reviewed-on: https://dart-review.googlesource.com/c/94353
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-26 21:07:44 +00:00
Mike Fairhurst 4abf59202d Fix ForLoop2 support in reference collector
Change-Id: I2e5d07de850382cbd1c56182ca7de7979f558693
Reviewed-on: https://dart-review.googlesource.com/c/94350
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-26 20:44:14 +00:00
Stephen Adams 05bba46133 Use DFS numbering for block dominates test
Change-Id: Ieb4864e77ec3b92d9c91cca3507dad590b834ec4
Reviewed-on: https://dart-review.googlesource.com/c/94362
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-02-26 19:20:00 +00:00
Mayank Patke 3d3f6f9d4b Remove immediateUnderSetLiteral.
Change-Id: I5abb8bb6dafa2a7ee88ce4bf559bae20ac0998fd
Reviewed-on: https://dart-review.googlesource.com/c/92401
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-02-26 18:38:00 +00:00
Mayank Patke 7b86d78f07 Enable set literal lowering in dart2js.
Change-Id: I0d608713d7138f66ea46011abbb845d4a70c7521
Reviewed-on: https://dart-review.googlesource.com/c/92150
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-02-26 18:38:00 +00:00
Nicholas Shahan e29835749a [dart_internal] Bump SDK constraint upper-bound to <2.3.0
Change-Id: I0e992e40150a7eb0af7f6a039597eca89f5d9a9c
Reviewed-on: https://dart-review.googlesource.com/c/94355
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-02-26 17:39:50 +00:00
Paul Berry 385be0cf31 Remove unused imports
Change-Id: I831c216c5cd804f339f21cf8a300f35f654ec407
Reviewed-on: https://dart-review.googlesource.com/c/94352
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-26 16:21:52 +00:00
Danny Tuppeny d4ff20f005 Remove unwanted @soloTest
Change-Id: I0804a7d409af0aaaea0b799a23a3b443cc1c23f4
Reviewed-on: https://dart-review.googlesource.com/c/94383
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-26 15:35:12 +00:00
Peter von der Ahé 155ac6afbd Create subtype benchmarks based on dart2js and a large application
The large application is from an internal customer.

Change-Id: I670180a85ca402a34f99493d05de0124f8f89701
Reviewed-on: https://dart-review.googlesource.com/c/94296
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-02-26 14:07:42 +00:00
Peter von der Ahé b446d0a226 BenchMaker: a benchmark that reads the output from BenchMaker
Change-Id: I671d949d8a8c6f9c17ef022fd389dcde1769bf6f
Reviewed-on: https://dart-review.googlesource.com/c/94289
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-02-26 11:59:43 +00:00
Peter von der Ahé f6389a4216 TypeComputer: handle named parameters
Change-Id: Ifaf02b65497637053c4c17b199957ec24a974706
Reviewed-on: https://dart-review.googlesource.com/c/94288
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-26 11:59:43 +00:00
Peter von der Ahé cffdd356ed BenchMaker: Don't obfuscate dart:async
Change-Id: Ia48daaee3d8a0c3a2e580c54074598cd49a8fea8
Reviewed-on: https://dart-review.googlesource.com/c/94287
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-26 11:59:43 +00:00
Peter von der Ahé 1171c4735b BenchMaker: Ensure all classes are serialized
Change-Id: I06b4ca890f74858ce3e910ba4017f7bc622c0839
Reviewed-on: https://dart-review.googlesource.com/c/94285
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-26 11:59:43 +00:00
Peter von der Ahé 47555a25b8 Fix detection of implicit bounds
Change-Id: I5fa2ae94f23f5452cdc5f5afe4360ce879c23082
Reviewed-on: https://dart-review.googlesource.com/c/94282
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-02-26 11:59:43 +00:00
Peter von der Ahé eb19bba3e3 Implement TypeBuilderComputer.visitFunctionType
Change-Id: Ifd75fb445b2b8a02c61a555435a9c6656727241e
Reviewed-on: https://dart-review.googlesource.com/c/94226
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-02-26 09:30:32 +00:00
Peter von der Ahé 7f00ea7e43 Subst interface types copied from superclass
Change-Id: Ib9cda086204f4b2b4c844b25ebcf3d2613f37747
Reviewed-on: https://dart-review.googlesource.com/c/94202
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-26 09:30:32 +00:00
Peter von der Ahé 561f7905d6 A type variable can be a subtype of another
Change-Id: I2f4df4126f5d788b2993689e623c9b69b4a0c251
Reviewed-on: https://dart-review.googlesource.com/c/94201
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-26 09:30:32 +00:00
Peter von der Ahé 0f9a5198bd Finish implementing IsFutureOrSubtypeOf
Change-Id: I0263be3d52cf3be1b3ba1f34bed9180fb0125863
Reviewed-on: https://dart-review.googlesource.com/c/93986
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-26 09:30:32 +00:00
Danny Tuppeny a52ac7d27b Correct LSP canParse functions for classes containing restricted enums
This fixes a mistake where enum classes were resolved to their base types (string, num) before being output in canParse methods of their containing class. This meant for "restricted" enum types (those that should not allow any value), canParse would incorrectly return true for out-of-bound values as long as they were the correct type.

Change-Id: I44e37a60b49287cf7202d5a578ee9c08cf898078
Reviewed-on: https://dart-review.googlesource.com/c/94280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-26 07:38:12 +00:00
Danny Tuppeny bf0568c548 Document restrictions on LSP refactors/code fixes
We only provide fixes/refactors/assists to clients that support returning literal CodeActions (not just Commands). CodeActions allow us to return a WorkspaceEdit directly without having to encode the action into a command/argument set that is tround-tripped to the client. Supporting CodeActions on the client is relatively straight forward (since it just removes a round-trip and applies the edit directly).

Change-Id: I7f5a8c22e66ac23bcde6d5782bc2eaa6aeb283da
Reviewed-on: https://dart-review.googlesource.com/c/94221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-25 17:45:34 +00:00
Danny Tuppeny 73e544ed0b Improve errors when LSP integration tests fail to spawn server
When the server fails to start up (writing to stderr) the tests currently would just hang waiting for responses to messages. This will just throw the message as an exception, failing the test with a more useful message, for example:

```
00:07 +0 -1: ServerTest | test_exit_afterShutdown [E]
  Analysis Server wrote to stderr:

  file:///Users/dantup/Dev/Google/dart-sdk/sdk/third_party/pkg/linter/lib/src/analyzer.dart:106:27: Error: The method 'registerDefault' isn't defined for the class 'Registry'.
   - 'Registry' is from 'package:analyzer/src/lint/registry.dart' ('file:///Users/dantup/Dev/Google/dart-sdk/sdk/pkg/analyzer/lib/src/lint/registry.dart').
  Try correcting the name to the name of an existing method, or defining a method named 'registerDefault'.
      Registry.ruleRegistry.registerDefault(lint);
                            ^^^^^^^^^^^^^^^
```

Change-Id: If64b68b17a0d379f8879891f0346704d4ad360e8

Remove unused imports

Change-Id: I745499f7b038c81320c127410967d939c7756e51
Reviewed-on: https://dart-review.googlesource.com/c/94222
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-25 17:13:52 +00:00
Danny Tuppeny 380cec1708 Wait for LSP server to be ready before sending exit command in integration test
Otherwise we'll need to increase the timeout to account for server startup (which will mask if the exit really is taking a longer time than it should).

Change-Id: I5c770efa62dc2a66946fd7a6c07665d3f1b80ee4
Reviewed-on: https://dart-review.googlesource.com/c/94260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-25 17:12:57 +00:00
Danny Tuppeny 1e60ddbc5b Make more LSP enum classes support "any value"
Previously we assumed enum classes could only be the values specified in the spec, but this was not correct - newer clients may know about values that we did not know about at the time we shipped(/last regenerated).

This makes the default for an enum class to support any class (avoiding deserialisation failures when new clients send newer values), and opts-out for those where the spec is explicit that the value set is fixed.

Also opened https://github.com/Microsoft/language-server-protocol/issues/686 for clarification that these "fixed set" values are explicitly intended to never be extended, or whether this is accidental.

Change-Id: I6243fc91c14ec0fa5622d3f6f29bf77cadf7da64
Reviewed-on: https://dart-review.googlesource.com/c/94220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-25 17:05:47 +00:00
Paul Berry 3dfa610694 Work around #35993 by allowing ints to be assigned to doubles in constants.
Change-Id: If206149593849ce8588975ac8ed4d1cd78ae70e8
Reviewed-on: https://dart-review.googlesource.com/c/94123
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2019-02-25 15:28:34 +00:00
Kevin Millikin 38259ca3c8 [Kernel] Change block expression to have a block body
Having a block as body instead of a list of expressions simplifies
code handling block expressions.  Since it is always a block, it can
be left untagged in the serialized representation so the serialized
representation is not changed with this change.

Change-Id: I3c34f663041ff8cb4a530c2d6a148343e59c68fe
Reviewed-on: https://dart-review.googlesource.com/c/94223
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Auto-Submit: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-02-25 14:20:07 +00:00
Peter von der Ahé 76e3dfe096 Remove TypeEnvironment.legacyMode
Change-Id: I1bcebc66cbf4d3cb749fdc4cec382d936d4107ca
Reviewed-on: https://dart-review.googlesource.com/c/94212
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-02-25 12:17:54 +00:00
Peter von der Ahé 20da48c7cf Remove unused legacyMode from constant transformer
Change-Id: I3ccd276d1ebe5aa63d45625da70fd417b93d29c7
Reviewed-on: https://dart-review.googlesource.com/c/94211
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-02-25 12:17:54 +00:00
Peter von der Ahé ceb998ecc0 Remove unused TargetFlags
Change-Id: I33f1ffaec5bb9a936639424b78393cd187344ff9
Reviewed-on: https://dart-review.googlesource.com/c/94210
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-02-25 12:17:54 +00:00
Danny Tuppeny 6af24a2490 Move LSP diagnostic server test -> integration
This tests we can spawn the diagnostic server on-demand. The test was previously marked failing because it needed to be a real inrtegration test.

Change-Id: I52638682d7fb1807584601f7ff933f30b1bd6d70
Reviewed-on: https://dart-review.googlesource.com/c/93949
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-25 12:03:58 +00:00
Danny Tuppeny 34614ef995 Exit LSP server with exitCode=1 if there was no shutdown notification
This adds a new server state "shutting down" which rejects requests. The LSP spec says clients should send the shutdown notification, then the exit notification. If an exit notification is received without a shutdown, then the exit code is set to 1.

Change-Id: I50aa186d699a646ee1422f5b3ddaae4bc089b632
Reviewed-on: https://dart-review.googlesource.com/c/93952
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-02-25 11:58:24 +00:00
Aske Simon Christensen e7d263b05f [fasta] Transform set literals in annotations.
Change-Id: I23e60cb85e1df728fc3be3b38be43e31a1795d1d
Reviewed-on: https://dart-review.googlesource.com/c/93941
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-02-25 10:30:14 +00:00
Peter von der Ahé 65698e2c2f Support mixin applications in type parser
Change-Id: I558c7c6d69b0ac026abf32775bdf7c25aae401be
Reviewed-on: https://dart-review.googlesource.com/c/94205
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-25 10:26:54 +00:00
Peter von der Ahé e395cdb1ad Support mutually recursive types
Change-Id: Ib294756657325eab348f5dba451d369f21d5a516
Reviewed-on: https://dart-review.googlesource.com/c/94204
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-25 10:26:54 +00:00
Peter von der Ahé 393c1df600 Improve performance of scope creation in type parser
Change-Id: I4e432d3eacf2bceaf1cbf72c08a58516687128cf
Reviewed-on: https://dart-review.googlesource.com/c/94203
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-25 10:26:54 +00:00
Brian Wilkerson a481832df9 Add a failing test for recovery in typedef
Change-Id: I175b617c5fccef6895f6ff5072a578bf8a72204a
Reviewed-on: https://dart-review.googlesource.com/c/94141
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-02-24 23:34:53 +00:00
Brian Wilkerson 010052cb2b Add an assist to convert conditional expressions to a null aware operator (issue 35691)
Change-Id: Ic9aa8d3fa0408653088c9eb91c14083622ede60f
Reviewed-on: https://dart-review.googlesource.com/c/94124
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-24 22:46:14 +00:00
Paul Berry f0155931a9 Fix null reference exception in _constantValuesEqual
See #35908.

Change-Id: Icbbb28920447362407e53c45b816474d1ab9e280
Reviewed-on: https://dart-review.googlesource.com/c/94021
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-23 01:15:21 +00:00
Sigmund Cherem 5192cd1008 Narrowing improvements in dart2js global inference.
* no longer narrow by selector use, only narrow by type and non-null
* check for narrow nesting
* add non-null in a couple known places

One large apps, I compared the type-masks in dump-info and all differences were improvements with non-null. We weren't doing any narrowing based on the possible targets of a selector.

Change-Id: I270f360f70fbe3171d09ccd71d10517be9140194
Reviewed-on: https://dart-review.googlesource.com/c/90340
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-02-23 00:10:11 +00:00
Mayank Patke ed796fcc3e Reland "Flatten constant operations to implement JS semantics by default."
This is a reland of 8172270c95

Original change's description:
> Flatten constant operations to implement JS semantics by default.
>
> Change-Id: Id93e9a1ce77d8035928ba0b9c338a1030d0e13bd
> Reviewed-on: https://dart-review.googlesource.com/c/93960
> Commit-Queue: Mayank Patke <fishythefish@google.com>
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>

Change-Id: I33a167324bfb0825c23860b3f96fcb9d735395d1
Reviewed-on: https://dart-review.googlesource.com/c/94108
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2019-02-23 00:06:31 +00:00
Mayank Patke 8fface97f0 Reland "Eliminate singleton/static access to the constant system and expose its functionality at the top level."
This is a reland of 027b76ecbf

Original change's description:
> Eliminate singleton/static access to the constant system and expose its
> functionality at the top level.
>
> Use sites have been updated to import the library with a prefix.
>
> Change-Id: I0f5e4e47bec089d2d0dc2fcd50caccfd98947cf5
> Reviewed-on: https://dart-review.googlesource.com/c/93842
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>

Change-Id: Ib04a9d48c8dca51020258313256e0fb0df330d9b
Reviewed-on: https://dart-review.googlesource.com/c/94107
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-02-23 00:06:31 +00:00