Skip to content

Commit e872a1b

Browse files
committed
Version 1.19.0-dev.7.0
Merge 0b4fe48 into dev
2 parents 694e5b5 + 0b4fe48 commit e872a1b

File tree

388 files changed

+11040
-20028
lines changed

Some content is hidden

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

388 files changed

+11040
-20028
lines changed

CHANGELOG.md

Lines changed: 64 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,68 @@
88
reordering lines. For details, see SDK issue
99
[26644](https://github.com/dart-lang/sdk/issues/26644).
1010

11-
### Core library changes
11+
### Tool Changes
1212

13-
* `dart:io`
14-
* `Socket.connect` with source-address argument is now non-blocking
15-
on Mac. Was already non-blocking on all other platforms.
16-
* Report a better error when a bind fails because of a bad source address.
17-
* Handle HTTP header `charset` parameter with empty value.
13+
* `dartfmt` - upgraded to v0.2.9+1
14+
* Support trailing commas in argument and parameter lists.
15+
* Gracefully handle read-only files.
16+
* About a dozen other bug fixes.
17+
18+
* Pub
19+
* Added a `--no-packages-dir` flag to `pub get`, `pub upgrade`, and `pub
20+
downgrade`. When this flag is passed, pub will not generate a `packages/`
21+
directory, and will remove that directory and any symlinks to it if they
22+
exist. Note that this replaces the unsupported `--no-package-symlinks` flag.
23+
24+
* Added the ability for packages to declare a constraint on the [Flutter][]
25+
SDK:
26+
27+
```yaml
28+
environment:
29+
flutter: ^0.1.2
30+
sdk: >=1.19.0 <2.0.0
31+
```
32+
33+
A Flutter constraint will only be satisfiable when pub is running in the
34+
context of the `flutter` executable, and when the Flutter SDK version
35+
matches the constraint.
36+
37+
* Added `sdk` as a new package source that fetches packages from a hard-coded
38+
SDK. Currently only the `flutter` SDK is supported:
39+
40+
```yaml
41+
dependencies:
42+
flutter_driver:
43+
sdk: flutter
44+
version: ^0.0.1
45+
```
46+
47+
A Flutter `sdk` dependency will only be satisfiable when pub is running in
48+
the context of the `flutter` executable, and when the Flutter SDK contains a
49+
package with the given name whose version matches the constraint.
50+
51+
* `tar` files on Linux are now created with `0` as the user and group IDs.
52+
This fixes a crash when publishing packages while using Active Directory.
53+
54+
* Fixed a bug where packages from a hosted HTTP URL were considered the same
55+
as packages from an otherwise-identical HTTPS URL.
56+
57+
* Fixed timer formatting for timers that lasted longer than a minute.
58+
59+
* Eliminate some false negatives when determining whether global executables
60+
are on the user's executable path.
61+
62+
* `dart2js`
63+
* `dart2dart` (aka `dart2js --output-type=dart`) has been removed (this was deprecated in Dart 1.11).
64+
65+
[Flutter]: https://flutter.io/
66+
67+
### Dart VM
68+
69+
* The dependency on BoringSSL has been rolled forward. Going forward, builds
70+
of the Dart VM including secure sockets will require a compiler with C++11
71+
support. For details, see the
72+
[Building wiki page](https://github.com/dart-lang/sdk/wiki/Building).
1873

1974
### Strong Mode
2075

@@ -89,57 +144,6 @@
89144
* Breaking change - sideways casts are no longer allowed
90145
(SDK issue [26120](https://github.com/dart-lang/sdk/issues/26120)).
91146

92-
### Dart VM
93-
94-
* The dependency on BoringSSL has been rolled forward. Going forward, builds
95-
of the Dart VM including secure sockets will require a compiler with C++11
96-
support, and to link against glibc 2.16 or newer. For details, see the
97-
[Building wiki page](https://github.com/dart-lang/sdk/wiki/Building).
98-
99-
### Tool Changes
100-
101-
* `dartfmt` - upgraded to v0.2.9
102-
* Support trailing commas in argument and parameter lists.
103-
* Gracefully handle read-only files.
104-
* About a dozen other bug fixes.
105-
106-
* Pub
107-
* Added the ability for packages to declare a constraint on the [Flutter][]
108-
SDK:
109-
110-
environment:
111-
flutter: ^0.1.2
112-
sdk: >=1.19.0 <2.0.0
113-
114-
A Flutter constraint will only be satisfiable when pub is running in the
115-
context of the `flutter` executable, and when the Flutter SDK version
116-
matches the constraint.
117-
118-
* Added `sdk` as a new package source that fetches packages from a hard-coded
119-
SDK. Currently only the `flutter` SDK is supported:
120-
121-
dependencies:
122-
flutter_driver:
123-
sdk: flutter
124-
version: ^0.0.1
125-
126-
A Flutter `sdk` dependency will only be satisfiable when pub is running in
127-
the context of the `flutter` executable, and when the Flutter SDK contains a
128-
package with the given name whose version matches the constraint.
129-
130-
* Fixed a bug where packages from a hosted HTTP URL were considered the same
131-
as packages from an otherwise-identical HTTPS URL.
132-
133-
* Fixed timer formatting for timers that lasted longer than a minute.
134-
135-
* Eliminate some false negatives when determining whether global executables
136-
are on the user's executable path.
137-
138-
* dart2dart (aka `dart2js --output-type=dart`) has been removed (this was
139-
deprecated in Dart 1.11)
140-
141-
[Flutter]: https://flutter.io/
142-
143147
## 1.18.1 - 2016-08-02
144148

145149
Patch release, resolves two issues and improves performance:
@@ -157,6 +161,9 @@ Patch release, resolves two issues and improves performance:
157161

158162
### Core library changes
159163

164+
* `dart:core`
165+
* Improved performance when parsing some common URIs.
166+
* Fixed bug in `Uri.resolve` (SDK issue [26804](https://github.com/dart-lang/sdk/issues/26804)).
160167
* `dart:io`
161168
* Adds file locking modes `FileLock.BLOCKING_SHARED` and
162169
`FileLock.BLOCKING_EXCLUSIVE`.

DEPS

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ vars = {
4848
"chrome_rev" : "@19997",
4949
"cli_util_tag" : "@0.0.1+2",
5050
"code_transformers_rev": "@bfe9799e88d9c231747435e1c1d2495ef5ecd966",
51-
"collection_tag": "@1.8.0",
51+
"collection_tag": "@1.9.0",
5252
"convert_tag": "@2.0.0",
5353
"crypto_tag" : "@2.0.1",
5454
"csslib_tag" : "@0.12.0",
5555
"dart2js_info_rev" : "@0a221eaf16aec3879c45719de656680ccb80d8a1",
5656
"dart_services_rev" : "@7aea2574e6f3924bf409a80afb8ad52aa2be4f97",
57-
"dart_style_tag": "@0.2.9",
57+
"dart_style_tag": "@0.2.9+1",
5858
"dartdoc_tag" : "@v0.9.6+2",
5959
"dev_compiler_rev": "@fa084164b620ea75cd2008c9dc317655a045ad6d",
6060
"fixnum_tag": "@0.10.5",
@@ -71,7 +71,7 @@ vars = {
7171
"isolate_tag": "@0.2.2",
7272
"jinja2_rev": "@2222b31554f03e62600cd7e383376a7c187967a1",
7373
"json_rpc_2_tag": "@2.0.0",
74-
"linter_rev": "@0abfb82a7d8c36946a2a9f00c699fa5a925abec3",
74+
"linter_rev": "@da3ec6ae914b40332fa6b6e100c1d4aabe9e27ca",
7575
"logging_rev": "@85d83e002670545e9039ad3985f0018ab640e597",
7676
"markdown_rev": "@4aaadf3d940bb172e1f6285af4d2b1710d309982",
7777
"matcher_tag": "@0.12.0",
@@ -82,13 +82,14 @@ vars = {
8282
"observatory_pub_packages_rev": "@a01235b5b71df27b602dae4676d0bf771cbe7fa2",
8383
"observe_rev": "@eee2b8ec34236fa46982575fbccff84f61202ac6",
8484
"package_config_rev": "@1.0.0",
85+
"package_resolver_tag": "@1.0.1",
8586
"path_tag": "@1.3.6",
8687
"plugin_tag": "@0.2.0",
8788
"ply_rev": "@604b32590ffad5cbb82e4afef1d305512d06ae93",
8889
"pool_tag": "@1.2.1",
8990
"protobuf_tag": "@0.5.1+1",
9091
"pub_cache_tag": "@v0.1.0",
91-
"pub_rev": "@391b445dc6b28958794658b18caedb69d8cf8719",
92+
"pub_rev": "@101aa44a4aebaefd0796ce44e6d155cd79fe2db4",
9293
"pub_semver_tag": "@1.3.0",
9394
"quiver_tag": "@0.21.4",
9495
"resource_rev":"@a49101ba2deb29c728acba6fb86000a8f730f4b1",
@@ -253,6 +254,9 @@ deps = {
253254
Var("dart_root") + "/third_party/pkg_tested/package_config":
254255
(Var("github_mirror") % "package_config") +
255256
Var("package_config_rev"),
257+
Var("dart_root") + "/third_party/pkg_tested/package_resolver":
258+
"https://github.com/dart-lang/package_resolver.git" +
259+
Var("package_resolver_tag"),
256260
Var("dart_root") + "/third_party/pkg/path":
257261
(Var("github_mirror") % "path") + Var("path_tag"),
258262
Var("dart_root") + "/third_party/pkg/plugin":

dart.gyp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -111,20 +111,6 @@
111111
# test suites.
112112
'target_name': 'dart2js_bot',
113113
'type': 'none',
114-
'dependencies': [
115-
'create_sdk',
116-
'packages',
117-
'try',
118-
],
119-
},
120-
{
121-
# This is the target that is built on the dart2js debug build bots.
122-
# It must depend on anything that is required by the dart2js
123-
# test suites.
124-
# We have this additional target because the try target takes to long
125-
# to build in debug mode and will make the build step time out.
126-
'target_name': 'dart2js_bot_debug',
127-
'type': 'none',
128114
'dependencies': [
129115
'create_sdk',
130116
'packages',
@@ -150,12 +136,5 @@
150136
'pkg/pkg.gyp:pkg_packages',
151137
],
152138
},
153-
{
154-
'target_name': 'try',
155-
'type': 'none',
156-
'dependencies': [
157-
'site/try/build_try.gyp:try_site',
158-
],
159-
},
160139
],
161140
}

docs/language/dartLangSpec.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6479,15 +6479,15 @@ \subsection{ Assert}
64796479

64806480
\begin{grammar}
64816481
{\bf assertStatement:}
6482-
assert `(' conditionalExpression `)' `{\escapegrammar ;}'
6482+
assert `(' expression `)' `{\escapegrammar ;}'
64836483
.
64846484
\end{grammar}
64856485

64866486
\LMHash{}
64876487
The assert statement has no effect in production mode. In checked mode, execution of an assert statement \code{\ASSERT{}($e$);} proceeds as follows:
64886488

64896489
\LMHash{}
6490-
The conditional expression $e$ is evaluated to an object $o$. If the class of $o$ is a subtype of \code{Function} then let $r$ be the result of invoking $o$ with no arguments. Otherwise, let $r$ be $o$.
6490+
The expression $e$ is evaluated to an object $o$. If the class of $o$ is a subtype of \code{Function} then let $r$ be the result of invoking $o$ with no arguments. Otherwise, let $r$ be $o$.
64916491
It is a dynamic type error if $o$ is not of type \code{bool} or of type \code{Function}, or if $r$ is not of type \code{bool}. If $r$ is \FALSE{}, we say that the assertion failed. If $r$ is \TRUE{}, we say that the assertion succeeded. If the assertion succeeded, execution of the assert statement is complete. If the assertion failed, an \code{AssertionError} is thrown.
64926492

64936493
%\Q{Might be cleaner to define it as \code{if (!$e$) \{\THROW{} \NEW{} AssertionError();\}} (in checked mode only).

pkg/analysis_server/lib/src/services/completion/dart/local_declaration_visitor.dart

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -71,31 +71,7 @@ abstract class LocalDeclarationVisitor extends GeneralizingAstVisitor {
7171

7272
@override
7373
void visitBlock(Block node) {
74-
for (Statement stmt in node.statements) {
75-
if (stmt.offset < offset) {
76-
if (stmt is VariableDeclarationStatement) {
77-
VariableDeclarationList varList = stmt.variables;
78-
if (varList != null) {
79-
for (VariableDeclaration varDecl in varList.variables) {
80-
if (varDecl.end < offset) {
81-
declaredLocalVar(varDecl.name, varList.type);
82-
}
83-
}
84-
}
85-
} else if (stmt is FunctionDeclarationStatement) {
86-
FunctionDeclaration declaration = stmt.functionDeclaration;
87-
if (declaration != null && declaration.offset < offset) {
88-
SimpleIdentifier id = declaration.name;
89-
if (id != null) {
90-
String name = id.name;
91-
if (name != null && name.length > 0) {
92-
declaredFunction(declaration);
93-
}
94-
}
95-
}
96-
}
97-
}
98-
}
74+
_visitStatements(node.statements);
9975
visitNode(node);
10076
}
10177

@@ -219,6 +195,12 @@ abstract class LocalDeclarationVisitor extends GeneralizingAstVisitor {
219195
visitNode(node);
220196
}
221197

198+
@override
199+
void visitSwitchMember(SwitchMember node) {
200+
_visitStatements(node.statements);
201+
visitNode(node);
202+
}
203+
222204
@override
223205
void visitSwitchStatement(SwitchStatement node) {
224206
for (SwitchMember member in node.members) {
@@ -263,6 +245,34 @@ abstract class LocalDeclarationVisitor extends GeneralizingAstVisitor {
263245
});
264246
}
265247
}
248+
249+
_visitStatements(NodeList<Statement> statements) {
250+
for (Statement stmt in statements) {
251+
if (stmt.offset < offset) {
252+
if (stmt is VariableDeclarationStatement) {
253+
VariableDeclarationList varList = stmt.variables;
254+
if (varList != null) {
255+
for (VariableDeclaration varDecl in varList.variables) {
256+
if (varDecl.end < offset) {
257+
declaredLocalVar(varDecl.name, varList.type);
258+
}
259+
}
260+
}
261+
} else if (stmt is FunctionDeclarationStatement) {
262+
FunctionDeclaration declaration = stmt.functionDeclaration;
263+
if (declaration != null && declaration.offset < offset) {
264+
SimpleIdentifier id = declaration.name;
265+
if (id != null) {
266+
String name = id.name;
267+
if (name != null && name.length > 0) {
268+
declaredFunction(declaration);
269+
}
270+
}
271+
}
272+
}
273+
}
274+
}
275+
}
266276
}
267277

268278
/**

0 commit comments

Comments
 (0)