cb06d6c86a
JSDouble was really "double *excluding integral values*". This was confusing, with JSDouble sometimes used assuming it was all doubles. Rename JSDouble to JSNumNotInt to avoid future errors like #44818 Change-Id: I96bf33d5531b94aaf33b582e584702f47ed50395 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183201 Commit-Queue: Stephen Adams <sra@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com>
138 lines
2.7 KiB
Dart
138 lines
2.7 KiB
Dart
// Copyright (c) 2018, 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.
|
|
|
|
// @dart = 2.7
|
|
|
|
/*member: returnInt1:[exact=JSUInt31]*/
|
|
returnInt1() {
|
|
var a = 42;
|
|
// ignore: unused_local_variable
|
|
var f = /*[exact=JSUInt31]*/ () {
|
|
return a;
|
|
};
|
|
return a;
|
|
}
|
|
|
|
/*member: returnDyn1:Union([exact=JSUInt31], [subclass=JsLinkedHashMap])*/
|
|
returnDyn1() {
|
|
dynamic a = 42;
|
|
// ignore: unused_local_variable
|
|
var f = /*[null]*/ () {
|
|
a = {};
|
|
};
|
|
return a;
|
|
}
|
|
|
|
/*member: returnInt2:[exact=JSUInt31]*/
|
|
returnInt2() {
|
|
var a = 42;
|
|
// ignore: unused_local_variable
|
|
var f = /*[null]*/ () {
|
|
a = 54;
|
|
};
|
|
return a;
|
|
}
|
|
|
|
/*member: returnDyn2:Union([exact=JSUInt31], [subclass=JsLinkedHashMap])*/
|
|
returnDyn2() {
|
|
dynamic a = 42;
|
|
// ignore: unused_local_variable
|
|
var f = /*[null]*/ () {
|
|
a = 54;
|
|
};
|
|
// ignore: unused_local_variable
|
|
var g = /*[null]*/ () {
|
|
a = {};
|
|
};
|
|
return a;
|
|
}
|
|
|
|
/*member: returnInt3:[exact=JSUInt31]*/
|
|
returnInt3() {
|
|
var a = 42;
|
|
if (a /*invoke: [exact=JSUInt31]*/ == 53) {
|
|
// ignore: unused_local_variable
|
|
var f = /*[exact=JSUInt31]*/ () {
|
|
return a;
|
|
};
|
|
}
|
|
return a;
|
|
}
|
|
|
|
/*member: returnDyn3:Union([exact=JSUInt31], [subclass=JsLinkedHashMap])*/
|
|
returnDyn3() {
|
|
dynamic a = 42;
|
|
if (a /*invoke: Union([exact=JSUInt31], [subclass=JsLinkedHashMap])*/ == 53) {
|
|
// ignore: unused_local_variable
|
|
var f = /*[null]*/ () {
|
|
a = {};
|
|
};
|
|
}
|
|
return a;
|
|
}
|
|
|
|
/*member: returnInt4:[exact=JSUInt31]*/
|
|
returnInt4() {
|
|
var a = 42;
|
|
/*[exact=JSUInt31]*/ g() {
|
|
return a;
|
|
}
|
|
|
|
return g();
|
|
}
|
|
|
|
/*member: returnNum1:Union([exact=JSNumNotInt], [exact=JSUInt31])*/
|
|
returnNum1() {
|
|
dynamic a = 42.5;
|
|
try {
|
|
/*[exact=JSUInt31]*/ g() {
|
|
dynamic b = {};
|
|
b = 42;
|
|
return b;
|
|
}
|
|
|
|
a = g();
|
|
} finally {}
|
|
return a;
|
|
}
|
|
|
|
/*member: returnIntOrNull:[null|exact=JSUInt31]*/
|
|
returnIntOrNull() {
|
|
/*iterator: Container([exact=JSExtendableArray], element: [exact=JSUInt31], length: 1)*/
|
|
/*current: [exact=ArrayIterator]*/
|
|
/*moveNext: [exact=ArrayIterator]*/
|
|
for (
|
|
// ignore: unused_local_variable
|
|
var b in [42]) {
|
|
var bar = 42;
|
|
/*[null|exact=JSUInt31]*/ f() => bar;
|
|
bar = null;
|
|
return f();
|
|
}
|
|
return 42;
|
|
}
|
|
|
|
/*member: A.:[exact=A]*/
|
|
class A {
|
|
/*member: A.foo:[exact=A]*/
|
|
foo() {
|
|
/*[exact=A]*/ f() => this;
|
|
return f();
|
|
}
|
|
}
|
|
|
|
/*member: main:[null]*/
|
|
main() {
|
|
returnInt1();
|
|
returnDyn1();
|
|
returnInt2();
|
|
returnDyn2();
|
|
returnInt3();
|
|
returnDyn3();
|
|
returnInt4();
|
|
returnNum1();
|
|
returnIntOrNull();
|
|
new A(). /*invoke: [exact=A]*/ foo();
|
|
}
|