blob: 42a1d9f33cbbfe81f7f5c20e1fdfd23096cb23c6 [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.
/*member: closure:[exact=JSUInt31]*/
int closure(
int
/*strong.Union([exact=JSDouble], [exact=JSUInt31])*/
/*omit.[exact=JSUInt31]*/
/*strongConst.Union([exact=JSDouble], [exact=JSUInt31])*/
/*omitConst.[exact=JSUInt31]*/
x) {
return x;
}
class A {
/*strong.member: A.DEFAULT:Dictionary([subclass=ConstantMap], key: Value([exact=JSString], value: "fun"), value: [null|subclass=Closure], map: {fun: [subclass=Closure]})*/
/*omit.member: A.DEFAULT:Dictionary([subclass=ConstantMap], key: Value([exact=JSString], value: "fun"), value: [null|subclass=Closure], map: {fun: [subclass=Closure]})*/
static const DEFAULT = const {'fun': closure};
/*member: A.map:Dictionary([subclass=ConstantMap], key: Value([exact=JSString], value: "fun"), value: [null|subclass=Closure], map: {fun: [subclass=Closure]})*/
final map;
/*member: A.:[exact=A]*/
A([/*[null]*/ maparg]) : map = maparg == null ? DEFAULT : maparg;
}
/*member: main:[null]*/
main() {
var a = new A();
a. /*[exact=A]*/ map
/*Dictionary([subclass=ConstantMap], key: Value([exact=JSString], value: "fun"), value: [null|subclass=Closure], map: {fun: [subclass=Closure]})*/
['fun'](3.3);
print(closure(22));
}