Files
sdk/tests/language/nnbd/static_errors/local_function_inference.dart
T
Konstantin Shcheglov 8de8a1c226 Move codes from StaticTypeWarningCode into CompileTimeErrorCode.
They are all errors now.

Change-Id: If48d38e38e845fd5b5a950dd5514bf1cbbce03d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-27 16:44:15 +00:00

30 lines
742 B
Dart

// Copyright (c) 2020, 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.
/// Test that the type of a local function is an error if local function type
/// inference requires the type of the function being inferred.
void main() {
f() {
return 3;
}
f().arglebargle;
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
// [cfe] The getter 'arglebargle' isn't defined for the class 'int'.
f().isEven; // Inferred type is int
g() {
if (f() == 3) {
return g();
} else {
return 3;
}
}
// ^
// [analyzer] undefined
// [cfe] undefined
}