blob: 72c4380807cb4779e33d519faecbff78fdeab95a [file] [log] [blame]
/*
* Copyright (c) 2019, 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 It is a compile-time error if the extension does not declare a
* member with the provided name.
* @description Check that compile time error is thrown if the extension does
* not declare a member with the given name
* @author iarkh@unipro.ru
*/
extension MySimpleExt on String {
bool get test => false;
int getANum() => 12345;
void tryme() {}
}
main() {
bool res = MySimpleExt("testme").test;
int i = MySimpleExt("testme").getANum();
MySimpleExt("testme").tryme();
bool res1 = MySimpleExt("testme").test1;
// ^^^^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_EXTENSION_GETTER
// [cfe] Getter not found: 'test1'.
dynamic res2 = MySimpleExt("testme").getAString;
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_EXTENSION_GETTER
// [cfe] Getter not found: 'getAString'.
MySimpleExt("testme").put(11);
// ^^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_EXTENSION_METHOD
// [cfe] Method not found: 'put'.
}