| // 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: main:[null]*/ |
| main() { |
| ifThenNullCheck(0); |
| ifThenNullCheck(null); |
| ifThenElseNullCheck(0); |
| ifThenElseNullCheck(null); |
| ifNotThenNullCheck(0); |
| ifNotThenNullCheck(null); |
| ifNotThenElseNullCheck(0); |
| ifNotThenElseNullCheck(null); |
| ifThenNotNullComplexCheck(0, 0); |
| ifThenNotNullComplexCheck(null, null); |
| ifThenElseNotNullComplexCheck(0, 0); |
| ifThenElseNotNullComplexCheck(null, null); |
| ifThenNotNullGradualCheck1(0, 0); |
| ifThenNotNullGradualCheck1(null, 0); |
| ifThenNotNullGradualCheck2(0, 0); |
| ifThenNotNullGradualCheck2(null, 0); |
| } |
| |
| /*member: ifThenNullCheck:[exact=JSUInt31]*/ |
| ifThenNullCheck(int /*[null|exact=JSUInt31]*/ value) { |
| if (value /*invoke: [null|subclass=JSInt]*/ == null) { |
| return 0; |
| } |
| return value; |
| } |
| |
| /*member: ifThenElseNullCheck:[exact=JSUInt31]*/ |
| ifThenElseNullCheck(int /*[null|exact=JSUInt31]*/ value) { |
| if (value /*invoke: [null|subclass=JSInt]*/ == null) { |
| return 0; |
| } else { |
| return value; |
| } |
| } |
| |
| /*member: ifNotThenNullCheck:[exact=JSUInt31]*/ |
| ifNotThenNullCheck(int /*[null|exact=JSUInt31]*/ value) { |
| if (value /*invoke: [null|subclass=JSInt]*/ != null) { |
| return value; |
| } |
| return 0; |
| } |
| |
| /*member: ifNotThenElseNullCheck:[exact=JSUInt31]*/ |
| ifNotThenElseNullCheck(int /*[null|exact=JSUInt31]*/ value) { |
| if (value /*invoke: [null|subclass=JSInt]*/ != null) { |
| return value; |
| } else { |
| return 0; |
| } |
| } |
| |
| /*member: ifThenNotNullComplexCheck:[exact=JSUInt31]*/ |
| ifThenNotNullComplexCheck( |
| int /*[null|exact=JSUInt31]*/ a, int /*[null|exact=JSUInt31]*/ b) { |
| if (a /*invoke: [null|subclass=JSInt]*/ != null && |
| a /*invoke: [exact=JSUInt31]*/ != b) { |
| return a; |
| } |
| return 0; |
| } |
| |
| /*member: ifThenElseNotNullComplexCheck:[null|exact=JSUInt31]*/ |
| ifThenElseNotNullComplexCheck( |
| int /*[null|exact=JSUInt31]*/ a, int /*[null|exact=JSUInt31]*/ b) { |
| if (a /*invoke: [null|subclass=JSInt]*/ != null && |
| a /*invoke: [exact=JSUInt31]*/ != b) { |
| return a; |
| } |
| return a; |
| } |
| |
| /*member: ifThenNotNullGradualCheck1:[exact=JSUInt31]*/ |
| ifThenNotNullGradualCheck1( |
| int /*[null|exact=JSUInt31]*/ a, int /*[exact=JSUInt31]*/ b) { |
| if (a /*invoke: [null|exact=JSUInt31]*/ != b) { |
| if (a /*invoke: [null|subclass=JSInt]*/ != null) { |
| return a; |
| } |
| } |
| return 0; |
| } |
| |
| /*member: ifThenNotNullGradualCheck2:[exact=JSUInt31]*/ |
| ifThenNotNullGradualCheck2( |
| int /*[null|exact=JSUInt31]*/ a, int /*[exact=JSUInt31]*/ b) { |
| if (a /*invoke: [null|subclass=JSInt]*/ != null) { |
| if (a /*invoke: [exact=JSUInt31]*/ != b) { |
| return a; |
| } |
| } |
| return 0; |
| } |