Version 2.11.0-253.0.dev
Merge commit '1ea407ee6c5d7dcd1808ce82994bc1177d058b38' into 'dev'
diff --git a/DEPS b/DEPS
index d76a003..bab0f51 100644
--- a/DEPS
+++ b/DEPS
@@ -73,7 +73,7 @@
"boringssl_gen_rev": "429ccb1877f7987a6f3988228bc2440e61293499",
"boringssl_rev" : "4dfd5af70191b068aebe567b8e29ce108cee85ce",
"browser-compat-data_tag": "v1.0.22",
- "charcode_rev": "4a685faba42d86ebd9d661eadd1e79d0a1c34c43",
+ "charcode_rev": "bcd8a12c315b7a83390e4865ad847ecd9344cba2",
"chrome_rev" : "19997",
"cli_util_rev" : "335ed165887d0ec97c2a09173ebf22dcf56a6c4e",
"collection_rev": "60e6ee2228586980826b07ec1df633bd879f42ea",
diff --git a/pkg/analyzer/lib/src/dart/error/hint_codes.dart b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
index 6d31ea1..720c0e4 100644
--- a/pkg/analyzer/lib/src/dart/error/hint_codes.dart
+++ b/pkg/analyzer/lib/src/dart/error/hint_codes.dart
@@ -19,7 +19,7 @@
*/
static const HintCode ASSIGNMENT_OF_DO_NOT_STORE = HintCode(
'ASSIGNMENT_OF_DO_NOT_STORE',
- "'{0}' is marked 'doNotStore' and shouldn't be assigned to a field.",
+ "'{0}' is marked 'doNotStore' and shouldn't be assigned to a field or top-level variable.",
correction: "Try removing the assignment.");
/**
diff --git a/pkg/analyzer/lib/src/error/best_practices_verifier.dart b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
index 3b9013c..cd7f1bb 100644
--- a/pkg/analyzer/lib/src/error/best_practices_verifier.dart
+++ b/pkg/analyzer/lib/src/error/best_practices_verifier.dart
@@ -418,15 +418,7 @@
[field.name, overriddenElement.enclosingElement.name]);
}
- var expressionMap =
- _getSubExpressionsMarkedDoNotStore(field.initializer);
- for (var entry in expressionMap.entries) {
- _errorReporter.reportErrorForNode(
- HintCode.ASSIGNMENT_OF_DO_NOT_STORE,
- entry.key,
- [entry.value.name],
- );
- }
+ _checkForAssignmentOfDoNotStore(field.initializer);
}
} finally {
_inDeprecatedMember = wasInDeprecatedMember;
@@ -705,6 +697,9 @@
if (_hasDeprecatedAnnotation(node.metadata)) {
_inDeprecatedMember = true;
}
+ for (var decl in node.variables.variables) {
+ _checkForAssignmentOfDoNotStore(decl.initializer);
+ }
try {
super.visitTopLevelVariableDeclaration(node);
@@ -798,6 +793,17 @@
return false;
}
+ void _checkForAssignmentOfDoNotStore(Expression expression) {
+ var expressionMap = _getSubExpressionsMarkedDoNotStore(expression);
+ for (var entry in expressionMap.entries) {
+ _errorReporter.reportErrorForNode(
+ HintCode.ASSIGNMENT_OF_DO_NOT_STORE,
+ entry.key,
+ [entry.value.name],
+ );
+ }
+ }
+
/// Given some [element], look at the associated metadata and report the use
/// of the member if it is declared as deprecated. If a diagnostic is reported
/// it should be reported at the given [node].
diff --git a/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart b/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart
index d9cb6c6..b70e8a4 100644
--- a/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart
+++ b/pkg/analyzer/lib/src/pubspec/pubspec_validator.dart
@@ -29,6 +29,9 @@
/// The name of the field whose value is the name of the package.
static const String NAME_FIELD = 'name';
+ /// The name of the field whose value is a path to a package dependency.
+ static const String PATH_FIELD = 'path';
+
/// The resource provider used to access the file system.
final ResourceProvider provider;
@@ -118,11 +121,17 @@
Map<dynamic, YamlNode> declaredDevDependencies =
_getDeclaredDependencies(reporter, contents, DEV_DEPENDENCIES_FIELD);
- for (YamlNode packageName in declaredDevDependencies.keys) {
+ for (var dependency in declaredDependencies.entries) {
+ _validatePathEntries(reporter, dependency.value);
+ }
+
+ for (var dependency in declaredDevDependencies.entries) {
+ var packageName = dependency.key;
if (declaredDependencies.containsKey(packageName)) {
_reportErrorForNode(reporter, packageName,
PubspecWarningCode.UNNECESSARY_DEV_DEPENDENCY, [packageName.value]);
}
+ _validatePathEntries(reporter, dependency.value);
}
}
@@ -193,4 +202,24 @@
reporter, nameField, PubspecWarningCode.NAME_NOT_STRING);
}
}
+
+ /// Validate that `path` entries reference valid paths.
+ void _validatePathEntries(ErrorReporter reporter, YamlNode dependency) {
+ if (dependency is YamlMap) {
+ for (var node in dependency.nodes.entries) {
+ var pathEntry = dependency[PATH_FIELD];
+ if (pathEntry != null) {
+ var context = provider.pathContext;
+ var normalizedPath = context.joinAll(path.posix.split(pathEntry));
+ var packageRoot = context.dirname(source.fullName);
+ var dependencyPath =
+ path.canonicalize(context.join(packageRoot, normalizedPath));
+ if (!provider.getFolder(dependencyPath).exists) {
+ _reportErrorForNode(reporter, node.value,
+ PubspecWarningCode.PATH_DOES_NOT_EXIST, [pathEntry]);
+ }
+ }
+ }
+ }
+ }
}
diff --git a/pkg/analyzer/lib/src/pubspec/pubspec_warning_code.dart b/pkg/analyzer/lib/src/pubspec/pubspec_warning_code.dart
index 7e03b42..5e68c9b 100644
--- a/pkg/analyzer/lib/src/pubspec/pubspec_warning_code.dart
+++ b/pkg/analyzer/lib/src/pubspec/pubspec_warning_code.dart
@@ -63,6 +63,15 @@
"The value of the name field is expected to be a string.",
correction: "Try converting the value to be a string.");
+ /// A code indicating that a specified path dependency does not exist.
+ ///
+ /// Parameters:
+ /// 0: the path to the dependency as given in the file.
+ static const PubspecWarningCode PATH_DOES_NOT_EXIST = PubspecWarningCode(
+ 'PATH_DOES_NOT_EXIST', "The path {0} does not exist.",
+ correction:
+ "Try creating the referenced path or using a path that exists.");
+
/// A code indicating that a package listed as a dev dependency is also listed
/// as a normal dependency.
///
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
index ccdfcf5..664891c 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
@@ -178,6 +178,49 @@
]);
}
+ test_topLevelVariable_assignment_field() async {
+ await assertErrorsInCode('''
+import 'package:meta/meta.dart';
+
+String top = A().f;
+
+class A{
+ @doNotStore
+ final f = '';
+}
+''', [
+ error(HintCode.ASSIGNMENT_OF_DO_NOT_STORE, 47, 5, messageContains: "'f'"),
+ ]);
+ }
+
+ test_topLevelVariable_assignment_getter() async {
+ await assertErrorsInCode('''
+import 'package:meta/meta.dart';
+
+String top = v;
+
+@doNotStore
+String get v => '';
+''', [
+ error(HintCode.ASSIGNMENT_OF_DO_NOT_STORE, 47, 1, messageContains: "'v'"),
+ ]);
+ }
+
+ test_topLevelVariable_assignment_method() async {
+ await assertErrorsInCode('''
+import 'package:meta/meta.dart';
+
+String top = A().v();
+
+class A{
+ @doNotStore
+ String v() => '';
+}
+''', [
+ error(HintCode.ASSIGNMENT_OF_DO_NOT_STORE, 47, 7, messageContains: "'v'"),
+ ]);
+ }
+
test_topLevelVariable_binaryExpression() async {
await assertErrorsInCode('''
import 'package:meta/meta.dart';
diff --git a/pkg/analyzer/test/src/pubspec/pubspec_validator_test.dart b/pkg/analyzer/test/src/pubspec/pubspec_validator_test.dart
index cf3dda7..161046c 100644
--- a/pkg/analyzer/test/src/pubspec/pubspec_validator_test.dart
+++ b/pkg/analyzer/test/src/pubspec/pubspec_validator_test.dart
@@ -196,6 +196,47 @@
''');
}
+ test_dependencyGitPath() {
+ // git paths are not validated
+ assertNoErrors('''
+name: sample
+dependencies:
+ foo:
+ git:
+ url: git@github.com:foo/foo.git
+ path: path/to/foo
+''');
+ }
+
+ test_dependencyPathDoesNotExist_path_error() {
+ assertErrors('''
+name: sample
+dependencies:
+ foo:
+ path: does/not/exist
+''', [PubspecWarningCode.PATH_DOES_NOT_EXIST]);
+ }
+
+ test_dependencyPathExists() {
+ newFolder('/foo');
+ assertNoErrors('''
+name: sample
+dependencies:
+ foo:
+ path: /foo
+''');
+ }
+
+ test_dependencyPathRelativeExists() {
+ newFolder('/foo');
+ assertNoErrors('''
+name: sample
+dependencies:
+ foo:
+ path: ../foo
+''');
+ }
+
test_devDependenciesField_empty() {
assertNoErrors('''
name: sample
@@ -218,6 +259,25 @@
''');
}
+ test_devDependencyPathDoesNotExist_path_error() {
+ assertErrors('''
+name: sample
+dev_dependencies:
+ foo:
+ path: does/not/exist
+''', [PubspecWarningCode.PATH_DOES_NOT_EXIST]);
+ }
+
+ test_devDependencyPathExists() {
+ newFolder('/foo');
+ assertNoErrors('''
+name: sample
+dev_dependencies:
+ foo:
+ path: /foo
+''');
+ }
+
test_flutterField_empty_noError() {
assertNoErrors('''
name: sample
diff --git a/pkg/dev_compiler/lib/js/legacy/dart_library.js b/pkg/dev_compiler/lib/js/legacy/dart_library.js
index 82670a9..609945c 100644
--- a/pkg/dev_compiler/lib/js/legacy/dart_library.js
+++ b/pkg/dev_compiler/lib/js/legacy/dart_library.js
@@ -293,14 +293,18 @@
if (library.onReloadEnd) {
library.onReloadEnd();
return;
- } else {
- document.body = _originalBody;
+ } else {
+ if (dart_sdk.dart.global.document) {
+ dart_sdk.dart.global.document.body = _originalBody;
+ }
}
} else {
// If not a reload then store the initial html to reset it on reload.
- _originalBody = document.body.cloneNode(true);
+ if (dart_sdk.dart.global.document) {
+ _originalBody = dart_sdk.dart.global.document.body.cloneNode(true);
+ }
}
- library.main();
+ library.main([]);
}
dart_library.start = start;
diff --git a/pkg/dev_compiler/tool/ddb b/pkg/dev_compiler/tool/ddb
index 915c1fe..65888a8 100755
--- a/pkg/dev_compiler/tool/ddb
+++ b/pkg/dev_compiler/tool/ddb
@@ -209,7 +209,7 @@
break;
case 'd8':
d8 = true;
- mod = 'es6';
+ mod = 'legacy';
break;
case 'chrome':
chrome = true;
@@ -217,24 +217,14 @@
break;
}
- String ddcSdk;
- String sdkJsPath;
- String requirePath;
+ var sdkRoot = p.dirname(p.dirname(ddcPath));
+ var buildDir =
+ p.join(sdkRoot, Platform.isMacOS ? 'xcodebuild' : 'out', 'ReleaseX64');
+ var requirePath = p.join(sdkRoot, 'third_party', 'requirejs');
+ var sdkOutlineDill = p.join(buildDir,
+ soundNullSafety ? 'ddc_outline_sound.dill' : 'ddc_outline.dill');
var suffix = soundNullSafety ? p.join('sound', mod) : p.join('kernel', mod);
- if (debug) {
- var sdkRoot = p.dirname(p.dirname(ddcPath));
- var buildDir =
- p.join(sdkRoot, Platform.isMacOS ? 'xcodebuild' : 'out', 'ReleaseX64');
- dartSdk = p.join(buildDir, 'dart-sdk');
- ddcSdk = p.join(buildDir,
- soundNullSafety ? 'ddc_outline_sound.dill' : 'ddc_outline.dill');
- sdkJsPath = p.join(buildDir, 'gen', 'utils', 'dartdevc', suffix);
- requirePath = p.join(sdkRoot, 'third_party', 'requirejs');
- } else {
- ddcSdk = p.join(dartSdk, 'lib', '_internal', 'ddc_sdk.dill');
- sdkJsPath = p.join(dartSdk, 'lib', 'dev_compiler', suffix);
- requirePath = sdkJsPath;
- }
+ var sdkJsPath = p.join(buildDir, 'gen', 'utils', 'dartdevc', suffix);
// Print an initial empty line to separate the invocation from the output.
if (verbose) {
@@ -245,7 +235,7 @@
var ddcArgs = [
if (summarizeText) '--summarize-text',
'--modules=$mod',
- '--dart-sdk-summary=$ddcSdk',
+ '--dart-sdk-summary=$sdkOutlineDill',
for (var summary in summaries) '--summary=$summary',
for (var experiment in experiments) '--enable-experiment=$experiment',
if (soundNullSafety) '--sound-null-safety',
@@ -352,18 +342,19 @@
jsFile.writeAsStringSync(jsContents);
var runjs = '''
-import { dart, _isolate_helper } from '$sdkJsPath/dart_sdk.js';
-import { $libname } from '$basename.js';
+load("$ddcPath/lib/js/legacy/dart_library.js");
+load("$sdkJsPath/dart_sdk.js");
+load("$out");
+
+let dart_sdk = dart_library.import('dart_sdk');
// Create a self reference for JS interop tests that set fields on self.
-dart.global.self = dart.global;
-let main = $libname.main;
+dart_sdk.dart.global.self = dart_sdk.dart.global;
if ($nnbd) {
- dart.weakNullSafetyWarnings(!$soundNullSafety);
- dart.nonNullAsserts($nonNullAsserts);
- dart.nativeNonNullAsserts($nativeNonNullAsserts);
+ dart_sdk.dart.weakNullSafetyWarnings(!$soundNullSafety);
+ dart_sdk.dart.nonNullAsserts($nonNullAsserts);
+ dart_sdk.dart.nativeNonNullAsserts($nativeNonNullAsserts);
}
-_isolate_helper.startRootIsolate(() => {}, []);
-main([]);
+dart_library.start('$basename', '$libname');
''';
var d8File = p.setExtension(out, '.d8.js');
File(d8File).writeAsStringSync(runjs);
diff --git a/runtime/observatory/tests/service/evaluate_activation_in_method_class_other.dart b/runtime/observatory/tests/service/evaluate_activation_in_method_class_other.dart
index bf070a1..000ba5e 100644
--- a/runtime/observatory/tests/service/evaluate_activation_in_method_class_other.dart
+++ b/runtime/observatory/tests/service/evaluate_activation_in_method_class_other.dart
@@ -6,22 +6,22 @@
var topLevel = "OtherLibrary";
-class Superclass {
- var _instVar = 'Superclass';
- var instVar = 'Superclass';
- method() => 'Superclass';
- static staticMethod() => 'Superclass';
+class Superclass2 {
+ var _instVar = 'Superclass2';
+ var instVar = 'Superclass2';
+ method() => 'Superclass2';
+ static staticMethod() => 'Superclass2';
suppress_warning() => _instVar;
}
-class Klass extends Superclass {
- var _instVar = 'Klass';
- var instVar = 'Klass';
- method() => 'Klass';
- static staticMethod() => 'Klass';
+class Superclass1 extends Superclass2 {
+ var _instVar = 'Superclass1';
+ var instVar = 'Superclass1';
+ method() => 'Superclass1';
+ static staticMethod() => 'Superclass1';
test() {
- var _local = 'Klass';
+ var _local = 'Superclass1';
debugger();
// Suppress unused variable warning.
print(_local);
diff --git a/runtime/observatory/tests/service/evaluate_activation_in_method_class_test.dart b/runtime/observatory/tests/service/evaluate_activation_in_method_class_test.dart
index 621ebd2..b16d24e 100644
--- a/runtime/observatory/tests/service/evaluate_activation_in_method_class_test.dart
+++ b/runtime/observatory/tests/service/evaluate_activation_in_method_class_test.dart
@@ -15,7 +15,7 @@
var topLevel = "TestLibrary";
-class Subclass extends Superclass with Klass {
+class Subclass extends Superclass1 {
var _instVar = 'Subclass';
var instVar = 'Subclass';
method() => 'Subclass';
@@ -36,18 +36,18 @@
var topFrame = 0;
expect(stack.type, equals('Stack'));
expect(stack['frames'][topFrame].function.name, equals('test'));
- expect(stack['frames'][topFrame].function.dartOwner.name,
- equals('Superclass&Klass'));
+ expect(
+ stack['frames'][topFrame].function.dartOwner.name, equals('Superclass1'));
Instance result;
result = await isolate.evalFrame(topFrame, '_local') as Instance;
print(result);
- expect(result.valueAsString, equals('Klass'));
+ expect(result.valueAsString, equals('Superclass1'));
result = await isolate.evalFrame(topFrame, '_instVar') as Instance;
print(result);
- expect(result.valueAsString, equals('Klass'));
+ expect(result.valueAsString, equals('Superclass1'));
result = await isolate.evalFrame(topFrame, 'instVar') as Instance;
print(result);
@@ -59,19 +59,19 @@
result = await isolate.evalFrame(topFrame, 'super._instVar') as Instance;
print(result);
- expect(result.valueAsString, equals('Superclass'));
+ expect(result.valueAsString, equals('Superclass2'));
result = await isolate.evalFrame(topFrame, 'super.instVar') as Instance;
print(result);
- expect(result.valueAsString, equals('Superclass'));
+ expect(result.valueAsString, equals('Superclass2'));
result = await isolate.evalFrame(topFrame, 'super.method()') as Instance;
print(result);
- expect(result.valueAsString, equals('Superclass'));
+ expect(result.valueAsString, equals('Superclass2'));
result = await isolate.evalFrame(topFrame, 'staticMethod()') as Instance;
print(result);
- expect(result.valueAsString, equals('Klass'));
+ expect(result.valueAsString, equals('Superclass1'));
// function.Owner verus function.Origin
// The mixin of Superclass is in _other.dart and the mixin
diff --git a/runtime/observatory/tests/service/get_allocation_samples_test.dart b/runtime/observatory/tests/service/get_allocation_samples_test.dart
index 4246154..44b4694 100644
--- a/runtime/observatory/tests/service/get_allocation_samples_test.dart
+++ b/runtime/observatory/tests/service/get_allocation_samples_test.dart
@@ -56,7 +56,7 @@
expect(fooClass.traceAllocations, isTrue);
dynamic profileResponse = await fooClass.getAllocationSamples();
expect(profileResponse, isNotNull);
- expect(profileResponse['type'], equals('_CpuProfile'));
+ //expect(profileResponse['type'], equals('_CpuProfile'));
await fooClass.setTraceAllocations(false);
await fooClass.reload();
expect(fooClass.traceAllocations, isFalse);
@@ -68,11 +68,11 @@
CodeCallTreeNode? node = tree.root;
var expected = [
'Root',
- 'DRT_AllocateObject',
- '[Stub] Allocate Foo',
- 'test',
- 'test',
- '_Closure.call'
+ '[Unoptimized] test',
+ '[Unoptimized] test',
+ '[Unoptimized] _Closure.call',
+ '[Unoptimized] _ServiceTesteeRunner.run',
+ '[Unoptimized] _AsyncAwaitCompleter.start'
];
for (var i = 0; i < expected.length; i++) {
expect(node!.profileCode.code.name, equals(expected[i]));
diff --git a/runtime/observatory/tests/service/get_isolate_after_language_error_test.dart b/runtime/observatory/tests/service/get_isolate_after_language_error_test.dart
deleted file mode 100644
index 425eb53..0000000
--- a/runtime/observatory/tests/service/get_isolate_after_language_error_test.dart
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2016, 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.
-
-import 'package:observatory/service_io.dart';
-import 'package:test/test.dart';
-import 'test_helper.dart';
-import 'service_test_common.dart';
-
-var x;
-
-doThrow() {
- if (x) while {
- };
-}
-
-var tests = <IsolateTest>[
- hasStoppedAtExit,
-
- (Isolate isolate) async {
- await isolate.reload();
- expect(isolate.error, isNotNull);
- expect(isolate.error.message.contains("'(' expected"), isTrue);
- }
-];
-
-main(args) => runIsolateTestsSynchronous(args,
- tests,
- pause_on_exit: true,
- testeeConcurrent: doThrow);
diff --git a/runtime/observatory/tests/service/get_source_report_test.dart b/runtime/observatory/tests/service/get_source_report_test.dart
index 731e2f3..adea481 100644
--- a/runtime/observatory/tests/service/get_source_report_test.dart
+++ b/runtime/observatory/tests/service/get_source_report_test.dart
@@ -73,12 +73,12 @@
var expectedRange = {
'scriptIndex': 0,
- 'startPos': 432,
- 'endPos': 576,
+ 'startPos': 424,
+ 'endPos': 568,
'compiled': true,
'coverage': {
- 'hits': [432, 482, 533, 562],
- 'misses': [495],
+ 'hits': [424, 474, 525, 554],
+ 'misses': [487],
}
};
@@ -91,7 +91,7 @@
final numRanges = coverage['ranges'].length;
expect(coverage['type'], equals('SourceReport'));
- expect(numRanges, equals(12));
+ expect(numRanges, equals(10));
expect(coverage['ranges'][0], equals(expectedRange));
expect(coverage['scripts'].length, 1);
expect(
@@ -106,7 +106,7 @@
};
coverage = await isolate.invokeRpcNoUpgrade('getSourceReport', params);
expect(coverage['type'], equals('SourceReport'));
- expect(coverage['ranges'].length, numRanges);
+ expect(coverage['ranges'].length, 11);
expect(allRangesCompiled(coverage), isTrue);
// One function
diff --git a/runtime/observatory/tests/service/step_through_setter_test.dart b/runtime/observatory/tests/service/step_through_setter_test.dart
index aa40fb1..bff5b7d 100644
--- a/runtime/observatory/tests/service/step_through_setter_test.dart
+++ b/runtime/observatory/tests/service/step_through_setter_test.dart
@@ -28,7 +28,7 @@
_xyz = i - 1;
}
- get barXYZ => _xyz + 1;
+ int get barXYZ => _xyz + 1;
}
List<String> stops = [];
diff --git a/runtime/observatory_2/tests/service_2/coverage_leaf_function_test.dart b/runtime/observatory_2/tests/service_2/coverage_leaf_function_test.dart
index 25587aa..54d4f59 100644
--- a/runtime/observatory_2/tests/service_2/coverage_leaf_function_test.dart
+++ b/runtime/observatory_2/tests/service_2/coverage_leaf_function_test.dart
@@ -44,12 +44,12 @@
var expectedRange = {
'scriptIndex': 0,
- 'startPos': 384,
- 'endPos': 434,
+ 'startPos': 386,
+ 'endPos': 436,
'compiled': true,
'coverage': {
'hits': [],
- 'misses': [384]
+ 'misses': [386]
}
};
@@ -85,11 +85,11 @@
var expectedRange = {
'scriptIndex': 0,
- 'startPos': 384,
- 'endPos': 434,
+ 'startPos': 386,
+ 'endPos': 436,
'compiled': true,
'coverage': {
- 'hits': [384],
+ 'hits': [386],
'misses': []
}
};
diff --git a/runtime/observatory_2/tests/service_2/coverage_optimized_function_test.dart b/runtime/observatory_2/tests/service_2/coverage_optimized_function_test.dart
index d99072d..2c95a1f 100644
--- a/runtime/observatory_2/tests/service_2/coverage_optimized_function_test.dart
+++ b/runtime/observatory_2/tests/service_2/coverage_optimized_function_test.dart
@@ -37,11 +37,11 @@
var expectedRange = {
'scriptIndex': 0,
- 'startPos': 461,
- 'endPos': 528,
+ 'startPos': 463,
+ 'endPos': 530,
'compiled': true,
'coverage': {
- 'hits': [461, 501, 512, 516],
+ 'hits': [463, 503, 514, 518],
'misses': []
}
};
diff --git a/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_other.dart b/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_other.dart
index bf070a1..000ba5e 100644
--- a/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_other.dart
+++ b/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_other.dart
@@ -6,22 +6,22 @@
var topLevel = "OtherLibrary";
-class Superclass {
- var _instVar = 'Superclass';
- var instVar = 'Superclass';
- method() => 'Superclass';
- static staticMethod() => 'Superclass';
+class Superclass2 {
+ var _instVar = 'Superclass2';
+ var instVar = 'Superclass2';
+ method() => 'Superclass2';
+ static staticMethod() => 'Superclass2';
suppress_warning() => _instVar;
}
-class Klass extends Superclass {
- var _instVar = 'Klass';
- var instVar = 'Klass';
- method() => 'Klass';
- static staticMethod() => 'Klass';
+class Superclass1 extends Superclass2 {
+ var _instVar = 'Superclass1';
+ var instVar = 'Superclass1';
+ method() => 'Superclass1';
+ static staticMethod() => 'Superclass1';
test() {
- var _local = 'Klass';
+ var _local = 'Superclass1';
debugger();
// Suppress unused variable warning.
print(_local);
diff --git a/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_test.dart b/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_test.dart
index 6af1450..9921505 100644
--- a/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_test.dart
+++ b/runtime/observatory_2/tests/service_2/evaluate_activation_in_method_class_test.dart
@@ -15,7 +15,7 @@
var topLevel = "TestLibrary";
-class Subclass extends Superclass with Klass {
+class Subclass extends Superclass1 {
var _instVar = 'Subclass';
var instVar = 'Subclass';
method() => 'Subclass';
@@ -36,18 +36,18 @@
var topFrame = 0;
expect(stack.type, equals('Stack'));
expect(stack['frames'][topFrame].function.name, equals('test'));
- expect(stack['frames'][topFrame].function.dartOwner.name,
- equals('Superclass&Klass'));
+ expect(
+ stack['frames'][topFrame].function.dartOwner.name, equals('Superclass1'));
Instance result;
result = await isolate.evalFrame(topFrame, '_local');
print(result);
- expect(result.valueAsString, equals('Klass'));
+ expect(result.valueAsString, equals('Superclass1'));
result = await isolate.evalFrame(topFrame, '_instVar');
print(result);
- expect(result.valueAsString, equals('Klass'));
+ expect(result.valueAsString, equals('Superclass1'));
result = await isolate.evalFrame(topFrame, 'instVar');
print(result);
@@ -59,19 +59,19 @@
result = await isolate.evalFrame(topFrame, 'super._instVar');
print(result);
- expect(result.valueAsString, equals('Superclass'));
+ expect(result.valueAsString, equals('Superclass2'));
result = await isolate.evalFrame(topFrame, 'super.instVar');
print(result);
- expect(result.valueAsString, equals('Superclass'));
+ expect(result.valueAsString, equals('Superclass2'));
result = await isolate.evalFrame(topFrame, 'super.method()');
print(result);
- expect(result.valueAsString, equals('Superclass'));
+ expect(result.valueAsString, equals('Superclass2'));
result = await isolate.evalFrame(topFrame, 'staticMethod()');
print(result);
- expect(result.valueAsString, equals('Klass'));
+ expect(result.valueAsString, equals('Superclass1'));
// function.Owner verus function.Origin
// The mixin of Superclass is in _other.dart and the mixin
diff --git a/runtime/observatory_2/tests/service_2/get_allocation_samples_test.dart b/runtime/observatory_2/tests/service_2/get_allocation_samples_test.dart
index 87eebfd..9c1252b 100644
--- a/runtime/observatory_2/tests/service_2/get_allocation_samples_test.dart
+++ b/runtime/observatory_2/tests/service_2/get_allocation_samples_test.dart
@@ -56,7 +56,7 @@
expect(fooClass.traceAllocations, isTrue);
dynamic profileResponse = await fooClass.getAllocationSamples();
expect(profileResponse, isNotNull);
- expect(profileResponse['type'], equals('_CpuProfile'));
+ expect(profileResponse['type'], equals('CpuSamples'));
await fooClass.setTraceAllocations(false);
await fooClass.reload();
expect(fooClass.traceAllocations, isFalse);
@@ -68,11 +68,11 @@
var node = tree.root;
var expected = [
'Root',
- 'DRT_AllocateObject',
- '[Stub] Allocate Foo',
- 'test',
- 'test',
- '_Closure.call'
+ '[Unoptimized] test',
+ '[Unoptimized] test',
+ '[Unoptimized] _Closure.call',
+ '[Unoptimized] _ServiceTesteeRunner.run',
+ '[Unoptimized] _AsyncAwaitCompleter.start'
];
for (var i = 0; i < expected.length; i++) {
expect(node.profileCode.code.name, equals(expected[i]));
diff --git a/runtime/observatory_2/tests/service_2/get_isolate_after_language_error_test.dart b/runtime/observatory_2/tests/service_2/get_isolate_after_language_error_test.dart
deleted file mode 100644
index 88a7f89..0000000
--- a/runtime/observatory_2/tests/service_2/get_isolate_after_language_error_test.dart
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2016, 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.
-
-import 'package:observatory_2/service_io.dart';
-import 'package:test/test.dart';
-import 'test_helper.dart';
-import 'service_test_common.dart';
-
-var x;
-
-doThrow() {
- if (x) while {
- };
-}
-
-var tests = <IsolateTest>[
- hasStoppedAtExit,
-
- (Isolate isolate) async {
- await isolate.reload();
- expect(isolate.error, isNotNull);
- expect(isolate.error.message.contains("'(' expected"), isTrue);
- }
-];
-
-main(args) => runIsolateTestsSynchronous(args,
- tests,
- pause_on_exit: true,
- testeeConcurrent: doThrow);
diff --git a/runtime/observatory_2/tests/service_2/get_source_report_test.dart b/runtime/observatory_2/tests/service_2/get_source_report_test.dart
index 984de51..97606de 100644
--- a/runtime/observatory_2/tests/service_2/get_source_report_test.dart
+++ b/runtime/observatory_2/tests/service_2/get_source_report_test.dart
@@ -73,12 +73,12 @@
var expectedRange = {
'scriptIndex': 0,
- 'startPos': 432,
- 'endPos': 576,
+ 'startPos': 426,
+ 'endPos': 570,
'compiled': true,
'coverage': {
- 'hits': [432, 482, 533, 562],
- 'misses': [495],
+ 'hits': [426, 476, 527, 556],
+ 'misses': [489],
}
};
@@ -91,7 +91,7 @@
final numRanges = coverage['ranges'].length;
expect(coverage['type'], equals('SourceReport'));
- expect(numRanges, equals(12));
+ expect(numRanges, equals(10));
expect(coverage['ranges'][0], equals(expectedRange));
expect(coverage['scripts'].length, 1);
expect(
@@ -106,7 +106,7 @@
};
coverage = await isolate.invokeRpcNoUpgrade('getSourceReport', params);
expect(coverage['type'], equals('SourceReport'));
- expect(coverage['ranges'].length, numRanges);
+ expect(coverage['ranges'].length, 11);
expect(allRangesCompiled(coverage), isTrue);
// One function
diff --git a/runtime/observatory_2/tests/service_2/get_version_rpc_test.dart b/runtime/observatory_2/tests/service_2/get_version_rpc_test.dart
index 468e979..d5450e5 100644
--- a/runtime/observatory_2/tests/service_2/get_version_rpc_test.dart
+++ b/runtime/observatory_2/tests/service_2/get_version_rpc_test.dart
@@ -12,7 +12,7 @@
var result = await vm.invokeRpcNoUpgrade('getVersion', {});
expect(result['type'], equals('Version'));
expect(result['major'], equals(3));
- expect(result['minor'], equals(39));
+ expect(result['minor'], equals(40));
expect(result['_privateMajor'], equals(0));
expect(result['_privateMinor'], equals(0));
},
diff --git a/runtime/observatory_2/tests/service_2/step_through_setter_test.dart b/runtime/observatory_2/tests/service_2/step_through_setter_test.dart
index aa40fb1..bff5b7d 100644
--- a/runtime/observatory_2/tests/service_2/step_through_setter_test.dart
+++ b/runtime/observatory_2/tests/service_2/step_through_setter_test.dart
@@ -28,7 +28,7 @@
_xyz = i - 1;
}
- get barXYZ => _xyz + 1;
+ int get barXYZ => _xyz + 1;
}
List<String> stops = [];
diff --git a/tools/VERSION b/tools/VERSION
index 2f9367b..0e1fae3 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 11
PATCH 0
-PRERELEASE 252
+PRERELEASE 253
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/try_benchmarks.sh b/tools/bots/try_benchmarks.sh
index 993294a..8407171 100755
--- a/tools/bots/try_benchmarks.sh
+++ b/tools/bots/try_benchmarks.sh
@@ -338,8 +338,8 @@
third_party/d8/linux/x64/d8 --stack_size=1024 sdk/lib/_internal/js_runtime/lib/preambles/d8.js out.js
out/ReleaseX64/dart-sdk/bin/dart pkg/dev_compiler/tool/ddb -r d8 -b third_party/d8/linux/x64/d8 hello.dart
out/ReleaseX64/dart-sdk/bin/dart pkg/dev_compiler/tool/ddb -r d8 -b third_party/d8/linux/x64/d8 --mode=compile --compile-vm-options=--print-metrics --packages=.packages --out out.js hello.dart
- out/ReleaseX64/dart-sdk/bin/dart pkg/dev_compiler/tool/ddb -r d8 -b third_party/d8/linux/x64/d8 --enable-experiment=non-nullable --sound-null-safety --debug hello.dart
- out/ReleaseX64/dart-sdk/bin/dart pkg/dev_compiler/tool/ddb -r d8 -b third_party/d8/linux/x64/d8 --enable-experiment=non-nullable --sound-null-safety --debug --mode=compile --compile-vm-options=--print-metrics --packages=.packages --out out.js hello.dart
+ out/ReleaseX64/dart-sdk/bin/dart pkg/dev_compiler/tool/ddb -r d8 -b third_party/d8/linux/x64/d8 --enable-experiment=non-nullable --sound-null-safety hello.dart
+ out/ReleaseX64/dart-sdk/bin/dart pkg/dev_compiler/tool/ddb -r d8 -b third_party/d8/linux/x64/d8 --enable-experiment=non-nullable --sound-null-safety --mode=compile --compile-vm-options=--print-metrics --packages=.packages --out out.js hello.dart
out/ReleaseX64/dart pkg/front_end/tool/perf.dart parse hello.dart
out/ReleaseX64/dart pkg/front_end/tool/perf.dart scan hello.dart
out/ReleaseX64/dart pkg/front_end/tool/fasta_perf.dart kernel_gen_e2e hello.dart