blob: 3e16c64401b9519d920480f7f9b21a3ab770a354 [file] [log] [blame]
// 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() {
simpleConditional();
simpleConditionalTrue();
simpleConditionalFalse();
conditionalIs();
conditionalIsInt();
conditionalIsNot();
conditionalIsNotInt();
conditionalNull();
conditionalNotNull();
}
////////////////////////////////////////////////////////////////////////////////
/// Simple conditional with unknown condition value.
////////////////////////////////////////////////////////////////////////////////
/*member: _simpleConditional:Union([exact=JSString], [exact=JSUInt31])*/
_simpleConditional(/*[exact=JSBool]*/ c) => c ? '' : 0;
/*member: simpleConditional:[null]*/
simpleConditional() {
_simpleConditional(true);
_simpleConditional(false);
}
////////////////////////////////////////////////////////////////////////////////
/// Simple conditional with unknown condition value.
////////////////////////////////////////////////////////////////////////////////
/*member: _simpleConditionalTrue:Union([exact=JSString], [exact=JSUInt31])*/
_simpleConditionalTrue(/*Value([exact=JSBool], value: true)*/ c) => c ? '' : 0;
/*member: simpleConditionalTrue:[null]*/
simpleConditionalTrue() {
_simpleConditionalTrue(true);
}
////////////////////////////////////////////////////////////////////////////////
/// Simple conditional with unknown condition value.
////////////////////////////////////////////////////////////////////////////////
/*member: _simpleConditionalFalse:Union([exact=JSString], [exact=JSUInt31])*/
_simpleConditionalFalse(/*Value([exact=JSBool], value: false)*/ c) =>
c ? '' : 0;
/*member: simpleConditionalFalse:[null]*/
simpleConditionalFalse() {
_simpleConditionalFalse(false);
}
////////////////////////////////////////////////////////////////////////////////
/// Conditional with an is test.
////////////////////////////////////////////////////////////////////////////////
/*member: _conditionalIs:Union([exact=JSString], [subclass=JSPositiveInt])*/
_conditionalIs(/*[null|exact=JSUInt31]*/ o) =>
o is int ? o. /*invoke: [exact=JSUInt31]*/ abs() : '';
/*member: conditionalIs:[null]*/
conditionalIs() {
_conditionalIs(null);
_conditionalIs(1);
}
////////////////////////////////////////////////////////////////////////////////
/// Conditional with an is `int` test known to be true.
////////////////////////////////////////////////////////////////////////////////
/*member: _conditionalIsInt:Union([exact=JSString], [subclass=JSPositiveInt])*/
_conditionalIsInt(/*[exact=JSUInt31]*/ o) =>
o is int ? o. /*invoke: [exact=JSUInt31]*/ abs() : '';
/*member: conditionalIsInt:[null]*/
conditionalIsInt() {
_conditionalIsInt(1);
}
////////////////////////////////////////////////////////////////////////////////
/// Conditional with an is-not test.
////////////////////////////////////////////////////////////////////////////////
/*member: _conditionalIsNot:Union([exact=JSString], [subclass=JSPositiveInt])*/
_conditionalIsNot(/*[null|exact=JSUInt31]*/ o) =>
o is! int ? '' : o. /*invoke: [exact=JSUInt31]*/ abs();
/*member: conditionalIsNot:[null]*/
conditionalIsNot() {
_conditionalIsNot(null);
_conditionalIsNot(1);
}
////////////////////////////////////////////////////////////////////////////////
/// Conditional with an is-not `int` test known to be false.
////////////////////////////////////////////////////////////////////////////////
/*member: _conditionalIsNotInt:Union([exact=JSString], [subclass=JSPositiveInt])*/
_conditionalIsNotInt(/*[exact=JSUInt31]*/ o) =>
o is! int ? '' : o. /*invoke: [exact=JSUInt31]*/ abs();
/*member: conditionalIsNotInt:[null]*/
conditionalIsNotInt() {
_conditionalIsNotInt(1);
}
////////////////////////////////////////////////////////////////////////////////
/// Conditional with an is test.
////////////////////////////////////////////////////////////////////////////////
/*member: _conditionalNull:Union([exact=JSString], [subclass=JSPositiveInt])*/
_conditionalNull(/*[null|exact=JSUInt31]*/ o) =>
o == null ? '' : o. /*invoke: [exact=JSUInt31]*/ abs();
/*member: conditionalNull:[null]*/
conditionalNull() {
_conditionalNull(null);
_conditionalNull(1);
}
////////////////////////////////////////////////////////////////////////////////
/// Conditional with an is `int` test known to be true.
////////////////////////////////////////////////////////////////////////////////
/*member: _conditionalNotNull:Union([exact=JSString], [subclass=JSPositiveInt])*/
_conditionalNotNull(/*[null|exact=JSUInt31]*/ o) =>
o != null ? o. /*invoke: [exact=JSUInt31]*/ abs() : '';
/*member: conditionalNotNull:[null]*/
conditionalNotNull() {
_conditionalNotNull(null);
_conditionalNotNull(1);
}