Skip to content

Commit e4d54c9

Browse files
committed
Version 2.0.0-dev.17.0
Merge commit '4553cdeeb6a272d75d34bfc83ecba84194b3994f' into dev
2 parents bfe5ae0 + 4553cde commit e4d54c9

File tree

612 files changed

+15110
-9679
lines changed

Some content is hidden

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

612 files changed

+15110
-9679
lines changed

.packages

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ pub_semver:third_party/pkg/pub_semver/lib
7777
quiver:third_party/pkg/quiver/lib
7878
quiver_hashcode:third_party/pkg/quiver_hashcode/lib
7979
resource:third_party/pkg/resource/lib
80-
scheduled_test:third_party/pkg/scheduled_test/lib
8180
sdk_library_metadata:sdk/lib/_internal/sdk_library_metadata/lib
8281
shelf:third_party/pkg/shelf/lib
8382
shelf_packages_handler:third_party/pkg/shelf_packages_handler/lib
@@ -95,8 +94,10 @@ telemetry:pkg/telemetry/lib
9594
term_glyph:third_party/pkg/term_glyph/lib
9695
test:third_party/pkg/test/lib
9796
test_dart:tools/testing/dart
98-
testing:pkg/testing/lib
97+
test_descriptor:third_party/pkg/test_descriptor/lib
98+
test_process:third_party/pkg/test_process/lib
9999
test_reflective_loader:third_party/pkg/test_reflective_loader/lib
100+
testing:pkg/testing/lib
100101
tuple:third_party/pkg/tuple/lib
101102
typed_data:third_party/pkg/typed_data/lib
102103
typed_mock:pkg/typed_mock/lib

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
* Renamed the `HtmlEscapeMode` constants `UNKNOWN`, `ATTRIBUTE`,
5757
`SQ_ATTRIBUTE` and `ELEMENT` to `unknown`, `attribute`, `sqAttribute` and
5858
`elements`.
59+
* Changed return type of `Base64Codec.decode` to `Uint8List`.
5960

6061
* `dart:developer`
6162
* `Timeline.startSync` and `Timeline.timeSync` now accept an optional

DEPS

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
# Before adding or updating dependencies, please review the documentation here:
77
# https://github.com/dart-lang/sdk/wiki/Adding-and-Updating-Dependencies
88

9+
allowed_hosts = [
10+
'boringssl.googlesource.com',
11+
'chromium.googlesource.com',
12+
'dart.googlesource.com',
13+
'fuchsia.googlesource.com',
14+
]
15+
916
vars = {
1017
# The dart_root is the root of our sdk checkout. This is normally
1118
# simply sdk, but if using special gclient specs it can be different.
@@ -47,7 +54,7 @@ vars = {
4754
"barback-0.13.0_rev": "@34853",
4855
"barback-0.14.0_rev": "@36398",
4956
"barback-0.14.1_rev": "@38525",
50-
"barback_tag" : "@0.15.2+13",
57+
"barback_tag" : "@0.15.2+14",
5158
"bazel_worker_tag": "@v0.1.4",
5259
"boolean_selector_tag" : "@1.0.2",
5360
"boringssl_gen_rev": "@d2b56d1b7657e52eb5a1f075968c773aa3e53614",
@@ -73,13 +80,13 @@ vars = {
7380
# minutes later.
7481
#
7582
# For more details, see https://github.com/dart-lang/sdk/issues/30164
76-
"dart_style_tag": "@1.0.7", # Please see the note above before updating.
83+
"dart_style_tag": "@1.0.9", # Please see the note above before updating.
7784

7885
"dartdoc_tag" : "@v0.15.0+1",
7986
"fixnum_tag": "@0.10.5",
8087
"func_rev": "@25eec48146a58967d75330075ab376b3838b18a8",
8188
"glob_tag": "@1.1.5",
82-
"html_tag" : "@0.13.2+1",
89+
"html_tag" : "@0.13.2+2",
8390
"http_multi_server_tag" : "@2.0.4",
8491
"http_parser_tag" : "@3.1.1",
8592
"http_retry_tag": "@0.1.0",
@@ -105,13 +112,12 @@ vars = {
105112
"plugin_tag": "@0.2.0+2",
106113
"ply_rev": "@604b32590ffad5cbb82e4afef1d305512d06ae93",
107114
"pool_tag": "@1.3.4",
108-
"protobuf_tag": "@0.5.4",
115+
"protobuf_tag": "@0.6.0",
109116
"pub_rev": "@667281eef93b4be648cceca400e954e000edba38",
110117
"pub_semver_tag": "@1.3.2",
111118
"quiver_tag": "@0.27.0",
112119
"resource_rev":"@af5a5bf65511943398146cf146e466e5f0b95cb9",
113120
"root_certificates_rev": "@a4c7c6f23a664a37bc1b6f15a819e3f2a292791a",
114-
"scheduled_test_tag": "@0.12.11+1",
115121
"shelf_static_rev": "@3558aa35a0d2f0f35868c3fd64b258e140db0122",
116122
"shelf_packages_handler_tag": "@1.0.3",
117123
"shelf_tag": "@0.7.1",
@@ -120,13 +126,15 @@ vars = {
120126
"source_maps-0.9.4_rev": "@38524",
121127
"source_maps_tag": "@0.10.4",
122128
"source_span_tag": "@1.4.0",
123-
"stack_trace_tag": "@1.8.2",
129+
"stack_trace_tag": "@1.9.0",
124130
"stream_channel_tag": "@1.6.2",
125131
"string_scanner_tag": "@1.0.2",
126132
"sunflower_rev": "@879b704933413414679396b129f5dfa96f7a0b1e",
133+
"test_descriptor_tag": "@1.0.3",
134+
"test_process_tag": "@1.0.1",
127135
"term_glyph_tag": "@1.0.0",
128136
"test_reflective_loader_tag": "@0.1.3",
129-
"test_tag": "@0.12.24+6",
137+
"test_tag": "@0.12.29+1",
130138
"tuple_tag": "@v1.0.1",
131139
"typed_data_tag": "@1.1.3",
132140
"usage_tag": "@3.3.0",
@@ -283,8 +291,6 @@ deps = {
283291
+ Var("quiver_tag"),
284292
Var("dart_root") + "/third_party/pkg/resource":
285293
Var("dart_git") + "resource.git" + Var("resource_rev"),
286-
Var("dart_root") + "/third_party/pkg/scheduled_test":
287-
Var("dart_git") + "scheduled_test.git" + Var("scheduled_test_tag"),
288294
Var("dart_root") + "/third_party/pkg/shelf":
289295
Var("dart_git") + "shelf.git" + Var("shelf_tag"),
290296
Var("dart_root") + "/third_party/pkg/shelf_packages_handler":
@@ -318,6 +324,10 @@ deps = {
318324
Var("dart_git") + "term_glyph.git" + Var("term_glyph_tag"),
319325
Var("dart_root") + "/third_party/pkg/test":
320326
Var("dart_git") + "test.git" + Var("test_tag"),
327+
Var("dart_root") + "/third_party/pkg/test_descriptor":
328+
Var("dart_git") + "test_descriptor.git" + Var("test_descriptor_tag"),
329+
Var("dart_root") + "/third_party/pkg/test_process":
330+
Var("dart_git") + "test_process.git" + Var("test_process_tag"),
321331
Var("dart_root") + "/third_party/pkg/test_reflective_loader":
322332
Var("dart_git") + "test_reflective_loader.git" +
323333
Var("test_reflective_loader_tag"),

PRESUBMIT.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,14 +225,31 @@ def HasFormatErrors(filename=None, contents=None):
225225
return []
226226

227227

228+
def _CheckValidHostsInDEPS(input_api, output_api):
229+
"""Checks that DEPS file deps are from allowed_hosts."""
230+
# Run only if DEPS file has been modified to annoy fewer bystanders.
231+
if all(f.LocalPath() != 'DEPS' for f in input_api.AffectedFiles()):
232+
return []
233+
# Outsource work to gclient verify
234+
try:
235+
input_api.subprocess.check_output(['gclient', 'verify'])
236+
return []
237+
except input_api.subprocess.CalledProcessError, error:
238+
return [output_api.PresubmitError(
239+
'DEPS file must have only dependencies from allowed hosts.',
240+
long_text=error.output)]
241+
242+
228243
def CheckChangeOnCommit(input_api, output_api):
229-
return (_CheckBuildStatus(input_api, output_api) +
244+
return (_CheckValidHostsInDEPS(input_api, output_api) +
245+
_CheckBuildStatus(input_api, output_api) +
230246
_CheckNewTests(input_api, output_api) +
231247
_CheckDartFormat(input_api, output_api) +
232248
_CheckStatusFiles(input_api, output_api))
233249

234250

235251
def CheckChangeOnUpload(input_api, output_api):
236-
return (_CheckNewTests(input_api, output_api) +
252+
return (_CheckValidHostsInDEPS(input_api, output_api) +
253+
_CheckNewTests(input_api, output_api) +
237254
_CheckDartFormat(input_api, output_api) +
238255
_CheckStatusFiles(input_api, output_api))

docs/language/dartLangSpec.tex

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
% - Update "FutureOr" specification for Dart 2.0.
3636
% - Require that a top-level "main" declaration is a valid script-entry
3737
% function declaration.
38+
% - State that the return type of a setter or []= is void when not specified.
3839
%
3940
% 1.15
4041
% - Change how language specification describes control flow.
@@ -1021,7 +1022,9 @@ \subsection{Type of a Function}
10211022
\LMLabel{typeOfAFunction}
10221023

10231024
\LMHash{}
1024-
If a function does not declare a return type explicitly, its return type is \DYNAMIC{} (\ref{typeDynamic}), unless it is a constructor function, in which case its return type is the immediately enclosing class.
1025+
If a function does not declare a return type explicitly, its return type is \DYNAMIC{} (\ref{typeDynamic}),
1026+
unless it is a constructor function, in which case its return type is the immediately enclosing class,
1027+
or it is a setter or operator \code{[]=}, in which case its return type is \VOID{}.
10251028

10261029
\LMHash{}
10271030
Let $F$ be a function with required formal parameters $T_1$ $p_1 \ldots, T_n$ $p_n$, return type $T_0$ and no optional parameters.
@@ -1298,6 +1301,10 @@ \subsubsection{Operators}
12981301
\LMHash{}
12991302
It is a static warning if the return type of the user-declared operator \code{[]=} is explicitly declared and not \VOID{}.
13001303

1304+
\commentary{
1305+
If no return type is specified for a user-declared operator \code{[]=}, its return type is \VOID{} (\ref{typeOfAFunction}).
1306+
}
1307+
13011308
% add rationale: return in []= methods will have no effect, a the expression always returns its second argument (the RHS of the assignment, for consistency with assignment in general). So it's best to enforce this by declaring the method to be void, even though the expression that uses it returns an object with the type of the RHS, as described in \ref{assignment}.
13021309

13031310

@@ -1366,8 +1373,9 @@ \subsection{Setters}
13661373
.
13671374
\end{grammar}
13681375

1369-
\LMHash{}
1370-
If no return type is specified, the return type of the setter is \DYNAMIC{}.
1376+
\commentary{
1377+
If no return type is specified, the return type of the setter is \VOID{} (\ref{typeOfAFunction}).
1378+
}
13711379

13721380
\LMHash{}
13731381
A setter definition that is prefixed with the \STATIC{} modifier defines a static setter.
@@ -3657,7 +3665,7 @@ \subsection{Function Expressions}
36573665
$(T_1$ $a_1, \ldots, T_n$ $a_n, [T_{n+1}$ $x_{n+1} = d_1, \ldots, T_{n+k}$ $x_{n+k} = d_k])$ \ASYNC{} $=> e$
36583666
is $(T_1 \ldots, T_n, [T_{n+1}$ $x_{n+1}, \ldots, T_{n+k}$ $x_{n+k}]) \rightarrow \code{Future<$flatten(T_0)$>}$, where $T_0$ is the static type of $e$and $flatten(T)$ is defined as follows:
36593667

3660-
If $T = FuturOr<S>$ then $flatten(T) = S$.
3668+
If $T = FutureOr<S>$ then $flatten(T) = S$.
36613669

36623670
Otherwise if $T <: Future$ then let $S$ be a type such that $T << Future<S>$ and for all $R$, if $T << Future<R>$ then $S << R$.
36633671

0 commit comments

Comments
 (0)