blob: b86e96f1eb51f0656fc135a4618fc9447d0256e9 [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.md file.
const excludedAlways = const Object();
const excludedOutline = const Object();
const forClassField = const Object();
const forFormalParameter = const Object();
const forMethod1 = const Object();
const forMethod2 = const Object();
const forSubexpression1 = const Object();
const forSubexpression2 = const Object();
const forTopLevelFunction = const Object();
const forTypedef = const Object();
const forTypeParameter = const Object();
@forTopLevelFunction
int publicFunction1(@forFormalParameter int p) => 0;
@excludedAlways
int publicFunction2(@excludedAlways int p) => 0;
@excludedAlways
int _privateFunction(@excludedAlways int p) => 0;
@forTypedef
typedef void F1();
@excludedAlways
typedef void F2();
class B1 {
const B1(_);
}
class B2 {
const B2(_);
}
class B3 {
const B3(_);
}
class C1 {
@forClassField
int publicField;
@excludedAlways
int _privateField;
@forMethod1
void publicMethod1() {}
@B1(forSubexpression1)
void publicMethod2() {}
@excludedAlways
void _privateMethod() {}
}
class C2<@forTypeParameter T> {
T field;
}