blob: f6542b63a8168b5aa34f6a5455d835fa7ae5fce5 [file] [log] [blame]
// Copyright (c) 2011, 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 A non-final variable declaration of the form var v;
/// or the form var v = e; always induces an implicit setter function
/// with signature
/// set v = (x)
/// whose execution sets the value of v to the incoming argument x.
/// @description Checks that the signature of this implicit setter is correct
/// and the type of its formal parameter is indeed dynamic by passing values of
/// various types to it.
/// @author pagolubev
import "../../Utils/expect.dart";
class A {
static var a;
static var b = 1;
static var c;
static var d;
static var e = "xxx";
static var f = null;
}
main() {
A.a = 1;
Expect.equals(1, A.a);
A.c = "foo";
Expect.equals("foo", A.c);
List foo = <Map<String, int>>[];
A.d = foo;
Expect.equals(foo, A.d);
A.b = -1;
Expect.equals(-1, A.b);
A.e = "bar";
Expect.equals("bar", A.e);
Map bar = new Map<String, int>();
A.f = bar;
Expect.equals(bar, A.f);
}