Skip to content

Commit c1cf29b

Browse files
sigmundchcommit-bot@chromium.org
authored andcommitted
[ddc] improve generated code for wrapType.isNormalized
* adding the bool type changes from dart.dtest to dart.test * making it positional and not named removes objects creations when calling wrapType and loading the value is more direct * marking it @NotNull gets rid of dart.test. Change-Id: Ib372e165b0b4117606a7a96f29e560ea0199aa18 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138669 Commit-Queue: Sigmund Cherem <sigmund@google.com> Reviewed-by: Nicholas Shahan <nshahan@google.com>
1 parent 6eae8db commit c1cf29b

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

  • sdk_nnbd/lib/_internal/js_dev_runtime/private/ddc_runtime

sdk_nnbd/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ class _Type extends Type {
451451
///
452452
/// [isNormalized] is true when [type] is known to be in a canonicalized
453453
/// normal form, so the algorithm can directly wrap and return the value.
454-
Type wrapType(type, {isNormalized = false}) {
454+
Type wrapType(type, [@notNull bool isNormalized = false]) {
455455
// If we've already wrapped this type once, use the previous wrapper. This
456456
// way, multiple references to the same type return an identical Type.
457457
if (JS('!', '#.hasOwnProperty(#)', type, _typeObject)) {
@@ -481,7 +481,7 @@ Type _canonicalizeNormalizedTypeObject(type) {
481481

482482
// GenericFunctionTypeIdentifiers are implicitly normalized.
483483
if (JS<bool>('!', '# instanceof #', type, GenericFunctionTypeIdentifier)) {
484-
return wrapType(type, isNormalized: true);
484+
return wrapType(type, true);
485485
}
486486
if (JS<bool>('!', '# instanceof #', type, FunctionType)) {
487487
var normReturnType = normalizeHelper(type.returnType);
@@ -491,19 +491,19 @@ Type _canonicalizeNormalizedTypeObject(type) {
491491
type.requiredNamed)) {
492492
if (type.optionals.isEmpty) {
493493
var normType = fnType(normReturnType, normArgs);
494-
return wrapType(normType, isNormalized: true);
494+
return wrapType(normType, true);
495495
}
496496
var normOptionals = type.optionals.map(normalizeHelper).toList();
497497
var normType = fnType(normReturnType, normArgs, normOptionals);
498-
return wrapType(normType, isNormalized: true);
498+
return wrapType(normType, true);
499499
}
500500
var normNamed = JS('', '{}');
501501
_transformJSObject(type.named, normNamed, normalizeHelper);
502502
var normRequiredNamed = JS('', '{}');
503503
_transformJSObject(type.requiredNamed, normRequiredNamed, normalizeHelper);
504504
var normType =
505505
fnType(normReturnType, normArgs, normNamed, normRequiredNamed);
506-
return wrapType(normType, isNormalized: true);
506+
return wrapType(normType, true);
507507
}
508508
if (JS<bool>('!', '# instanceof #', type, GenericFunctionType)) {
509509
var formals = _getCanonicalTypeFormals(type.typeFormals.length);
@@ -516,7 +516,7 @@ Type _canonicalizeNormalizedTypeObject(type) {
516516
JS('', '#.push(#)', typeObjectIdKey, normFunc);
517517
var memoizedId = _memoizeArray(_gFnTypeTypeMap, typeObjectIdKey,
518518
() => GenericFunctionTypeIdentifier(formals, normBounds, normFunc));
519-
return wrapType(memoizedId, isNormalized: true);
519+
return wrapType(memoizedId, true);
520520
}
521521
var args = getGenericArgs(type);
522522
var normType;
@@ -527,7 +527,7 @@ Type _canonicalizeNormalizedTypeObject(type) {
527527
var normArgs = args.map(normalizeHelper).toList();
528528
normType = JS('!', '#(...#)', genericClass, normArgs);
529529
}
530-
return wrapType(normType, isNormalized: true);
530+
return wrapType(normType, true);
531531
}
532532

533533
/// Generates new values by applying [transform] to the values of [srcObject],

0 commit comments

Comments
 (0)