-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
legacy-area-front-endLegacy: Use area-dart-model instead.Legacy: Use area-dart-model instead.
Description
Consider this code from class_builder.dart:
context = [
message.withLocation(declaredMember.fileUri, fileOffset, length),
...?context
];This gets compiled to this Kernel:
context = block {
final dart.core::List<_fe_analyzer_shared.messages.codes::LocatedMessage*>* #t3 = <_fe_analyzer_shared.messages.codes::LocatedMessage*>[];
#t3.{dart.core::List::add}(message.{_fe_analyzer_shared.messages.codes::Message::withLocation}(declaredMember.{kernel.ast::Member::fileUri}, fileOffset, length));
final dynamic #t1 = context;
if(!#t1.{dart.core::Object::==}(null))
for (final _fe_analyzer_shared.messages.codes::LocatedMessage* #t2 in #t1)
#t3.{dart.core::List::add}(#t2);
} =>#t3;
However, this Kernel is ill-typed, because the type of the iterable expression #t1 is dynamic, where it must be a subtype of Iterable to be used directly in a for-in expresion.
Metadata
Metadata
Assignees
Labels
legacy-area-front-endLegacy: Use area-dart-model instead.Legacy: Use area-dart-model instead.