blob: 2b4da19ad40c6ead44acd40626e2750a1e6411f4 [file] [log] [blame]
// Copyright (c) 2016, 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.
/**
* @assertion Let T be the static type of o. It is a static type warning if T
* does not have an accessible instance member named m unless either:
* • T or a superinterface of T is annotated with an annotation denoting a
* constant identical to the constant @proxy defined in dart:core. Or
* • T is Type, e is a constant type literal and the class corresponding to e
* has a static getter named m.
* • T is Function and m is call. The type Function is treated as if it has a
* call method for any possible signature of call. The expectation is that
* any concrete subclass of Function will implement call. Note that a warning
* will be issue if this is not the case. Furthermore, any use of call on a
* subclass of Function that fails to implement call will also provoke a
* warning, as this exemption is limited to type Function, and does not apply
* to its subtypes.
* @description Checks that there is no static type warning if T is a constant
* type literal and the class corresponding to e has a static getter named m.
* @static-clean
* @author ngl@unipro.ru
*/
class C {
static get staticget => () {return 3;};
}
main() {
C.staticget();
}