// 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.md file. // @dart=2.9 class Foo { static const staticConstant = 42; static var staticField = 42; static staticFunction() {} static get staticGetter => null; static set staticSetter(_) {} } use(x) { if (x == new DateTime.now().millisecondsSinceEpoch) throw "Shouldn't happen"; } main() { try { Foo.staticConstant; use(Foo.staticConstant); Foo.staticField; use(Foo.staticField); Foo.staticFunction; use(Foo.staticFunction); Foo.staticGetter; use(Foo.staticGetter); Foo.staticSetter; use(Foo.staticSetter); Foo.staticConstant++; use(Foo.staticConstant++); Foo.staticField++; use(Foo.staticField++); Foo.staticFunction++; use(Foo.staticFunction++); Foo.staticGetter++; use(Foo.staticGetter++); Foo.staticSetter++; use(Foo.staticSetter++); ++Foo.staticConstant; use(++Foo.staticConstant); ++Foo.staticField; use(++Foo.staticField); ++Foo.staticFunction; use(++Foo.staticFunction); ++Foo.staticGetter; use(++Foo.staticGetter); ++Foo.staticSetter; use(++Foo.staticSetter); Foo.staticConstant(); use(Foo.staticConstant()); Foo.staticField(); use(Foo.staticField()); Foo.staticFunction(); use(Foo.staticFunction()); Foo.staticGetter(); use(Foo.staticGetter()); Foo.staticSetter(); use(Foo.staticSetter()); Foo.staticConstant = 87; use(Foo.staticConstant = 87); Foo.staticField = 87; use(Foo.staticField = 87); Foo.staticFunction = 87; use(Foo.staticFunction = 87); Foo.staticGetter = 87; use(Foo.staticGetter = 87); Foo.staticSetter = 87; use(Foo.staticSetter = 87); Foo.staticConstant ??= 87; use(Foo.staticConstant ??= 87); Foo.staticField ??= 87; use(Foo.staticField ??= 87); Foo.staticFunction ??= 87; use(Foo.staticFunction ??= 87); Foo.staticGetter ??= 87; use(Foo.staticGetter ??= 87); Foo.staticSetter ??= 87; use(Foo.staticSetter ??= 87); } on NoSuchMethodError { // Expected. } }