Skip to content

Commit d0c40ad

Browse files
committed
Version 2.9.0-18.0.dev
Merge commit '71ddad82e4b628170d4362433c2f77771f887849' into dev
2 parents a723e1b + 71ddad8 commit d0c40ad

File tree

600 files changed

+36206
-7763
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

600 files changed

+36206
-7763
lines changed

.dart_tool/package_config.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"constraint, update this by running tools/generate_package_config.dart."
1212
],
1313
"configVersion": 2,
14-
"generated": "2020-05-15T15:16:14.438097",
14+
"generated": "2020-06-17T09:39:51.245406",
1515
"generator": "tools/generate_package_config.dart",
1616
"packages": [
1717
{
@@ -89,7 +89,7 @@
8989
"name": "benchmark_harness",
9090
"rootUri": "../third_party/pkg/benchmark_harness",
9191
"packageUri": "lib/",
92-
"languageVersion": "2.0"
92+
"languageVersion": "2.9"
9393
},
9494
{
9595
"name": "boolean_selector",
@@ -326,7 +326,8 @@
326326
{
327327
"name": "js",
328328
"rootUri": "../pkg/js",
329-
"packageUri": "lib/"
329+
"packageUri": "lib/",
330+
"languageVersion": "2.9"
330331
},
331332
{
332333
"name": "js_ast",
@@ -338,7 +339,7 @@
338339
"name": "js_runtime",
339340
"rootUri": "../sdk/lib/_internal/js_runtime",
340341
"packageUri": "lib/",
341-
"languageVersion": "2.0"
342+
"languageVersion": "2.9"
342343
},
343344
{
344345
"name": "json_rpc_2",
@@ -409,7 +410,7 @@
409410
"name": "native_stack_traces",
410411
"rootUri": "../pkg/native_stack_traces",
411412
"packageUri": "lib/",
412-
"languageVersion": "2.7"
413+
"languageVersion": "2.8"
413414
},
414415
{
415416
"name": "nnbd_migration",
@@ -492,7 +493,7 @@
492493
"name": "sdk_library_metadata",
493494
"rootUri": "../sdk/lib/_internal/sdk_library_metadata",
494495
"packageUri": "lib/",
495-
"languageVersion": "2.0"
496+
"languageVersion": "2.9"
496497
},
497498
{
498499
"name": "shelf",
@@ -576,7 +577,7 @@
576577
"name": "stream_channel",
577578
"rootUri": "../third_party/pkg/stream_channel",
578579
"packageUri": "lib/",
579-
"languageVersion": "2.0"
580+
"languageVersion": "2.2"
580581
},
581582
{
582583
"name": "string_scanner",

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ tests/dart2js_2/eof_line_ending_test.dart -text
2222
tests/dart2js_2/string_interpolation_test.dart -text
2323
tests/dart2js_2/string_interpolation_dynamic_test.dart -text
2424
tests/dart2js_2/literal_string_juxtaposition_test.dart -text
25+
tests/language/string/raw_string_test.dart -text
26+
tests/language/string/multiline_strings_test.dart -text
27+
tests/language/string/multiline_newline_cr.dart -text
28+
tests/language/string/multiline_newline_crlf.dart -text
29+
tests/language/string/multiline_newline_lf.dart -text
2530
tests/language_2/string/raw_string_test.dart -text
2631
tests/language_2/string/multiline_strings_test.dart -text
2732
tests/language_2/string/multiline_newline_cr.dart -text

DEPS

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ vars = {
4848
"co19_2_rev": "620c1148c8b7a3d7f74afacf348c46f109eb64f2",
4949

5050
# The internal benchmarks to use. See go/dart-benchmarks-internal
51-
"benchmarks_internal_rev": "6c5cf5ca4f29f0e498a9ad51146ccb2ad3bbd2b4",
51+
"benchmarks_internal_rev": "478f5a8be0bad2b1bc3c1c9cf150486ec77516e1",
5252
"checkout_benchmarks_internal": False,
5353

5454
# As Flutter does, we use Fuchsia's GN and Clang toolchain. These revision
@@ -107,7 +107,7 @@ vars = {
107107
"http_retry_tag": "0.1.1",
108108
"http_rev": "a131e563c09349f624d5421237183a06fb10552d",
109109
"http_throttle_tag" : "1.0.2",
110-
"icu_rev" : "8d29692df640668ed7e4d1817715440c4e05697a",
110+
"icu_rev" : "79326efe26e5440f530963704c3c0ff965b3a4ac",
111111
"idl_parser_rev": "5fb1ebf49d235b5a70c9f49047e83b0654031eb7",
112112
"intl_tag": "0.16.1",
113113
"jinja2_rev": "2222b31554f03e62600cd7e383376a7c187967a1",
@@ -470,6 +470,17 @@ deps = {
470470
"dep_type": "cipd",
471471
},
472472

473+
Var("dart_root") + "/third_party/fuchsia/sdk/linux": {
474+
"packages": [
475+
{
476+
"package": "fuchsia/sdk/gn/linux-amd64",
477+
"version": "git_revision:8d5242d4f6ff8b7634b492700e60b0fd09abefa3"
478+
}
479+
],
480+
"condition": 'host_os == "linux" and host_cpu == "x64"',
481+
"dep_type": "cipd",
482+
},
483+
473484
Var("dart_root") + "/pkg/front_end/test/fasta/types/benchmark_data": {
474485
"packages": [
475486
{

WATCHLISTS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
'filepath': (
3636
'^pkg/dev_compiler|'
3737
'^sdk/lib/_internal/js_dev_runtime|'
38-
'^tests/compiler/dartdevc_native'
38+
'^tests/dartdevc'
3939
)
4040
},
4141
'package_vm': {

build/config/BUILDCONFIG.gn

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,16 @@ if (current_os == "win") {
196196
is_nacl = false
197197
is_posix = true
198198
is_win = false
199+
} else if (current_os == "fuchsia") {
200+
is_android = false
201+
is_chromeos = false
202+
is_fuchsia = true
203+
is_ios = false
204+
is_linux = false
205+
is_mac = false
206+
is_nacl = false
207+
is_posix = true
208+
is_win = false
199209
}
200210

201211
# =============================================================================
@@ -384,6 +394,11 @@ if (is_win) {
384394
} else if (is_mac) {
385395
host_toolchain = "//build/toolchain/mac:clang_x64"
386396
set_default_toolchain(host_toolchain)
397+
} else if (is_fuchsia) {
398+
assert(host_os == "linux")
399+
assert(host_cpu == "x64")
400+
host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
401+
set_default_toolchain("//build/toolchain/fuchsia")
387402
}
388403

389404
# ==============================================================================

build/config/compiler/BUILD.gn

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ config("compiler") {
243243
# 3. When using the sanitizers.
244244
# Otherwise there is a performance hit, in particular on ia32.
245245
if (is_android || is_asan || is_lsan || is_msan || is_tsan || is_ubsan ||
246-
(is_linux && current_cpu != "x86")) {
246+
(is_linux && current_cpu != "x86") || is_fuchsia) {
247247
cflags += [ "-fPIC" ]
248248
ldflags += [ "-fPIC" ]
249249
}
@@ -276,6 +276,8 @@ config("compiler") {
276276
if (is_win) {
277277
# Up-to-date toolchain MSVC doesn't support c++11 flag any longer.
278278
cc_std = [ "/std:c++14" ]
279+
} else if (is_fuchsia) {
280+
cc_std = [ "-std=c++17" ]
279281
} else {
280282
cc_std = [ "-std=c++11" ]
281283
}

build/fuchsia/sdk.gni

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
2+
# for details. All rights reserved. Use of this source code is governed by a
3+
# BSD-style license that can be found in the LICENSE file.
4+
5+
declare_args() {
6+
using_fuchsia_gn_sdk = true
7+
fuchsia_sdk_root = "//third_party/fuchsia/sdk/$host_os"
8+
fuchsia_sdk_path = "//third_party/fuchsia/sdk/$host_os"
9+
fuchsia_toolchain_path = "//third_party/fuchsia/toolchain/$host_os"
10+
}

build/toolchain/fuchsia/BUILD.gn

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
# Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
2+
# for details. All rights reserved. Use of this source code is governed by a
3+
# BSD-style license that can be found in the LICENSE file.
4+
5+
import("//build/config/sysroot.gni")
6+
import("//build/toolchain/ccache.gni")
7+
import("//build/toolchain/gcc_toolchain.gni")
8+
import("//build/toolchain/goma.gni")
9+
10+
if (use_goma) {
11+
assert(!use_ccache, "Goma and ccache can't be used together.")
12+
compiler_prefix = "$goma_dir/gomacc "
13+
} else if (use_ccache) {
14+
compiler_prefix = "ccache "
15+
} else {
16+
compiler_prefix = ""
17+
}
18+
19+
toolchain("fuchsia") {
20+
assert(target_cpu == "x64", "We currently only support 'x64' for fuchsia.")
21+
toolchain_bin =
22+
rebase_path("//buildtools/$host_os-$target_cpu/clang/bin", root_out_dir)
23+
fuchsia_sdk = rebase_path("//third_party/fuchsia/sdk/$host_os", root_out_dir)
24+
25+
# We can't do string interpolation ($ in strings) on things with dots in
26+
# them. To allow us to use $cc below, for example, we create copies of
27+
# these values in our scope.
28+
cc = "${toolchain_bin}/clang"
29+
cxx = "${toolchain_bin}/clang++"
30+
ar = "${toolchain_bin}/llvm-ar"
31+
ld = "${toolchain_bin}/clang++"
32+
readelf = "${toolchain_bin}/llvm-readelf"
33+
nm = "${toolchain_bin}/llvm-nm"
34+
strip = "${toolchain_bin}/llvm-strip"
35+
36+
target_triple_flags = "--target=x86_64-fuchsia"
37+
sysroot_flags = "--sysroot ${fuchsia_sdk}/arch/${target_cpu}/sysroot"
38+
lto_flags = ""
39+
40+
# These library switches can apply to all tools below.
41+
lib_switch = "-l"
42+
lib_dir_switch = "-L"
43+
44+
tool("cc") {
45+
depfile = "{{output}}.d"
46+
command = "$compiler_prefix $cc -MD -MF $depfile $target_triple_flags $sysroot_flags $lto_flags {{defines}} {{include_dirs}} {{cflags}} {{cflags_c}} -c {{source}} -o {{output}}"
47+
depsformat = "gcc"
48+
description = "CC {{output}}"
49+
outputs =
50+
[ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ]
51+
}
52+
53+
tool("cxx") {
54+
depfile = "{{output}}.d"
55+
command = "$compiler_prefix $cxx -MD -MF $depfile $target_triple_flags $sysroot_flags $lto_flags {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} -c {{source}} -o {{output}}"
56+
depsformat = "gcc"
57+
description = "CXX {{output}}"
58+
outputs =
59+
[ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ]
60+
}
61+
62+
tool("asm") {
63+
depfile = "{{output}}.d"
64+
command = "$compiler_prefix $cc -MD -MF $depfile $target_triple_flags $sysroot_flags $lto_flags {{defines}} {{include_dirs}} {{asmflags}} {{cflags}} {{cflags_c}} -c {{source}} -o {{output}}"
65+
depsformat = "gcc"
66+
description = "ASM {{output}}"
67+
outputs =
68+
[ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o" ]
69+
}
70+
71+
tool("alink") {
72+
rspfile = "{{output}}.rsp"
73+
command = "rm -f {{output}} && $ar rcs {{output}} @$rspfile"
74+
description = "AR {{output}}"
75+
rspfile_content = "{{inputs}}"
76+
outputs =
77+
[ "{{target_out_dir}}/{{target_output_name}}{{output_extension}}" ]
78+
default_output_extension = ".a"
79+
output_prefix = "lib"
80+
}
81+
82+
tool("solink") {
83+
soname = "{{target_output_name}}{{output_extension}}" # e.g. "libfoo.so".
84+
sofile = "{{root_out_dir}}/$soname" # Possibly including toolchain dir.
85+
unstripped_sofile =
86+
"{{root_out_dir}}/so.unstripped/$soname" # Possibly including toolchain
87+
# dir.
88+
rspfile = sofile + ".rsp"
89+
90+
# These variables are not built into GN but are helpers that implement
91+
# (1) linking to produce a .so, (2) extracting the symbols from that file
92+
# to a temporary file, (3) if the temporary file has differences from the
93+
# existing .TOC file, overwrite it, otherwise, don't change it.
94+
tocfile = sofile + ".TOC"
95+
temporary_tocname = sofile + ".tmp"
96+
link_command = "$compiler_prefix $ld $target_triple_flags $sysroot_flags $lto_flags -shared {{ldflags}} -o $unstripped_sofile -Wl,--build-id -Wl,-soname=$soname @$rspfile"
97+
toc_command = "{ $readelf -d $unstripped_sofile | grep SONAME ; $nm -gD -f posix $unstripped_sofile | cut -f1-2 -d' '; } > $temporary_tocname"
98+
replace_command = "if ! cmp -s $temporary_tocname $tocfile; then mv $temporary_tocname $tocfile; fi"
99+
strip_command = "$strip -o $sofile $unstripped_sofile"
100+
101+
command =
102+
"$link_command && $toc_command && $replace_command && $strip_command"
103+
rspfile_content = "-Wl,--whole-archive {{inputs}} {{solibs}} -Wl,--no-whole-archive {{libs}}"
104+
105+
description = "SOLINK $sofile"
106+
107+
default_output_extension = ".so"
108+
109+
output_prefix = "lib"
110+
111+
# Since the above commands only updates the .TOC file when it changes, ask
112+
# Ninja to check if the timestamp actually changed to know if downstream
113+
# dependencies should be recompiled.
114+
restat = true
115+
116+
# Tell GN about the output files. It will link to the sofile but use the
117+
# tocfile for dependency management.
118+
outputs = [
119+
sofile,
120+
unstripped_sofile,
121+
tocfile,
122+
]
123+
124+
link_output = sofile
125+
depend_output = tocfile
126+
}
127+
128+
tool("link") {
129+
exename = "{{target_output_name}}{{output_extension}}"
130+
outfile = "{{root_out_dir}}/$exename"
131+
rspfile = "$outfile.rsp"
132+
unstripped_outfile = "{{root_out_dir}}/exe.stripped/$exename"
133+
command = "$compiler_prefix $ld $target_triple_flags $sysroot_flags $lto_flags {{ldflags}} -o $unstripped_outfile -Wl,--build-id -Wl,--start-group @$rspfile {{solibs}} -Wl,--end-group {{libs}} && ${strip} -o $outfile $unstripped_outfile"
134+
description = "LINK $outfile"
135+
rspfile_content = "{{inputs}}"
136+
outputs = [
137+
unstripped_outfile,
138+
outfile,
139+
]
140+
}
141+
142+
tool("stamp") {
143+
command = "touch {{output}}"
144+
description = "STAMP {{output}}"
145+
}
146+
147+
tool("copy") {
148+
command = "ln -f {{source}} {{output}} 2>/dev/null || (rm -rf {{output}} && cp -af {{source}} {{output}})"
149+
description = "COPY {{source}} {{output}}"
150+
}
151+
152+
# When invoking this toolchain not as the default one, these args will be
153+
# passed to the build. They are ignored when this is the default toolchain.
154+
toolchain_args = {
155+
current_cpu = target_cpu
156+
current_os = target_os
157+
158+
# These values need to be passed through unchanged.
159+
target_os = target_os
160+
target_cpu = target_cpu
161+
162+
is_clang = true
163+
}
164+
}

pkg/analysis_server/doc/api.html

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
<body>
110110
<h1>Analysis Server API Specification</h1>
111111
<h1 style="color:#999999">Version
112-
1.27.4
112+
1.28.0
113113
</h1>
114114
<p>
115115
This document contains a specification of the API provided by the
@@ -228,6 +228,13 @@ <h3>Eventual Consistency</h3>
228228
That is, in some cases it may return responses with the currently available
229229
results while it's catching up with unprocessed changes.
230230
</p>
231+
<h3>Enumerations</h3>
232+
<p>
233+
Responses from the server may include enumerations indicating the kind of a
234+
specific item. The enums may be extended with new values in future versions of
235+
the server so clients should ensure unknown values are handled gracefully, either
236+
ignoring the item or treating it with some default/fallback handling.
237+
</p>
231238
<h3>Domains</h3>
232239
<p>
233240
For convenience, the API is divided into domains. Each domain is specified
@@ -4170,7 +4177,7 @@ <h2 class="domain"><a name="types">Types</a></h2>
41704177
An enumeration of the kinds of folding regions.
41714178
</p>
41724179

4173-
<dl><dt class="value">ANNOTATIONS</dt><dt class="value">CLASS_BODY</dt><dt class="value">DIRECTIVES</dt><dt class="value">DOCUMENTATION_COMMENT</dt><dt class="value">FILE_HEADER</dt><dt class="value">FUNCTION_BODY</dt><dt class="value">INVOCATION</dt><dt class="value">LITERAL</dt></dl></dd><dt class="typeDefinition"><a name="type_FoldingRegion">FoldingRegion: object</a></dt><dd>
4180+
<dl><dt class="value">ANNOTATIONS</dt><dt class="value">BLOCK</dt><dt class="value">CLASS_BODY</dt><dt class="value">DIRECTIVES</dt><dt class="value">DOCUMENTATION_COMMENT</dt><dt class="value">FILE_HEADER</dt><dt class="value">FUNCTION_BODY</dt><dt class="value">INVOCATION</dt><dt class="value">LITERAL</dt></dl></dd><dt class="typeDefinition"><a name="type_FoldingRegion">FoldingRegion: object</a></dt><dd>
41744181
<p>
41754182
A description of a region that can be folded.
41764183
</p>

pkg/analysis_server/lib/protocol/protocol_constants.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// To regenerate the file, use the script
77
// "pkg/analysis_server/tool/spec/generate_files".
88

9-
const String PROTOCOL_VERSION = '1.27.4';
9+
const String PROTOCOL_VERSION = '1.28.0';
1010

1111
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES = 'analysis.analyzedFiles';
1212
const String ANALYSIS_NOTIFICATION_ANALYZED_FILES_DIRECTORIES = 'directories';

0 commit comments

Comments
 (0)