blob: 5264529547584d5cde929449b26743ee7982af37 [file] [log] [blame]
// 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);
}