Files
sdk/tests/compiler/dart2js/inference/data/const_closure.dart
T
Johnni Winther 7dd4259d87 Handle ir constants in inferrer
Change-Id: Ie7b6ff9e62b3b8c78f6c04359cb72f77b249440c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97240
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-03-21 11:25:40 +00:00

39 lines
872 B
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.
/*element: method1:[exact=JSUInt31]*/
method1() {
return 42;
}
/*element: method2:[exact=JSUInt31]*/
method2(/*[exact=JSUInt31]*/ a) {
// Called only via [foo2] with a small integer.
return a;
}
/*strong.element: foo1:[subclass=Closure]*/
/*omit.element: foo1:[subclass=Closure]*/
const foo1 = method1;
/*strong.element: foo2:[subclass=Closure]*/
/*omit.element: foo2:[subclass=Closure]*/
const foo2 = method2;
/*element: returnInt1:[null|subclass=Object]*/
returnInt1() {
return foo1();
}
/*element: returnInt2:[null|subclass=Object]*/
returnInt2() {
return foo2(54);
}
/*element: main:[null]*/
main() {
returnInt1();
returnInt2();
}