// 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() { ifNull(); ifNotNullInvoke(); notIfNotNullInvoke(); } //////////////////////////////////////////////////////////////////////////////// // If-null on parameter. //////////////////////////////////////////////////////////////////////////////// /*member: _ifNull:[exact=JSUInt31]*/ _ifNull(/*[null|exact=JSUInt31]*/ o) => o ?? 0; /*member: ifNull:[null]*/ ifNull() { _ifNull(null); _ifNull(0); } //////////////////////////////////////////////////////////////////////////////// // If-not-null access on parameter. //////////////////////////////////////////////////////////////////////////////// /*member: _ifNotNullInvoke:[null|exact=JSBool]*/ _ifNotNullInvoke(/*[null|exact=JSUInt31]*/ o) { return o?. /*[exact=JSUInt31]*/ isEven; } /*member: ifNotNullInvoke:[null]*/ ifNotNullInvoke() { _ifNotNullInvoke(null); _ifNotNullInvoke(0); } //////////////////////////////////////////////////////////////////////////////// // As above but unconditional access. //////////////////////////////////////////////////////////////////////////////// /*member: _notIfNotNullInvoke:[exact=JSBool]*/ _notIfNotNullInvoke(/*[null|exact=JSUInt31]*/ o) { return o. /*[null|exact=JSUInt31]*/ isEven; } /*member: notIfNotNullInvoke:[null]*/ notIfNotNullInvoke() { _notIfNotNullInvoke(null); _notIfNotNullInvoke(0); }