blob: 2514101998b6c03c81e5679b1fea522099cccf0e [file] [log] [blame]
40 columns |
>>> arithmetic operators
var a=1+2/(3*-b~/4);
<<<
var a = 1 + 2 / (3 * -b ~/ 4);
>>> conditional operator
var c=!condition==a>b;
<<<
var c = !condition == a > b;
>>>
var d=condition?b:obj.foo(a, b);
<<<
var d = condition ? b : obj.foo(a, b);
>>> as
identifier as TypeName;
<<<
identifier as TypeName;
>>> is
identifier is TypeName;
<<<
identifier is TypeName;
>>> nullable is
identifier is TypeName ?;
<<<
identifier is TypeName?;
>>> is!
var d=obj is!SomeType;
<<<
var d = obj is! SomeType;
>>> generic list literal
< int >[1,2,(3+4)];
<<<
<int>[1, 2, (3 + 4)];
>>>
x &&
y;
<<<
x && y;
>>> unqualified symbol
var x = #foo;
<<<
var x = #foo;
>>> qualified symbol
var y=#foo.bar.baz;
<<<
var y = #foo.bar.baz;
>>> long string literal
throw new FormatException("This is a long exception message.");
<<<
throw new FormatException(
"This is a long exception message.");
>>>
assert(false);
<<<
assert(false);
>>> DON'T indent lines that are continued with a function expression.
new Future(new Duration(1), () {
print('I am a callback');
});
<<<
new Future(new Duration(1), () {
print('I am a callback');
});
>>> DO use a space after : in named arguments.
new ListBox(showScrollbars :true);
<<<
new ListBox(showScrollbars: true);
>>> multiple prefix operators
- ~ ! foo;
<<<
-~!foo;
>>> sequential "-" operators are not joined
- - - -foo;
<<<
- - - -foo;
>>> a "-" operator before a negative integer is not joined
- -1;
<<<
- -1;
>>> a "-" operator before a negative floating point number is not joined
- -1.2;
<<<
- -1.2;
>>> "-" before a "--" is not joined
- -- foo;
<<<
- --foo;
>>> multiline string inside nested blocks
main() {
inner() {
function("""
string""");
}
}
<<<
main() {
inner() {
function("""
string""");
}
}
>>> null coalescing operator
argument?? argument;
<<<
argument ?? argument;
>>> ?. operator
receiver ?. method() ?. getter;
<<<
receiver?.method()?.getter;
>>> null coalescing self assignment
variableName??=argument;
<<<
variableName ??= argument;
>>> trailing comma in single argument list
function(argument , );
<<<
function(
argument,
);
>>> trailing comma in argument list
function(argument,argument , );
<<<
function(
argument,
argument,
);
>>> trailing comma in named argument list
function(named: arg,another:arg, );
<<<
function(
named: arg,
another: arg,
);
>>> generic method call
method <int,String , bool> ();
<<<
method<int, String, bool>();
>>> inside interpolation
" ${ interp+olate } and ${fn ( 1 ) } end";
<<<
" ${interp + olate} and ${fn(1)} end";
>>> simple null assertion
obj ! ;
<<<
obj!;
>>> trailing method
obj . method() ! ;
<<<
obj.method()!;
>>> trailing property
obj . prop ! ;
<<<
obj.prop!;
>>> null assertion in method chain
obj ! . getter ! . method ( arg ) ! + 3;
<<<
obj!.getter!.method(arg)! + 3;
>>> null assertion before index and call operators
obj ! [ index ] ! ( call ) ! + 3;
<<<
obj![index]!(call)! + 3;
>>> null-aware index expressions
obj ?.[ foo];
<<<
obj?.[foo];