fc158b1616
Change-Id: I2351571a665c8ffff8e9d57649fbf42b483e747b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142983 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Mayank Patke <fishythefish@google.com>
147 lines
3.3 KiB
Dart
147 lines
3.3 KiB
Dart
// Copyright (c) 2017, 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: main:[null]*/
|
|
main() {
|
|
returnInClosure();
|
|
accessInClosure();
|
|
invokeInClosure();
|
|
operatorInClosure();
|
|
assignInClosure();
|
|
assignInTwoClosures();
|
|
accessAssignInClosure();
|
|
accessBeforeAssignInClosure();
|
|
accessAfterAssignInClosure();
|
|
compoundInClosure();
|
|
postfixInClosure();
|
|
}
|
|
|
|
/*member: returnInClosure:[exact=JSUInt31]*/
|
|
returnInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[exact=JSUInt31]*/ () {
|
|
return lines;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: accessInClosure:[exact=JSUInt31]*/
|
|
accessInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[exact=JSBool]*/ () {
|
|
return lines. /*[exact=JSUInt31]*/ isEven;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: invokeInClosure:[exact=JSUInt31]*/
|
|
invokeInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[subclass=JSNumber]*/ () {
|
|
return lines. /*invoke: [exact=JSUInt31]*/ ceilToDouble();
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: operatorInClosure:[exact=JSUInt31]*/
|
|
operatorInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[subclass=JSInt]*/ () {
|
|
return lines /*invoke: [exact=JSUInt31]*/ - 42;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: assignInClosure:[subclass=JSInt]*/
|
|
assignInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[null]*/ () {
|
|
lines = -42;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: assignInTwoClosures:[subclass=JSInt]*/
|
|
assignInTwoClosures() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[null]*/ () {
|
|
lines = -42;
|
|
});
|
|
local(/*[null]*/ () {
|
|
lines = -87;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: accessAssignInClosure:[subclass=JSInt]*/
|
|
accessAssignInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[null]*/ () {
|
|
lines = lines /*invoke: [subclass=JSInt]*/ - 42;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: accessBeforeAssignInClosure:[exact=JSUInt31]*/
|
|
accessBeforeAssignInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[null]*/ () {
|
|
lines /*invoke: [exact=JSUInt31]*/ - 42;
|
|
lines = 42;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: accessAfterAssignInClosure:[exact=JSUInt31]*/
|
|
accessAfterAssignInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[subclass=JSInt]*/ () {
|
|
lines = 42;
|
|
return lines /*invoke: [exact=JSUInt31]*/ - 42;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: compoundInClosure:[subclass=JSInt]*/
|
|
compoundInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[null]*/ () {
|
|
lines /*invoke: [subclass=JSInt]*/ -= 42;
|
|
});
|
|
return lines;
|
|
}
|
|
|
|
/*member: postfixInClosure:[subclass=JSPositiveInt]*/
|
|
postfixInClosure() {
|
|
/*[null|subclass=Object]*/ local(/*[subclass=Closure]*/ f) => f();
|
|
|
|
int lines = 0;
|
|
local(/*[null]*/ () {
|
|
lines /*invoke: [subclass=JSPositiveInt]*/ ++;
|
|
});
|
|
return lines;
|
|
}
|