// Copyright (c) 2014, 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.

// @dart = 2.9

foo(int arg) {}

class C {
  C(int arg) {}
  static foo(int arg) {}
}

var a;

int get getter => 42;

void set setter(int arg) {
  a = 10;
}

var list = <int>[];

var closure = (int arg) => 3;
