d29cd4f183
- and make toString more structured. Change-Id: If62cfb8e7ee110db6dfb713236e119e7e2f0e244 Reviewed-on: https://dart-review.googlesource.com/22401 Reviewed-by: Stephen Adams <sra@google.com>
131 lines
4.8 KiB
Dart
131 lines
4.8 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.
|
|
|
|
/*element: main:[null]*/
|
|
main() {
|
|
simpleConditional();
|
|
simpleConditionalTrue();
|
|
simpleConditionalFalse();
|
|
conditionalIs();
|
|
conditionalIsInt();
|
|
conditionalIsNot();
|
|
conditionalIsNotInt();
|
|
conditionalNull();
|
|
conditionalNotNull();
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Simple conditional with unknown condition value.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/*element: _simpleConditional:Union([exact=JSString], [exact=JSUInt31])*/
|
|
_simpleConditional(/*[exact=JSBool]*/ c) => c ? '' : 0;
|
|
|
|
/*element: simpleConditional:[null]*/
|
|
simpleConditional() {
|
|
_simpleConditional(true);
|
|
_simpleConditional(false);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Simple conditional with unknown condition value.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/*element: _simpleConditionalTrue:Union([exact=JSString], [exact=JSUInt31])*/
|
|
_simpleConditionalTrue(/*Value([exact=JSBool], value: true)*/ c) => c ? '' : 0;
|
|
|
|
/*element: simpleConditionalTrue:[null]*/
|
|
simpleConditionalTrue() {
|
|
_simpleConditionalTrue(true);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Simple conditional with unknown condition value.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/*element: _simpleConditionalFalse:Union([exact=JSString], [exact=JSUInt31])*/
|
|
_simpleConditionalFalse(/*Value([exact=JSBool], value: false)*/ c) =>
|
|
c ? '' : 0;
|
|
|
|
/*element: simpleConditionalFalse:[null]*/
|
|
simpleConditionalFalse() {
|
|
_simpleConditionalFalse(false);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Conditional with an is test.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*element: _conditionalIs:Union([exact=JSString], [subclass=JSPositiveInt])*/
|
|
_conditionalIs(/*[null|exact=JSUInt31]*/ o) =>
|
|
o is int ? o. /*invoke: [exact=JSUInt31]*/ abs() : '';
|
|
|
|
/*element: conditionalIs:[null]*/
|
|
conditionalIs() {
|
|
_conditionalIs(null);
|
|
_conditionalIs(1);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Conditional with an is `int` test known to be true.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*element: _conditionalIsInt:Union([exact=JSString], [subclass=JSPositiveInt])*/
|
|
_conditionalIsInt(/*[exact=JSUInt31]*/ o) =>
|
|
o is int ? o. /*invoke: [exact=JSUInt31]*/ abs() : '';
|
|
|
|
/*element: conditionalIsInt:[null]*/
|
|
conditionalIsInt() {
|
|
_conditionalIsInt(1);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Conditional with an is-not test.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*element: _conditionalIsNot:Union([exact=JSString], [subclass=JSPositiveInt])*/
|
|
_conditionalIsNot(/*[null|exact=JSUInt31]*/ o) =>
|
|
o is! int ? '' : o. /*invoke: [exact=JSUInt31]*/ abs();
|
|
|
|
/*element: conditionalIsNot:[null]*/
|
|
conditionalIsNot() {
|
|
_conditionalIsNot(null);
|
|
_conditionalIsNot(1);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Conditional with an is-not `int` test known to be false.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*element: _conditionalIsNotInt:Union([exact=JSString], [subclass=JSPositiveInt])*/
|
|
_conditionalIsNotInt(/*[exact=JSUInt31]*/ o) =>
|
|
o is! int ? '' : o. /*invoke: [exact=JSUInt31]*/ abs();
|
|
|
|
/*element: conditionalIsNotInt:[null]*/
|
|
conditionalIsNotInt() {
|
|
_conditionalIsNotInt(1);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Conditional with an is test.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*element: _conditionalNull:Union([exact=JSString], [subclass=JSPositiveInt])*/
|
|
_conditionalNull(/*[null|exact=JSUInt31]*/ o) =>
|
|
o == null ? '' : o. /*invoke: [exact=JSUInt31]*/ abs();
|
|
|
|
/*element: conditionalNull:[null]*/
|
|
conditionalNull() {
|
|
_conditionalNull(null);
|
|
_conditionalNull(1);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/// Conditional with an is `int` test known to be true.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
/*element: _conditionalNotNull:Union([exact=JSString], [subclass=JSPositiveInt])*/
|
|
_conditionalNotNull(/*[null|exact=JSUInt31]*/ o) =>
|
|
o != null ? o. /*invoke: [exact=JSUInt31]*/ abs() : '';
|
|
|
|
/*element: conditionalNotNull:[null]*/
|
|
conditionalNotNull() {
|
|
_conditionalNotNull(null);
|
|
_conditionalNotNull(1);
|
|
}
|