Version 2.15.0-13.0.dev
Merge commit '8246b01c63930dc38f4a3cce2b1839acce312e02' into 'dev'
diff --git a/BUILD.gn b/BUILD.gn
index 6c26e7e..2ea12ba 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -73,14 +73,6 @@
deps = [ "runtime/bin/ffi_unit_test:run_ffi_unit_tests" ]
}
-group("runtime_kernel") {
- if (targetting_fuchsia) {
- # Fuchsia has run_vm_tests marked testonly.
- testonly = true
- }
- deps = [ ":runtime" ]
-}
-
group("runtime_precompiled") {
deps = [
"runtime/bin:dart_precompiled_runtime",
diff --git a/DEPS b/DEPS
index 1ffbaa5..4134666 100644
--- a/DEPS
+++ b/DEPS
@@ -39,7 +39,7 @@
# Checked-in SDK version. The checked-in SDK is a Dart SDK distribution in a
# cipd package used to run Dart scripts in the build and test infrastructure.
- "sdk_tag": "version:2.14.0-293.0.dev",
+ "sdk_tag": "version:2.14.0-377.4.beta",
# co19 is a cipd package. Use update.sh in tests/co19[_2] to update these
# hashes. It requires access to the dart-build-access group, which EngProd
diff --git a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
index 01dd119..0e88d0e 100644
--- a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
@@ -8960,6 +8960,18 @@
tip: r"""Try removing the keyword 'static'.""");
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+const Code<Null> codeStaticTearOffFromInstantiatedClass =
+ messageStaticTearOffFromInstantiatedClass;
+
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+const MessageCode messageStaticTearOffFromInstantiatedClass = const MessageCode(
+ "StaticTearOffFromInstantiatedClass",
+ message:
+ r"""Cannot access static member on an instantiated generic class.""",
+ tip:
+ r"""Try removing the type arguments or placing them after the member name.""");
+
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Code<Null> codeStrongModeNNBDButOptOut = messageStrongModeNNBDButOptOut;
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
diff --git a/pkg/dartdev/lib/src/sdk.dart b/pkg/dartdev/lib/src/sdk.dart
index 426f810..833df09 100644
--- a/pkg/dartdev/lib/src/sdk.dart
+++ b/pkg/dartdev/lib/src/sdk.dart
@@ -39,8 +39,11 @@
/// A utility class for finding and referencing paths within the Dart SDK.
class Sdk {
final String sdkPath;
+ final String version;
- Sdk() : sdkPath = _computeSdkPath;
+ Sdk()
+ : sdkPath = _computeSdkPath,
+ version = Runtime.runtime.version;
// Assume that we want to use the same Dart executable that we used to spawn
// DartDev. We should be able to run programs with out/ReleaseX64/dart even
@@ -97,25 +100,20 @@
static Runtime runtime = Runtime._();
// Match "2.10.0-edge.0b2da6e7 (be) ...".
- static RegExp channelRegex = RegExp(r'.* \(([\d\w]+)\) .*');
+ static final RegExp _channelRegex = RegExp(r'.* \(([\d\w]+)\) .*');
- String _channel;
-
- Runtime._() {
- _parseVersion();
- }
+ /// The SDK's version number (x.y.z-a.b.channel).
+ final String version;
/// The SDK's release channel (`be`, `dev`, `beta`, `stable`).
- String get channel => _channel;
+ final String channel;
- /// Return whether the SDK is from the stable release channel.
- bool get stableChannel => channel == 'stable';
+ Runtime._()
+ : version = _computeVersion(Platform.version),
+ channel = _computeChannel(Platform.version);
- void _parseVersion() {
- final version = Platform.version;
- final match = channelRegex.firstMatch(version);
- if (match != null) {
- _channel = match.group(1);
- }
- }
+ static String _computeVersion(String version) =>
+ version.substring(0, version.indexOf(' '));
+ static String _computeChannel(String version) =>
+ _channelRegex.firstMatch(version)?.group(1);
}
diff --git a/pkg/dartdev/lib/src/templates/common.dart b/pkg/dartdev/lib/src/templates/common.dart
index 2aac572..ac53756 100644
--- a/pkg/dartdev/lib/src/templates/common.dart
+++ b/pkg/dartdev/lib/src/templates/common.dart
@@ -2,7 +2,13 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-final String gitignore = '''
+import '../sdk.dart';
+
+String get sdkConstraint => '''
+ sdk: '>=${sdk.version} <3.0.0'
+''';
+
+const String gitignore = '''
# Files and directories created by pub.
.dart_tool/
.packages
@@ -11,7 +17,7 @@
build/
''';
-final String analysisOptions = '''
+const String analysisOptions = '''
# This file configures the static analysis results for your project (errors,
# warnings, and lints).
#
@@ -44,7 +50,7 @@
# https://dart.dev/guides/language/analysis-options
''';
-final String changelog = '''
+const String changelog = '''
## 1.0.0
- Initial version.
diff --git a/pkg/dartdev/lib/src/templates/console_full.dart b/pkg/dartdev/lib/src/templates/console_full.dart
index 5797c9a..553ceeb 100644
--- a/pkg/dartdev/lib/src/templates/console_full.dart
+++ b/pkg/dartdev/lib/src/templates/console_full.dart
@@ -38,7 +38,7 @@
# homepage: https://www.example.com
environment:
- sdk: '>=2.12.0 <3.0.0'
+${common.sdkConstraint}
# dependencies:
# path: ^1.8.0
diff --git a/pkg/dartdev/lib/src/templates/console_simple.dart b/pkg/dartdev/lib/src/templates/console_simple.dart
index 376249b..5c6d381 100644
--- a/pkg/dartdev/lib/src/templates/console_simple.dart
+++ b/pkg/dartdev/lib/src/templates/console_simple.dart
@@ -36,7 +36,7 @@
# homepage: https://www.example.com
environment:
- sdk: '>=2.12.0 <3.0.0'
+${common.sdkConstraint}
# dependencies:
# path: ^1.8.0
diff --git a/pkg/dartdev/lib/src/templates/package_simple.dart b/pkg/dartdev/lib/src/templates/package_simple.dart
index efe98f9..591f110 100644
--- a/pkg/dartdev/lib/src/templates/package_simple.dart
+++ b/pkg/dartdev/lib/src/templates/package_simple.dart
@@ -55,7 +55,7 @@
# homepage: https://www.example.com
environment:
- sdk: '>=2.12.0 <3.0.0'
+${common.sdkConstraint}
# dependencies:
# path: ^1.8.0
diff --git a/pkg/dartdev/lib/src/templates/server_shelf.dart b/pkg/dartdev/lib/src/templates/server_shelf.dart
index 45873bc..ed6b730 100644
--- a/pkg/dartdev/lib/src/templates/server_shelf.dart
+++ b/pkg/dartdev/lib/src/templates/server_shelf.dart
@@ -42,7 +42,7 @@
# homepage: https://www.example.com
environment:
- sdk: '>=2.12.0 <3.0.0'
+${common.sdkConstraint}
dependencies:
args: ^2.0.0
diff --git a/pkg/dartdev/lib/src/templates/web_simple.dart b/pkg/dartdev/lib/src/templates/web_simple.dart
index 4bceae1..2dde7de 100644
--- a/pkg/dartdev/lib/src/templates/web_simple.dart
+++ b/pkg/dartdev/lib/src/templates/web_simple.dart
@@ -42,7 +42,7 @@
# homepage: https://www.example.com
environment:
- sdk: '>=2.12.0 <3.0.0'
+${common.sdkConstraint}
# dependencies:
# path: ^1.7.0
diff --git a/pkg/front_end/lib/src/fasta/README.md b/pkg/front_end/lib/src/fasta/README.md
index c2f0fa4..953abaf 100644
--- a/pkg/front_end/lib/src/fasta/README.md
+++ b/pkg/front_end/lib/src/fasta/README.md
@@ -13,10 +13,10 @@
## Getting Started
-1. [Build](https://github.com/dart-lang/sdk/wiki/Building#building) the VM and patched SDK. Note: you only need to build the targets `runtime_kernel`, and `dart_precompiled_runtime`, so you only need to run this command:
+1. [Build](https://github.com/dart-lang/sdk/wiki/Building#building) the VM and patched SDK. Note: you only need to build the targets `runtime` and `dart_precompiled_runtime`, so you only need to run this command:
```bash
-./tools/build.py --mode release --arch x64 runtime_kernel dart_precompiled_runtime
+./tools/build.py --mode release --arch x64 runtime dart_precompiled_runtime
```
## Create an Outline File
diff --git a/pkg/front_end/lib/src/fasta/TESTING.md b/pkg/front_end/lib/src/fasta/TESTING.md
index 251e9da..e89d5c9 100644
--- a/pkg/front_end/lib/src/fasta/TESTING.md
+++ b/pkg/front_end/lib/src/fasta/TESTING.md
@@ -40,7 +40,7 @@
```
# Language, co19, kernel, for VM using Fasta.
-./tools/build.py -mrelease runtime_kernel && ./tools/test.py -mrelease -cdartk co19 language kernel --time -pcolor --report -j16
+./tools/build.py -mrelease runtime && ./tools/test.py -mrelease -cdartk co19 language kernel --time -pcolor --report -j16
```
diff --git a/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart b/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
index 987f401..0ae336d 100644
--- a/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/expression_generator.dart
@@ -2898,12 +2898,8 @@
_uri, charOffset, lengthOfSpan(prefixGenerator.token, token));
}
// TODO(johnniwinther): Could we use a FixedTypeBuilder(InvalidType()) here?
- NamedTypeBuilder result = new NamedTypeBuilder(
- name,
- nullabilityBuilder,
- /* arguments = */ null,
- /* fileUri = */ null,
- /* charOffset = */ null);
+ NamedTypeBuilder result = new NamedTypeBuilder(name, nullabilityBuilder,
+ /* arguments = */ null, /* fileUri = */ null, /* charOffset = */ null);
_helper.libraryBuilder.addProblem(
message.messageObject, message.charOffset, message.length, message.uri);
result.bind(result.buildInvalidTypeDeclarationBuilder(message));
@@ -3272,6 +3268,11 @@
} else if (member is AmbiguousBuilder) {
return _helper.buildProblem(
member.message, member.charOffset, name.text.length);
+ } else if (member.isStatic &&
+ !member.isFactory &&
+ typeArguments != null) {
+ return _helper.buildProblem(messageStaticTearOffFromInstantiatedClass,
+ send.fileOffset, send.name.text.length);
} else {
Builder? setter;
if (member.isSetter) {
diff --git a/pkg/front_end/messages.status b/pkg/front_end/messages.status
index a9154ac..daf3f6c 100644
--- a/pkg/front_end/messages.status
+++ b/pkg/front_end/messages.status
@@ -753,6 +753,7 @@
SpreadMapEntryTypeMismatch/analyzerCode: Fail # There's no analyzer code for that error yet.
SpreadTypeMismatch/analyzerCode: Fail # There's no analyzer code for that error yet.
StackOverflow/example: Fail
+StaticTearOffFromInstantiatedClass/analyzerCode: Fail
StrongModeNNBDButOptOut/analyzerCode: Fail
StrongModeNNBDButOptOut/example: Fail
StrongModeNNBDPackageOptOut/analyzerCode: Fail
diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml
index e94eac1..8795748 100644
--- a/pkg/front_end/messages.yaml
+++ b/pkg/front_end/messages.yaml
@@ -5254,3 +5254,11 @@
script: |
abstract class Class {}
main() => Class.new;
+
+StaticTearOffFromInstantiatedClass:
+ template: "Cannot access static member on an instantiated generic class."
+ tip: "Try removing the type arguments or placing them after the member name."
+ experiments: constructor-tearoffs
+ script: |
+ class A<X> { static f() {} }
+ main() => A<int>.f;
diff --git a/pkg/front_end/test/spell_checking_list_messages.txt b/pkg/front_end/test/spell_checking_list_messages.txt
index 808f9f1..5d363a0 100644
--- a/pkg/front_end/test/spell_checking_list_messages.txt
+++ b/pkg/front_end/test/spell_checking_list_messages.txt
@@ -59,6 +59,7 @@
outdated
part(s)
patch(es)
+placing
pubspec.yaml
re
sdksummary
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart
new file mode 100644
index 0000000..80c48ab
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart
@@ -0,0 +1,32 @@
+// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class A<X> {
+ static X foo<X>(X x) => x;
+}
+
+typedef D1<X> = A<X>;
+typedef D2<X extends num> = A<X>;
+
+test() {
+ Y Function<Y>(Y) f1 = A.foo; // Ok.
+ int Function(int) f2 = A.foo; // Ok.
+ int Function(int) f3 = A.foo<int>; // Ok.
+ int Function(int) f4 = A<int>.foo; // Error.
+ var f5 = A<int>.foo; // Error.
+
+ Y Function<Y>(Y) g1 = D1.foo; // Ok.
+ int Function(int) g2 = D1.foo; // Ok.
+ int Function(int) g3 = D1.foo<int>; // Ok.
+ int Function(int) g4 = D1<int>.foo; // Error.
+ var g5 = D1<int>.foo; // Error.
+
+ Y Function<Y>(Y) h1 = D2.foo; // Ok.
+ int Function(int) h2 = D2.foo; // Ok.
+ int Function(int) h3 = D2.foo<int>; // Ok.
+ int Function(int) h4 = D2<int>.foo; // Error.
+ var h5 = D2<int>.foo; // Error.
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.strong.expect
new file mode 100644
index 0000000..f018785e
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.strong.expect
@@ -0,0 +1,89 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) f4 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var f5 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) g4 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var g5 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) h4 = D2<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var h5 = D2<int>.foo; // Error.
+// ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef D1<X extends core::Object? = dynamic> = self::A<X%>;
+typedef D2<X extends core::num> = self::A<X>;
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ : super core::Object::•()
+ ;
+ static method foo<X extends core::Object? = dynamic>(self::A::foo::X% x) → self::A::foo::X%
+ return x;
+}
+static method test() → dynamic {
+ <Y extends core::Object? = dynamic>(Y%) → Y% f1 = #C1;
+ (core::int) → core::int f2 = #C2;
+ (core::int) → core::int f3 = #C2;
+ (core::int) → core::int f4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) f4 = A<int>.foo; // Error.
+ ^^^";
+ invalid-type f5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var f5 = A<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% g1 = #C1;
+ (core::int) → core::int g2 = #C2;
+ (core::int) → core::int g3 = #C2;
+ (core::int) → core::int g4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) g4 = D1<int>.foo; // Error.
+ ^^^";
+ invalid-type g5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var g5 = D1<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% h1 = #C1;
+ (core::int) → core::int h2 = #C2;
+ (core::int) → core::int h3 = #C2;
+ (core::int) → core::int h4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) h4 = D2<int>.foo; // Error.
+ ^^^";
+ invalid-type h5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var h5 = D2<int>.foo; // Error.
+ ^^^";
+}
+static method main() → dynamic {}
+static method _#D2#new#tearOff<X extends core::num>() → self::A<self::_#D2#new#tearOff::X>
+ return new self::A::•<self::_#D2#new#tearOff::X>();
+
+constants {
+ #C1 = static-tearoff self::A::foo
+ #C2 = instantiation self::A::foo <core::int>
+}
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.strong.transformed.expect
new file mode 100644
index 0000000..f018785e
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.strong.transformed.expect
@@ -0,0 +1,89 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) f4 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var f5 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) g4 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var g5 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) h4 = D2<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var h5 = D2<int>.foo; // Error.
+// ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef D1<X extends core::Object? = dynamic> = self::A<X%>;
+typedef D2<X extends core::num> = self::A<X>;
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ : super core::Object::•()
+ ;
+ static method foo<X extends core::Object? = dynamic>(self::A::foo::X% x) → self::A::foo::X%
+ return x;
+}
+static method test() → dynamic {
+ <Y extends core::Object? = dynamic>(Y%) → Y% f1 = #C1;
+ (core::int) → core::int f2 = #C2;
+ (core::int) → core::int f3 = #C2;
+ (core::int) → core::int f4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) f4 = A<int>.foo; // Error.
+ ^^^";
+ invalid-type f5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var f5 = A<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% g1 = #C1;
+ (core::int) → core::int g2 = #C2;
+ (core::int) → core::int g3 = #C2;
+ (core::int) → core::int g4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) g4 = D1<int>.foo; // Error.
+ ^^^";
+ invalid-type g5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var g5 = D1<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% h1 = #C1;
+ (core::int) → core::int h2 = #C2;
+ (core::int) → core::int h3 = #C2;
+ (core::int) → core::int h4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) h4 = D2<int>.foo; // Error.
+ ^^^";
+ invalid-type h5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var h5 = D2<int>.foo; // Error.
+ ^^^";
+}
+static method main() → dynamic {}
+static method _#D2#new#tearOff<X extends core::num>() → self::A<self::_#D2#new#tearOff::X>
+ return new self::A::•<self::_#D2#new#tearOff::X>();
+
+constants {
+ #C1 = static-tearoff self::A::foo
+ #C2 = instantiation self::A::foo <core::int>
+}
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.textual_outline.expect b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.textual_outline.expect
new file mode 100644
index 0000000..a3fb204
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.textual_outline.expect
@@ -0,0 +1,8 @@
+class A<X> {
+ static X foo<X>(X x) => x;
+}
+
+typedef D1<X> = A<X>;
+typedef D2<X extends num> = A<X>;
+test() {}
+main() {}
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..37de545
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.textual_outline_modelled.expect
@@ -0,0 +1,8 @@
+class A<X> {
+ static X foo<X>(X x) => x;
+}
+
+main() {}
+test() {}
+typedef D1<X> = A<X>;
+typedef D2<X extends num> = A<X>;
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.expect b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.expect
new file mode 100644
index 0000000..67dd644
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.expect
@@ -0,0 +1,89 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) f4 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var f5 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) g4 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var g5 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) h4 = D2<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var h5 = D2<int>.foo; // Error.
+// ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef D1<X extends core::Object? = dynamic> = self::A<X%>;
+typedef D2<X extends core::num> = self::A<X>;
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ : super core::Object::•()
+ ;
+ static method foo<X extends core::Object? = dynamic>(self::A::foo::X% x) → self::A::foo::X%
+ return x;
+}
+static method test() → dynamic {
+ <Y extends core::Object? = dynamic>(Y%) → Y% f1 = #C1;
+ (core::int) → core::int f2 = #C2;
+ (core::int) → core::int f3 = #C2;
+ (core::int) → core::int f4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) f4 = A<int>.foo; // Error.
+ ^^^";
+ invalid-type f5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var f5 = A<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% g1 = #C1;
+ (core::int) → core::int g2 = #C2;
+ (core::int) → core::int g3 = #C2;
+ (core::int) → core::int g4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) g4 = D1<int>.foo; // Error.
+ ^^^";
+ invalid-type g5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var g5 = D1<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% h1 = #C1;
+ (core::int) → core::int h2 = #C2;
+ (core::int) → core::int h3 = #C2;
+ (core::int) → core::int h4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) h4 = D2<int>.foo; // Error.
+ ^^^";
+ invalid-type h5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var h5 = D2<int>.foo; // Error.
+ ^^^";
+}
+static method main() → dynamic {}
+static method _#D2#new#tearOff<X extends core::num>() → self::A<self::_#D2#new#tearOff::X>
+ return new self::A::•<self::_#D2#new#tearOff::X>();
+
+constants {
+ #C1 = static-tearoff self::A::foo
+ #C2 = instantiation self::A::foo <core::int*>
+}
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.outline.expect b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.outline.expect
new file mode 100644
index 0000000..07e6b54
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.outline.expect
@@ -0,0 +1,18 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+typedef D1<X extends core::Object? = dynamic> = self::A<X%>;
+typedef D2<X extends core::num> = self::A<X>;
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ ;
+ static method foo<X extends core::Object? = dynamic>(self::A::foo::X% x) → self::A::foo::X%
+ ;
+}
+static method test() → dynamic
+ ;
+static method main() → dynamic
+ ;
+static method _#D2#new#tearOff<X extends core::num>() → self::A<self::_#D2#new#tearOff::X>
+ return new self::A::•<self::_#D2#new#tearOff::X>();
diff --git a/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.transformed.expect
new file mode 100644
index 0000000..67dd644
--- /dev/null
+++ b/pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart.weak.transformed.expect
@@ -0,0 +1,89 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) f4 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var f5 = A<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) g4 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var g5 = D1<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// int Function(int) h4 = D2<int>.foo; // Error.
+// ^^^
+//
+// pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+// Try removing the type arguments or placing them after the member name.
+// var h5 = D2<int>.foo; // Error.
+// ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef D1<X extends core::Object? = dynamic> = self::A<X%>;
+typedef D2<X extends core::num> = self::A<X>;
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ : super core::Object::•()
+ ;
+ static method foo<X extends core::Object? = dynamic>(self::A::foo::X% x) → self::A::foo::X%
+ return x;
+}
+static method test() → dynamic {
+ <Y extends core::Object? = dynamic>(Y%) → Y% f1 = #C1;
+ (core::int) → core::int f2 = #C2;
+ (core::int) → core::int f3 = #C2;
+ (core::int) → core::int f4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:16:33: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) f4 = A<int>.foo; // Error.
+ ^^^";
+ invalid-type f5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:17:19: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var f5 = A<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% g1 = #C1;
+ (core::int) → core::int g2 = #C2;
+ (core::int) → core::int g3 = #C2;
+ (core::int) → core::int g4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:22:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) g4 = D1<int>.foo; // Error.
+ ^^^";
+ invalid-type g5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:23:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var g5 = D1<int>.foo; // Error.
+ ^^^";
+ <Y extends core::Object? = dynamic>(Y%) → Y% h1 = #C1;
+ (core::int) → core::int h2 = #C2;
+ (core::int) → core::int h3 = #C2;
+ (core::int) → core::int h4 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:28:34: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ int Function(int) h4 = D2<int>.foo; // Error.
+ ^^^";
+ invalid-type h5 = invalid-expression "pkg/front_end/testcases/constructor_tearoffs/static_tearoff_from_instantiated_class.dart:29:20: Error: Cannot access static member on an instantiated generic class.
+Try removing the type arguments or placing them after the member name.
+ var h5 = D2<int>.foo; // Error.
+ ^^^";
+}
+static method main() → dynamic {}
+static method _#D2#new#tearOff<X extends core::num>() → self::A<self::_#D2#new#tearOff::X>
+ return new self::A::•<self::_#D2#new#tearOff::X>();
+
+constants {
+ #C1 = static-tearoff self::A::foo
+ #C2 = instantiation self::A::foo <core::int*>
+}
diff --git a/pkg/front_end/tool/_fasta/generate_messages.dart b/pkg/front_end/tool/_fasta/generate_messages.dart
index 3a971c3..5420bf7 100644
--- a/pkg/front_end/tool/_fasta/generate_messages.dart
+++ b/pkg/front_end/tool/_fasta/generate_messages.dart
@@ -414,7 +414,7 @@
if (analyzerCode is String) {
analyzerCode = <String>[analyzerCode];
}
- List<Object> codes = analyzerCode as List<Object>;
+ List<Object?> codes = analyzerCode as List<Object?>;
// If "index:" is defined, then "analyzerCode:" should not be generated
// in the front end. See comment in messages.yaml
codeArguments.add('analyzerCodes: <String>["${codes.join('", "')}"]');
diff --git a/runtime/bin/socket.cc b/runtime/bin/socket.cc
index c0cf579..a781353 100644
--- a/runtime/bin/socket.cc
+++ b/runtime/bin/socket.cc
@@ -607,11 +607,6 @@
ASSERT(data_buffer != nullptr);
memmove(data_buffer, recv_buffer, bytes_read);
- // Memory Sanitizer complains addr not being initialized, which is done
- // through RecvFrom().
- // Issue: https://github.com/google/sanitizers/issues/1201
- MSAN_UNPOISON(&addr, sizeof(RawAddr));
-
// Get the port and clear it in the sockaddr structure.
int port = SocketAddress::GetAddrPort(addr);
// TODO(21403): Add checks for AF_UNIX, if unix domain sockets
diff --git a/runtime/docs/aot_binary_size_analysis.md b/runtime/docs/aot_binary_size_analysis.md
index 04a8e41..50d82be 100644
--- a/runtime/docs/aot_binary_size_analysis.md
+++ b/runtime/docs/aot_binary_size_analysis.md
@@ -13,7 +13,7 @@
scripts (e.g. `pkg/vm/tool/precompiler2`):
```
-% tools/build.py -mrelease -ax64 runtime_kernel dart_precompiled_runtime
+% tools/build.py -mrelease -ax64 runtime dart_precompiled_runtime
% pkg/vm/tool/precompiler2 --print-instructions-sizes-to=hello_sizes.json hello.dart hello.dart.aot
```
@@ -59,7 +59,7 @@
scripts (e.g. `pkg/vm/tool/precompiler2`):
```
-% tools/build.py -mrelease -ax64 runtime_kernel dart_precompiled_runtime
+% tools/build.py -mrelease -ax64 runtime dart_precompiled_runtime
% pkg/vm/tool/precompiler2 --write-v8-snapshot-profile-to=hello.heapsnapshot hello.dart hello.dart.aot
```
diff --git a/runtime/docs/dwarf_stack_traces.md b/runtime/docs/dwarf_stack_traces.md
index e1f6c5e..03b74d2 100644
--- a/runtime/docs/dwarf_stack_traces.md
+++ b/runtime/docs/dwarf_stack_traces.md
@@ -46,7 +46,7 @@
`--dwarf-stack-traces` in a 64-bit Linux development environment:
```bash
-$ python3 tools/build.py -a x64 -m release runtime_kernel runtime_precompiled
+$ python3 tools/build.py -a x64 -m release runtime runtime_precompiled
$ pkg/vm/tool/gen_kernel --platform out/ReleaseX64/vm_platform_strong.dill -o throws.dill throws.dart
diff --git a/runtime/tests/vm/vm.status b/runtime/tests/vm/vm.status
index 2105623..64d0769 100644
--- a/runtime/tests/vm/vm.status
+++ b/runtime/tests/vm/vm.status
@@ -12,6 +12,7 @@
cc/IsolateReload_PendingUnqualifiedCall_InstanceToStatic: Fail # Issue 32981
cc/IsolateReload_PendingUnqualifiedCall_StaticToInstance: Fail # Issue 32981
dart/boxmint_test: Pass, Slow # Uses slow path
+dart/byte_array_optimized_test: Pass, Slow
dart/data_uri_import_test/none: SkipByDesign
dart/emit_aot_size_info_flag_test: Pass, Slow # Spawns several subprocesses
dart/isolates/*: Pass, Slow # Tests use many isolates and take a longer time.
@@ -24,6 +25,7 @@
dart/stack_overflow_shared_test: Pass, Slow # Uses --shared-slow-path-triggers-gc flag.
dart/use_bare_instructions_flag_test: Pass, Slow # Spawns several subprocesses
dart_2/boxmint_test: Pass, Slow # Uses slow path
+dart_2/byte_array_optimized_test: Pass, Slow
dart_2/data_uri_import_test/none: SkipByDesign
dart_2/emit_aot_size_info_flag_test: Pass, Slow # Spawns several subprocesses
dart_2/isolates/*: Pass, Slow # Tests use many isolates and take a longer time.
diff --git a/tools/VERSION b/tools/VERSION
index bd31ebf..5a324e5 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 15
PATCH 0
-PRERELEASE 12
+PRERELEASE 13
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index c9ce212..a3a6e36 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -1016,7 +1016,7 @@
"create_sdk",
"dartdevc_test",
"kernel_platform_files",
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -1095,7 +1095,7 @@
"create_sdk",
"dartdevc_test",
"kernel_platform_files",
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -1186,7 +1186,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime",
"--os=android"
]
@@ -1222,7 +1222,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"--os=android"
]
},
@@ -1267,7 +1267,7 @@
"arguments": [
"--use-qemu",
"dart_precompiled_runtime",
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -1306,7 +1306,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime",
"gen_snapshot"
]
@@ -1364,7 +1364,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -1435,7 +1435,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -1478,7 +1478,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -1508,7 +1508,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -1535,7 +1535,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -1565,7 +1565,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -1592,7 +1592,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -1796,7 +1796,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -1840,8 +1840,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "create_sdk",
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -1926,7 +1925,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -1961,7 +1960,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -2009,7 +2008,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -2037,7 +2036,7 @@
"arguments": [
"dart_precompiled_runtime",
"gen_snapshot",
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -2067,7 +2066,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -2365,7 +2364,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -2393,7 +2392,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -2421,7 +2420,7 @@
"name": "build dart",
"script": "tools/build.py",
"arguments": [
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -2973,7 +2972,7 @@
"--arch=ia32,x64",
"--mode=release",
"create_sdk",
- "runtime_kernel"
+ "runtime"
]
},
{
@@ -3836,7 +3835,7 @@
"arguments": [
"--mode=debug,release",
"--arch=x64",
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
@@ -3847,7 +3846,7 @@
"--mode=release",
"--arch=x64",
"--sanitizer=tsan",
- "runtime_kernel",
+ "runtime",
"dart_precompiled_runtime"
]
},
diff --git a/tools/sdks/update.sh b/tools/sdks/update.sh
index 1d33b82..8cb5633 100755
--- a/tools/sdks/update.sh
+++ b/tools/sdks/update.sh
@@ -61,9 +61,8 @@
-ref $channel
rm -rf sdk
-# TODO(athom): Use a proper arm64 SDK when available.
-gsutil.py cp "gs://dart-archive/channels/$channel/release/$1/sdk/dartsdk-macos-x64-release.zip" .
-unzip -q dartsdk-macos-x64-release.zip -d sdk
+gsutil.py cp "gs://dart-archive/channels/$channel/release/$1/sdk/dartsdk-macos-arm64-release.zip" .
+unzip -q dartsdk-macos-arm64-release.zip -d sdk
cipd create \
-name dart/dart-sdk/mac-arm64 \
-in sdk \