blob: 24dd410199c7295378f9408f8bd39cde0cececd9 [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 . . . if q is a generative constructor, then:
* A fresh instance i, of class R is allocated. For each instance variable
* f of i, if the variable declaration of f has an initializer expression ef,
* then ef is evaluated, with the type parameters (if any) of R bound to the
* actual type arguments V1, ..., Vl, to an object of and f is bound to of.
* Otherwise f is bound to null.
* Observe that this is not in scope in ef. Hence, the initialization cannot
* depend on other properties of the object being instantiated.
* @description Checks that a fresh instance is allocated with every
* constructor invocation.
* @author msyabro
*/
import '../../../../Utils/expect.dart';
class A {}
main() {
var a = [];
for (int i = 0; i < 10; i++) {
a.add(new A());
for (int j = 0; j < i; j++) {
Expect.isFalse(identical(a[j], a[i]));
}
}
}