Files
sdk/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart
T
Johnni Winther b4119d6787 [cfe] Add tests for how the CFE handles duplicates and setter conflicts
This is in preparation for a CL the removes @fields/@=fields canonical
names in favor of @getters/@setters and therefore needs stricter handling
of how duplicates and conflicts are emitted in the AST.

Change-Id: I87220a41c9777c94f9e9bce51ff5223fafdc738f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180342
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-01-26 14:27:39 +00:00

76 lines
2.1 KiB
Dart

// Copyright (c) 2021, 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.
topLevelMethodAndSetter() {}
void set topLevelMethodAndSetter(value) {}
typedef typedefAndSetter = Function();
void set topLevelMethodAndSetter(value) {}
class classAndSetter {}
void set classAndSetter(value) {}
class Class {
instanceMethodAndSetter() {}
void set instanceMethodAndSetter(value) {}
static staticMethodAndSetter() {}
static void set staticMethodAndSetter(value) {}
instanceMethodAndStaticSetter() {}
static void set instanceMethodAndStaticSetter(value) {}
static staticMethodAndInstanceSetter() {}
void set staticMethodAndInstanceSetter(value) {}
Class() {}
void set Class(value) {}
}
extension Extension on int? {
extensionInstanceMethodAndSetter() {}
void set extensionInstanceMethodAndSetter(value) {}
static extensionStaticMethodAndSetter() {}
static void set extensionStaticMethodAndSetter(value) {}
extensionInstanceMethodAndStaticSetter() {}
static void set extensionInstanceMethodAndStaticSetter(value) {}
static extensionStaticMethodAndInstanceSetter() {}
void set extensionStaticMethodAndInstanceSetter(value) {}
}
test() {
topLevelMethodAndSetter = topLevelMethodAndSetter();
typedefAndSetter = typedefAndSetter();
classAndSetter = classAndSetter();
var c = new Class();
c.instanceMethodAndSetter = c.instanceMethodAndSetter();
Class.staticMethodAndSetter = Class.staticMethodAndSetter();
c.staticMethodAndInstanceSetter = Class.staticMethodAndInstanceSetter();
Class.instanceMethodAndStaticSetter = c.instanceMethodAndStaticSetter();
c.Class = c.Class;
0.extensionInstanceFieldAndSetter = 0.extensionInstanceMethodAndSetter();
Extension.extensionStaticMethodAndSetter =
Extension.extensionStaticMethodAndSetter();
0.extensionStaticMethodAndInstanceSetter =
Extension.extensionStaticMethodAndInstanceSetter();
Extension.extensionInstanceMethodAndStaticSetter =
0.extensionInstanceMethodAndStaticSetter();
}
main() {}