| // Copyright (c) 2022, 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. |
| |
| // Tests we can still use `base` as an identifier. |
| |
| import 'package:expect/expect.dart'; |
| |
| class base { |
| int x = 0; |
| } |
| |
| class BaseField { |
| int base = 0; |
| } |
| |
| class BaseMethod { |
| int base() => 1; |
| int foo(int base) => base; |
| int? foo1([int? base]) => base; |
| int? foo2({int? base}) => base; |
| } |
| |
| class BaseVariable { |
| int foo() { |
| var base = 2; |
| return base; |
| } |
| } |
| |
| class BaseAsType { |
| int foo(base x) => x.x; |
| base foo1 = base(); |
| } |
| |
| main() { |
| var baseClass = base(); |
| var baseField = BaseField(); |
| var baseMethod = BaseMethod(); |
| var baseVariable = BaseVariable(); |
| var baseAsType = BaseAsType(); |
| |
| Expect.equals(0, baseClass.x); |
| |
| Expect.equals(0, baseField.base); |
| |
| Expect.equals(1, baseMethod.base()); |
| Expect.equals(1, baseMethod.foo(1)); |
| Expect.equals(1, baseMethod.foo1(1)); |
| Expect.equals(1, baseMethod.foo2(base: 1)); |
| |
| Expect.equals(2, baseVariable.foo()); |
| |
| Expect.equals(0, baseAsType.foo(base())); |
| Expect.equals(0, baseAsType.foo1.x); |
| } |