Skip to content

Commit 464a5a6

Browse files
scheglovcommit-bot@chromium.org
authored andcommitted
Issue 37401. Support for const Set default values in mocks.
Bug: #37401 Change-Id: Ia65a0e6204f64a308dd27810759a8b7416244248 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108841 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Vijay Menon <[email protected]>
1 parent 55b67e9 commit 464a5a6

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

pkg/dev_compiler/lib/src/analyzer/code_generator.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4511,6 +4511,10 @@ class CodeGenerator extends Object
45114511
return _emitConstList(type.typeArguments[0],
45124512
value.toListValue().map(_emitDartObject).toList());
45134513
}
4514+
if (type.element == types.setType.element) {
4515+
return _emitConstSet(type.typeArguments[0],
4516+
value.toSetValue().map(_emitDartObject).toList());
4517+
}
45144518
if (type.element == types.mapType.element) {
45154519
var entries = <js_ast.Expression>[];
45164520
value.toMapValue().forEach((key, value) {
@@ -5811,6 +5815,12 @@ class CodeGenerator extends Object
58115815
return _emitType(type.instantiate(typeArgs));
58125816
}
58135817

5818+
js_ast.Expression _emitConstSet(
5819+
DartType elementType, List<js_ast.Expression> elements) {
5820+
return cacheConst(
5821+
runtimeCall('constSet([#], #)', [elements, _emitType(elementType)]));
5822+
}
5823+
58145824
js_ast.Expression _emitSetImplType(InterfaceType type, {bool identity}) {
58155825
var typeArgs = type.typeArguments;
58165826
if (typeArgs.isEmpty) return _emitType(type);

0 commit comments

Comments
 (0)