| Index: lib/src/codegen/js_interop.dart
|
| diff --git a/lib/src/codegen/js_interop.dart b/lib/src/codegen/js_interop.dart
|
| index 777a0097bde7e47720d2dd05638683a0c11c2baf..470efed9574a6fa42777929b2a6a8355c44589f1 100644
|
| --- a/lib/src/codegen/js_interop.dart
|
| +++ b/lib/src/codegen/js_interop.dart
|
| @@ -48,3 +48,13 @@ bool isJSExportNameAnnotation(DartObjectImpl value) {
|
|
|
| bool isJsPeerInterface(DartObjectImpl value) =>
|
| value.type.name == 'JsPeerInterface';
|
| +
|
| +/// Whether this invocation represents a `genericTypeConstructor` intrinsic
|
| +/// call, meant to be used only inside `JS` templates.
|
| +///
|
| +/// That intrinsic function is only to be used in JS expressions inside the SDK.
|
| +/// For instance `JS('', '#(type)', genericTypeConstructor(List))` will
|
| +/// generate `core.List$(type)`.
|
| +bool isGenericTypeConstructorIntrinsic(MethodInvocation i) =>
|
| + _isJsLibType('genericTypeConstructor', i.methodName?.bestElement) &&
|
| + i.argumentList.arguments.length == 1;
|
|
|