// 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 Evaluation of an assignment a of the form v = e proceeds as
/// follows:
/// Let d be the innermost declaration whose name is v or v =, if it exists.
/// ...
/// If d is the declaration of a local variable, the expression e is evaluated to
/// an object o. Then, the variable v is bound to o unless v is final or const,
/// in which case a dynamic error occurs. If no error occurs, the value of the
/// assignment expression is o.
/// @description Checks the case when v is a declaration for a local variable.
/// @author msyabro
/// @author sgrekhov@unipro.ru


import '../../../Utils/expect.dart';

main() {
  var v;
  v = 1;
  Expect.equals(1, v);
  v = 2;
  Expect.equals(2, v);
  v = 1;
  Expect.equals(1, v);
  v = 1 + 2;
  Expect.equals(3, v);
}
