blob: 7b98c90885eabcdf2c3250db6b4430c336b885ba [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 The formal parameter list of a function introduces a new scope
* known as the function's formal parameter scope. The formal parameter scope
* of a function f is enclosed in the scope where f is declared. Every formal
* parameter introduces a local variable into the formal parameter scope.
* The body of a function introduces a new scope known as the function's body
* scope. The body scope of a function f is enclosed in the scope introduced by
* the formal parameter scope of f.
* @description Trivially checks that the function scopes are indeed nested
* in the described order.
* @author rodionov
*/
import "../../../Utils/expect.dart";
class C {
static const foo = 1;
void test() {
f(var foo) {
Expect.equals(2, foo);
}
f(foo + 1);
g([var foo = foo + 10]) {
Expect.equals(11, foo);
}
g();
h({var foo: foo + 10}) {
Expect.equals(11, foo);
}
h();
}
}
void main() {
new C().test();
}