Version 2.17.0-280.0.dev
Merge commit 'd162c637d6ac34043a9f1d88919bd10d6c71bdfc' into 'dev'
diff --git a/pkg/dart2wasm/lib/code_generator.dart b/pkg/dart2wasm/lib/code_generator.dart
index b88ee02..f086339 100644
--- a/pkg/dart2wasm/lib/code_generator.dart
+++ b/pkg/dart2wasm/lib/code_generator.dart
@@ -1660,8 +1660,8 @@
@override
w.ValueType visitFunctionInvocation(
FunctionInvocation node, w.ValueType expectedType) {
- FunctionType functionType = node.functionType!;
- int parameterCount = functionType.requiredParameterCount;
+ int parameterCount = node.functionType?.requiredParameterCount ??
+ node.arguments.positional.length;
return _functionCall(parameterCount, node.receiver, node.arguments);
}
@@ -2057,7 +2057,10 @@
.getSubtypesOf(type.classNode)
.where((c) => !c.isAbstract)
.toList();
- if (concrete.isEmpty) {
+ if (type.classNode == translator.coreTypes.functionClass) {
+ ClassInfo functionInfo = translator.classInfo[translator.functionClass]!;
+ translator.ref_test(b, functionInfo);
+ } else if (concrete.isEmpty) {
b.drop();
b.i32_const(0);
} else if (concrete.length == 1) {
diff --git a/sdk/lib/_internal/wasm/lib/class_id.dart b/sdk/lib/_internal/wasm/lib/class_id.dart
index e650509..be91738 100644
--- a/sdk/lib/_internal/wasm/lib/class_id.dart
+++ b/sdk/lib/_internal/wasm/lib/class_id.dart
@@ -6,7 +6,7 @@
@pragma("wasm:entry-point")
class ClassID {
- external static int getID(Object value);
+ external static int getID(Object? value);
@pragma("wasm:class-id", "dart.typed_data#_ExternalUint8Array")
external static int get cidExternalUint8Array;
diff --git a/tools/VERSION b/tools/VERSION
index 6dd49ee..1aa8a5e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 279
+PRERELEASE 280
PRERELEASE_PATCH 0
\ No newline at end of file