blob: 393218076f2605e44b658a3666a959b872ca6bdb [file] [log] [blame]
40 columns |
>>> force newline before directives
@deprecated library foo;
@deprecated import 'dart:io';
@deprecated export 'dart:io';
<<<
@deprecated
library foo;
@deprecated
import 'dart:io';
@deprecated
export 'dart:io';
>>> force newline before types
@meta class X {}
@meta class Y = X with Z;
@meta typedef void X(y);
<<<
@meta
class X {}
@meta
class Y = X with Z;
@meta
typedef void X(y);
>>> force newline before variable declarations
foo() {
@meta var a;
@meta
var b;
@a @b
var c;
}
<<<
foo() {
@meta
var a;
@meta
var b;
@a
@b
var c;
}
>>> allow inline annotations before functions
@meta foo() {}
<<<
@meta foo() {}
>>> allow newline before functions
@meta
foo() {}
<<<
@meta
foo() {}
>>> allow inline annotations before members
class X {
@meta var _x;
@meta X.y();
@meta factory X(x) => null;
@meta int x() => null;
}
<<<
class X {
@meta var _x;
@meta X.y();
@meta factory X(x) => null;
@meta int x() => null;
}
>>> allow newline before members
class X {
@meta
var _x;
@meta
X.y();
@meta
factory X(x) => null;
@meta
int x() => null;
}
<<<
class X {
@meta
var _x;
@meta
X.y();
@meta
factory X(x) => null;
@meta
int x() => null;
}
>>> collapse newlines between annotations
@a
@b
@c
class A {}
<<<
@a
@b
@c
class A {}
>>> multiple top-level annotations always get their own line
@a @b class A {}
<<<
@a
@b
class A {}
>>> multiple member annotations always get their own line
class A {
@a @b void foo() {}
}
<<<
class A {
@a
@b
void foo() {}
}
>>> parameter annotations are inline
foo(
@a
@b
param) {}
<<<
foo(@a @b param) {}
>>> type parameter annotations are inline
class Foo<
@a
@b
T> {}
<<<
class Foo<@a @b T> {}
>>> comment after metadata
@DomName('DatabaseCallback')
@Experimental() // deprecated
typedef void DatabaseCallback(database);
<<<
@DomName('DatabaseCallback')
@Experimental() // deprecated
typedef void DatabaseCallback(database);
>>> comment between metadata
@DomName('DatabaseCallback') // deprecated
@Experimental()
typedef void DatabaseCallback(database);
<<<
@DomName(
'DatabaseCallback') // deprecated
@Experimental()
typedef void DatabaseCallback(database);
>>> metadata on top-level variables
@DomName('DatabaseCallback')
@Experimental()
var variable;
<<<
@DomName('DatabaseCallback')
@Experimental()
var variable;
>>> metadata on parameters
main(@foo @bar param) {}
<<<
main(@foo @bar param) {}
>>> metadata on initializing formal
class Foo {
Foo(@bar this.field);
}
<<<
class Foo {
Foo(@bar this.field);
}
>>> metadata on function-typed formal parameter
withReturnType(@foo @bar int fn(@foo param)) {}
withoutReturnType(@foo @bar fn(@foo param)) {}
<<<
withReturnType(
@foo @bar int fn(@foo param)) {}
withoutReturnType(
@foo @bar fn(@foo param)) {}
>>> metadata on default formal parameter
positional([@foo bar]) {}
named({@foo bar}) {}
<<<
positional([@foo bar]) {}
named({@foo bar}) {}