| // Copyright (c) 2013, 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. |
| |
| // @dart = 2.9 |
| |
| // Test that we report a compile-time error when a type parameter conflicts |
| // with an instance or static member with the same name. |
| |
| import "package:expect/expect.dart"; |
| |
| class G1<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| var T; |
| // ^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| class G2<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| get T {} |
| // ^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| class G3<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| T() {} |
| //^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| class G4<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| static var T; |
| // ^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| class G5<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| static get T {} |
| // ^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| class G6<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| static T() {} |
| // ^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| class G7<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| set T(_) {} |
| // ^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| class G8<T> { |
| // ^ |
| // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_TYPE_VARIABLE_AND_MEMBER |
| static set T(x) {} |
| // ^ |
| // [cfe] Conflicts with type variable 'T'. |
| } |
| |
| main() { |
| new G1<int>(); |
| new G2<int>(); |
| new G3<int>(); |
| new G4<int>(); |
| new G5<int>(); |
| new G6<int>(); |
| new G7<int>(); |
| new G8<int>(); |
| } |