Commit Graph

64479 Commits

Author SHA1 Message Date
Danny Tuppeny a779db0813 Update LSP spec to latest
Change-Id: I6f7ff3c6707f992aa618ad172e81857153b75795
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102360
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-13 15:11:15 +00:00
Danny Tuppeny b7521f5e1b Fix lints not appearing when using LSP Server
Change-Id: Ib3b4396a611be32b91b08d68c962302899a1ad88
Bug: https://github.com/dart-lang/sdk/issues/36931
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-05-13 15:03:30 +00:00
Danny Tuppeny 9472745446 Change error code for server shutting down
See https://github.com/Microsoft/language-server-protocol/issues/684#issuecomment-477215334.

Change-Id: I9e45dd27ea914af8bc3b936e9885c113211c50ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-05-13 15:03:11 +00:00
Alexander Thomas ef971f3787 [infra] Bump version file on master to 2.3.1
TBR=whesse@google.com

Change-Id: Idb5b542e66474ffbdc7865f8bf92236f1275d0b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102383
Reviewed-by: Alexander Thomas <athom@google.com>
2019-05-13 13:12:38 +00:00
Paul Berry 27df933bd1 Fix some hints in the analyzer package.
Change-Id: I46dd91ef2a78dffc08f2fdb45d9646a966a3315d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102380
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-13 12:51:30 +00:00
Danny Tuppeny f7e288e3ad Return empty responses instead of errors for non-Dart files in LSP server
Previously we could return "invalid path" responses for any non-Dart files. This allows clients to send requests for other files and just successful (though empty) responses.

Change-Id: I192e83ac2ebd2124c03c22e3e048a066cfd33f17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101990
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-05-13 09:04:36 +00:00
Konstantin Shcheglov d0869386f6 More optimizations for summary2 storage format.
1. Unwrap ArgumentList and TypeArgumentList.

2. Don't even try to write and read tokens.

Performance difference does not look significant, but we are now
talking about something like 5% or 10% difference with summary1, so
probably any improvement matters.

R=brianwilkerson@google.com

Change-Id: I5bdd090e1897cfdf596a99af8a198d0078fc7d18
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102280
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-12 22:03:57 +00:00
Konstantin Shcheglov 6dd7007b48 Tweak CONVERT_TO_PACKAGE_IMPORT assist.
There were a (probably very rare) case of invalid URI issue.
I also renamed the ID and method to be consistent with the message.

R=brianwilkerson@google.com, jwren@google.com

Change-Id: Ie97b1f81c78b67565d7831d532b7a28800db41a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102246
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-12 18:08:47 +00:00
Konstantin Shcheglov ca92a30299 Reuse LibraryScope in MetadataResolver.
R=brianwilkerson@google.com

Change-Id: If8ef8003fa800924facb5e59a99e1b7885a94093
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102281
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-12 17:24:57 +00:00
Vijay Menon 140822aebd [dartdevc] Allow multiple summaries and experiments in ddb tool
This allows us to test modular compiles from the cli:

> ddb -k foo.dart
> ddb -k -s foo.dill bar.dart

Change-Id: Ib88e7ff1291a7db5ecd1774b9e594121a303f2d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102002
Auto-Submit: Vijay Menon <vsm@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2019-05-11 22:23:57 +00:00
Konstantin Shcheglov 42c35d7bd6 Optimize summary2.
1. Don't store tokens.
2. Start moving toward storing only semantic information.
3. Don't use DeclarationSplicer, DeclarationResolver.
4. GenericFunctionType(s) don't work, we need a way to associate AST
location to summary location. I think it is solvable.

Change-Id: If0bf9f20f8092068488322129853b788dd947eb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102127
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-11 15:49:39 +00:00
Matthew Dempsky 54a541706d [vm] Simplify IsolateSpawnState
Move SpawnCount logic into SpawnIsolateTask, where it logically makes
more sense. This eliminates some code and also prevents
IsolateSpawnState from having lingering pointers to the parent
Isolate's fields after it might have been reclaimed.

Change-Id: If8d827f299ee90dd54faf896609a7acdfbb87608
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101628
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Matthew Dempsky <mdempsky@google.com>
2019-05-11 00:12:08 +00:00
Nate Bosch 3bc0ad4ee3 Revert "Use the full URI for DDK library debug names"
This reverts commit 8dc57acc52.

There will need to be some changes in build_web_compilers to handle this
without regressions and we want to avoid risking this getting published
before we have it all working.

Change-Id: I5b9a6684dc34c89ce55ad21710bcfa6de34a8120
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102260
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2019-05-10 22:15:03 +00:00
Paul Berry b8050f9322 Make NullabilityNode.nullable private.
This will help ensure that we don't accidentally make more use of it
before removing the constraint variable migration implementation
entirely.

Change-Id: I6cd898d1a3b2f2a4e9df9ea22c17ca77d3119567
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-10 22:07:08 +00:00
Paul Berry d47c31da48 Remove NullabilityNode.isNeverNullable.
This method relied on querying the underlying constraint variable, so
it needed to go in order to migrate away from the contraint variable
implementation.

Change-Id: I73f4b435d3ab4127cd0a08eaf96e8f15c1591430
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101488
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-10 22:06:58 +00:00
Mike Fairhurst b91a4f5423 [analyzer] Resolve methodName staticType when Function to check Function?
Change-Id: I85d43821d4b792c269f386616dcc21d144772c5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-10 21:45:29 +00:00
Paul Berry 11b59bec8d Store compilation unit NNBD status in unlinked summary.
This is needed for two reasons:

1. Summary linking, because type inference needs to behave differently
for opted-in vs. opted-out libraries.

2. Summary resynthesis, because TypeParameterElement.type needs to
behave differently for opted-in vs. opted-out libraries.

Note that reason 1 won't apply to the summary2 mechanism, because it
has access to full ASTs when doing type inference.  But it will still
need to record compilation unit NNBD status for reason 2.

This CL merely stores the correct data in the summary; it doesn't
address resynthesis, linking, or summary2.

Change-Id: I1aa2226e5865ef76747267de6198223997d6ad0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101920
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-10 21:34:08 +00:00
Sam Rawlins dac5a56422 Fix workspace/package identification for package:build packages
Fixes https://github.com/dart-lang/linter/issues/1393

Change-Id: I064faad8da50bc1a6c8a80a0412f792914915f8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102200
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 21:31:18 +00:00
Paul Berry 370b393ac5 Remove redundant optimization from callers of withNullability.
Change-Id: I9b9ccd3b5c85499ac2667e864374a86b5ff1c2f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-10 21:12:48 +00:00
Nate Bosch d2ddf644fa Ignore deprecated analyzer import warnings
Gives a clean analyzer output for this directory.

Change-Id: Ieac655d76e1d3791c808ea809a669c7d86ff613f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102204
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2019-05-10 20:05:48 +00:00
Sigmund Cherem 0edab8264a Support steps that only run on the main module
I'll work on a follow up CL to add unit tests for it.

Change-Id: Ifa142731eb60ba14fb3187b5f3e9333cef12f751
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102124
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-05-10 19:43:58 +00:00
Sigmund Cherem 8aa2c13c9f Exclude parents when initializing visible data
Change-Id: Ib7463f3fae0eff3e3028630a3f87c4afbe67fb0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102142
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-05-10 19:43:58 +00:00
Sigmund Cherem 5de409bfa1 Ensure subfolders in input sources paths are created first
Change-Id: I35db42f4fc396f33445528bea6e7c9bcc8f8c10e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102141
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-05-10 19:43:58 +00:00
Sigmund Cherem 05a9cdc3d5 Fix type parameter in pipeline subclasses
Change-Id: I2d178fa5e8f063451681efe3796174c8dade447e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102123
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-05-10 19:43:58 +00:00
Sigmund Cherem fb29d0e96d Move async_minitest to package:async_helper.
This allows to break a circular dependency between package:expect and

package:async_helper, which will simplify the support for modular tests using
package:modular_test.
Change-Id: Ie48723d3f35d51a8fbe622e0158450e8104fe3f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102140
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-05-10 19:43:58 +00:00
Mike Fairhurst 1a9d38be41 Fix improper unchecked_nullable test cases
Change-Id: I31aa8f1f53b8960550b9ab8d8cc63f670a20558b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-10 19:30:38 +00:00
Ryan Macnak b0b6a289ec [vm, compiler] Make IA32 megamorphic calls match the other architectures.
Bug: https://github.com/dart-lang/sdk/issues/26780
Bug: https://github.com/dart-lang/sdk/issues/36409
Change-Id: I7865e6fb033ad2a4b1fd185d38c1b5a4c96dd6e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101921
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-05-10 19:26:38 +00:00
Brian Wilkerson 5cffcd9e2c Add the class NonNullableTypeProvider to access SDK classes in opted-in context
Change-Id: Id0cd7c8cd6f93701a5e603753b10a27236292d41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102202
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 18:51:38 +00:00
Matthew Dempsky b1f6c1d092 [vm] Fix -O0 build after CL 101222
const objects that are declared in .h files are supposed to have
out-of-line definitions in their corresponding .cc file. It seems like
CL 101222 happened to expose this for Message::kIllegalPort.

Change-Id: I9656037581eb6406eaf3289dfcf705db90862a26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102122
Commit-Queue: Matthew Dempsky <mdempsky@google.com>
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-05-10 18:47:28 +00:00
Adam Barth 8a3a9dc588 [fuchsia] Migrate to zx_clock_get_new
Change-Id: Ibf9210e3965e77ff56d244cfd67dbccfb1eef3f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102104
Auto-Submit: Adam Barth <abarth@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2019-05-10 18:22:28 +00:00
Brian Wilkerson 36d8e3a9ba Fix more places where hardcoded types need to be made non-nullable under NNBD
Change-Id: I16dbabecdef743b291a4ae85414e95ffa533d723
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102060
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 17:52:47 +00:00
Paul Berry 63001295c0 optionally report scanner errors before parsing
The fasta parser handles error tokens produced by the scanner
but the old parser expect error tokens to have been already
translated into error messages. This updates the analyzer scanner
to optionally translate scanner errors.

Change-Id: I62383965285511c93e8fbf6a4cada97e9e4e3c04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102143
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-10 17:49:57 +00:00
Aart Bik 7e0b680851 [dart/vm] minor test refactoring
Rationale:
Combining test and declaration. Also reorder
test for efficiency.

Change-Id: I6422c0c3fdf31fccd7b2a58f885bca2daa1e996c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102080
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-05-10 15:50:40 +00:00
Aske Simon Christensen 8754351283 [CFE] Run widget transformer before constant evaluation.
Change-Id: I51ded35ecb95cb5cfbac5ecf8967e0918a48269a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101987
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Jacob Richman <jacobr@google.com>
2019-05-10 11:02:49 +00:00
Aske Simon Christensen 1179467a5e Move widget transformer to kernel package
Change-Id: I7f9ece029e181d380f37028ed04f97d4fdfb12b1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101985
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-05-10 11:02:49 +00:00
Aske Simon Christensen 638ebcab97 Directly check for subclass-of without using a class hierarchy.
Change-Id: I4b97f4710534b637560f7ca21ad083c7d5111c30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101983
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Jacob Richman <jacobr@google.com>
2019-05-10 11:02:49 +00:00
Stevie Strickland 2a32cdda6d [vm/compiler] Replace LoadClassId for known cids.
Change-Id: I4c5b31cd83882892657d0cfff1e75aab494fd20b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101661
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-05-10 09:31:19 +00:00
Johnni Winther 0db620a2a5 Decouple Namer from RuntimeTypesEncoder and Tracer
Change-Id: I1c52b6740b590b1089201c3d0d8286d8e0912c48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101824
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-05-10 08:58:29 +00:00
Konstantin Shcheglov 2c86872a5f Store isAsynchronous and isGenerator in executables.
So, that we don't have to read bodies to know if these executables
are async / generators.

R=brianwilkerson@google.com

Change-Id: I1a88f896a9d1b0539a021b1f12b7b55ac44ca44a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 23:32:11 +00:00
Konstantin Shcheglov 4a058a3773 Check for hasDefaultValue / hasInitializer directly, without reding the initializer.
R=brianwilkerson@google.com

Change-Id: I29b37bc2305bf044d8a5b28b78edeba4cab9c120
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102102
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 23:32:05 +00:00
Alexander Markov c532458e09 [vm/compiler] Fix for flaky crash in CallSpecializer::ReplaceWithInstanceOf
There were rare crashes

../../runtime/vm/compiler/call_specializer.cc: 1393: error: expected: call->MatchesCoreName(Symbols::_simpleInstanceOf())
version=2.3.0-edge.796ebc6069bde3a59475a9b45075f49e50b0cc34 (Thu May 9 09:38:28 2019 -0700) on "linux_x64"
thread=82540, isolate=vm-service(0x558748c5d200)
  pc 0x000055874635dd6c fp 0x00007fa94dd3bf30 dart::Profiler::DumpStackTrace(void*)
  pc 0x0000558745f90332 fp 0x00007fa94dd3c010 dart::Assert::Fail(char const*, ...)
  pc 0x000055874653909b fp 0x00007fa94dd3c0a0 dart::CallSpecializer::ReplaceWithInstanceOf(dart::InstanceCallInstr*)
  pc 0x0000558746496ed6 fp 0x00007fa94dd3c0f0 dart::FlowGraphVisitor::VisitBlocks()

when running

tools/test.py --repeat 5000 -n dartkb-mixed-linux-debug-x64 language_2/null_test

at the rate ~1-3 crashes per 30,000 test cases.

The problem is that in function

bool InstanceCallInstr::MatchesCoreName(const String& name) {
  return function_name().raw() == Library::PrivateCoreLibName(name).raw();
}

'function_name().raw()' is evaluated before PrivateCoreLibName(name) is called
and saved in a temporary (register). PrivateCoreLibName may trigger GC and
relocate objects. In such case, 'PrivateCoreLibName(name).raw()' results in a
moved object, which is compared to a stale object address.

This CL fixes InstanceCallInstr::MatchesCoreName and other similar places
by introducing Library::IsPrivateCoreLibName, which is also a little bit more
efficient as it avoids extra symbol table lookup.

Change-Id: I4dc91c586b0c595a3e85d6da13b98fc2248fb8fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102120
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-05-09 23:16:38 +00:00
asiva 2736dab879 [VM/tests] Use appropriate type when invoking Isolate.spawn
Fixes https://github.com/dart-lang/sdk/issues/36917

Change-Id: I83ae6ad6afefb62da4228d168bbec805aa74cf92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102101
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-05-09 23:04:28 +00:00
Aart Bik 869cb683d8 [dart/fuzzer] rename exception parameter
Rationale:
catch (e) had a very interesting shadowing
with math's constant e, which unintentionally
allowed exeption text to enter the divergence
mechanism; here we were fuzzing the fuzzing
really :-)

https://github.com/dart-lang/sdk/issues/36916

Change-Id: Ie5cd61755ea61921b903684532d404f4dc734edd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102062
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-05-09 20:47:21 +00:00
Alexander Markov 477ad3c0ea [vm/bytecode] Eliminate asserts from bytecode unless --enable-asserts
Total size of a large app:
Before: 23681504
After: 23207344 (-463K/-2%)

Size of bytecode instructions:

Before: 6282376
After: 5981716 (-4.8%)
Change-Id: I57703616ecc91301c928672c83571482500dc365
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101883
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-05-09 20:41:21 +00:00
Alexander Markov 0069beb7ed [vm/interpreter] Cleanup stack slot in Interpreter::InterfaceCall
The stack slot in question may contain a stale value, but it could
be scanned by GC, so the fix is to clean it up even if it looks
unused.

While debugging I saw bytecode PCs in that stack slot.
So it is likely that compact bytecode instructions (68de477535)
increased the probability of these crashes, as with compact bytecodes
PCs could be unaligned and treated as Dart objects by GC, while
previously PCs were always aligned and treated as Smis by GC,
effectively masking the failure.

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

Change-Id: I82ccaa2bd87aca4ca4b44c9db69b0efd18dad955
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102061
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-05-09 20:20:51 +00:00
Mike Fairhurst 536ecbac7b Add language 2 tests for null access errors
Change-Id: Icde35448c183a3b9311811aab388909d17e36ceb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101461
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:59:11 +00:00
Brian Wilkerson 130ad1bcf9 Stop reporting some errors when constant evaluation produces a valid object with an unknown state (issue 36873)
Change-Id: I1bf9c0aebaee24ab0c9e2b40c9881d478e33f87c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102001
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:45:01 +00:00
Brian Wilkerson d1a5eb5900 Fix the special casing of binary operators with primitive types when NNBD is enabled
Change-Id: I36f7f63b26eb3ea87efbe7af96d2134ea6402158
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:44:12 +00:00
danrubel b4e2c0246c update parser to handle leading error tokens
This is the first of several CLs that move error tokens to the head
of the token stream so that parser handling of error tokens
can be simplified and less error prone.

In this particular CL:
- update parser to handle error tokens at the head of the token stream
- remove several places that analyzer was preprocessing error tokens
   now that the parser handles them

Change-Id: Iddf60ab2879567a345a692b64043bd42f1871947
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-09 18:36:31 +00:00
Danny Tuppeny be6bbfc06b Remove redundant error notifications from LSP server
Change-Id: Ie2b4ac3c348835ad817cb34f24cc9b4108f1076d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101989
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-05-09 18:09:31 +00:00