blob: 0e6335d28f958ad69d18d6b07655624ad31fda67 [file] [log] [blame]
// 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=JSDouble], [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();
}