Version 2.18.0-36.0.dev
Merge commit '4258a0579832c2195f4a492a641c79e62cab146f' into 'dev'
diff --git a/pkg/front_end/lib/src/fasta/builder/formal_parameter_builder.dart b/pkg/front_end/lib/src/fasta/builder/formal_parameter_builder.dart
index 1d36b9f..0a4424c 100644
--- a/pkg/front_end/lib/src/fasta/builder/formal_parameter_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/formal_parameter_builder.dart
@@ -9,7 +9,6 @@
import 'package:_fe_analyzer_shared/src/scanner/scanner.dart' show Token;
import 'package:kernel/ast.dart'
show DartType, DynamicType, Expression, VariableDeclaration;
-import 'package:kernel/src/legacy_erasure.dart';
import '../constant_context.dart' show ConstantContext;
import '../kernel/body_builder.dart' show BodyBuilder;
@@ -147,9 +146,6 @@
SourceLibraryBuilder library, int functionNestingLevel) {
if (variable == null) {
DartType? builtType = type?.build(library);
- if (!library.isNonNullableByDefault && builtType != null) {
- builtType = legacyErasure(builtType);
- }
variable = new VariableDeclarationImpl(
name == noNameSentinel ? null : name, functionNestingLevel,
type: builtType,
diff --git a/pkg/front_end/lib/src/fasta/builder/library_builder.dart b/pkg/front_end/lib/src/fasta/builder/library_builder.dart
index 423e617..2c6f4b3 100644
--- a/pkg/front_end/lib/src/fasta/builder/library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/library_builder.dart
@@ -73,8 +73,6 @@
NameIterator get nameIterator;
- Builder? addBuilder(String? name, Builder declaration, int charOffset);
-
void addExporter(LibraryBuilder exporter,
List<CombinatorBuilder>? combinators, int charOffset);
diff --git a/pkg/front_end/lib/src/fasta/builder/nullability_builder.dart b/pkg/front_end/lib/src/fasta/builder/nullability_builder.dart
index d2f1000..db68182 100644
--- a/pkg/front_end/lib/src/fasta/builder/nullability_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/nullability_builder.dart
@@ -58,17 +58,20 @@
// ignore: unnecessary_null_comparison
assert(libraryBuilder != null);
- Nullability ifOmitted = libraryBuilder.isNonNullableByDefault
- ? Nullability.nonNullable
- : Nullability.legacy;
switch (_syntacticNullability) {
case SyntacticNullability.legacy:
return Nullability.legacy;
case SyntacticNullability.nullable:
+ return libraryBuilder.isNonNullableByDefault
+ ? Nullability.nullable
+ // This is an error case.
+ : Nullability.legacy;
case SyntacticNullability.inherent:
return Nullability.nullable;
case SyntacticNullability.omitted:
- return ifOmitted;
+ return libraryBuilder.isNonNullableByDefault
+ ? Nullability.nonNullable
+ : Nullability.legacy;
}
}
diff --git a/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart b/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart
index 6643502..a1584e3 100644
--- a/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/dill/dill_library_builder.dart
@@ -102,8 +102,8 @@
isBuiltAndMarked = true;
if (isBuilt) return;
isBuilt = true;
- library.classes.forEach(addClass);
- library.extensions.forEach(addExtension);
+ library.classes.forEach(_addClass);
+ library.extensions.forEach(_addExtension);
Map<String, Map<Name, Procedure>> tearOffs = {};
List<Procedure> nonTearOffs = [];
@@ -116,12 +116,12 @@
nonTearOffs.add(procedure);
}
}
- nonTearOffs.forEach(addMember);
- library.procedures.forEach(addMember);
+ nonTearOffs.forEach(_addMember);
+ library.procedures.forEach(_addMember);
for (Typedef typedef in library.typedefs) {
addTypedef(typedef, tearOffs[typedef.name]);
}
- library.fields.forEach(addMember);
+ library.fields.forEach(_addMember);
if (isReadyToFinalizeExports) {
finalizeExports();
@@ -153,17 +153,16 @@
@override
void addSyntheticDeclarationOfDynamic() {
- addBuilder("dynamic",
- new DynamicTypeDeclarationBuilder(const DynamicType(), this, -1), -1);
+ _addBuilder("dynamic",
+ new DynamicTypeDeclarationBuilder(const DynamicType(), this, -1));
}
@override
void addSyntheticDeclarationOfNever() {
- addBuilder(
+ _addBuilder(
"Never",
new NeverTypeDeclarationBuilder(
- const NeverType.nonNullable(), this, -1),
- -1);
+ const NeverType.nonNullable(), this, -1));
}
@override
@@ -171,9 +170,9 @@
// The name "Null" is declared by the class Null.
}
- void addClass(Class cls) {
+ void _addClass(Class cls) {
DillClassBuilder classBuilder = new DillClassBuilder(cls, this);
- addBuilder(cls.name, classBuilder, cls.fileOffset);
+ _addBuilder(cls.name, classBuilder);
Map<String, Procedure> tearOffs = {};
List<Procedure> nonTearOffs = [];
for (Procedure procedure in cls.procedures) {
@@ -205,13 +204,13 @@
}
}
- void addExtension(Extension extension) {
+ void _addExtension(Extension extension) {
DillExtensionBuilder extensionBuilder =
new DillExtensionBuilder(extension, this);
- addBuilder(extension.name, extensionBuilder, extension.fileOffset);
+ _addBuilder(extension.name, extensionBuilder);
}
- void addMember(Member member) {
+ void _addMember(Member member) {
if (member.isExtensionMember) {
return null;
}
@@ -233,24 +232,20 @@
json != null ? new Map<String, String>.from(json) : null;
} else {
if (member is Field) {
- addBuilder(name, new DillFieldBuilder(member, this), member.fileOffset);
+ _addBuilder(name, new DillFieldBuilder(member, this));
} else if (member is Procedure) {
switch (member.kind) {
case ProcedureKind.Setter:
- addBuilder(
- name, new DillSetterBuilder(member, this), member.fileOffset);
+ _addBuilder(name, new DillSetterBuilder(member, this));
break;
case ProcedureKind.Getter:
- addBuilder(
- name, new DillGetterBuilder(member, this), member.fileOffset);
+ _addBuilder(name, new DillGetterBuilder(member, this));
break;
case ProcedureKind.Operator:
- addBuilder(
- name, new DillOperatorBuilder(member, this), member.fileOffset);
+ _addBuilder(name, new DillOperatorBuilder(member, this));
break;
case ProcedureKind.Method:
- addBuilder(
- name, new DillMethodBuilder(member, this), member.fileOffset);
+ _addBuilder(name, new DillMethodBuilder(member, this));
break;
case ProcedureKind.Factory:
throw new UnsupportedError(
@@ -263,8 +258,7 @@
}
}
- @override
- Builder? addBuilder(String? name, Builder declaration, int charOffset) {
+ Builder? _addBuilder(String? name, Builder declaration) {
if (name == null || name.isEmpty) return null;
bool isSetter = declaration.isSetter;
@@ -292,8 +286,8 @@
if (type is FunctionType && type.typedefType == null) {
unhandled("null", "addTypedef", typedef.fileOffset, typedef.fileUri);
}
- addBuilder(typedef.name, new DillTypeAliasBuilder(typedef, tearOffs, this),
- typedef.fileOffset);
+ _addBuilder(
+ typedef.name, new DillTypeAliasBuilder(typedef, tearOffs, this));
}
@override
diff --git a/pkg/front_end/lib/src/fasta/import.dart b/pkg/front_end/lib/src/fasta/import.dart
index 83268d3..b0a4816 100644
--- a/pkg/front_end/lib/src/fasta/import.dart
+++ b/pkg/front_end/lib/src/fasta/import.dart
@@ -62,7 +62,7 @@
Uri get fileUri => importer.fileUri;
- void finalizeImports(LibraryBuilder importer) {
+ void finalizeImports(SourceLibraryBuilder importer) {
if (nativeImportPath != null) return;
void Function(String, Builder) add;
if (prefixBuilder == null) {
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index e3481a8..a367a17 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -787,7 +787,6 @@
}
}
- @override
Builder? addBuilder(String? name, Builder declaration, int charOffset,
{Reference? getterReference, Reference? setterReference}) {
// TODO(ahe): Set the parent correctly here. Could then change the
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
index b99f8f5..6b14d32 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
@@ -2283,12 +2283,16 @@
explicitTypeArguments == null &&
calleeTypeParameters.isNotEmpty;
bool typeChecksNeeded = !isTopLevel;
+ bool useFormalAndActualTypes = inferenceNeeded ||
+ typeChecksNeeded ||
+ isSpecialCasedBinaryOperator ||
+ isSpecialCasedTernaryOperator;
List<DartType>? inferredTypes;
Substitution? substitution;
List<DartType>? formalTypes;
List<DartType>? actualTypes;
- if (inferenceNeeded || typeChecksNeeded) {
+ if (useFormalAndActualTypes) {
formalTypes = [];
actualTypes = [];
}
@@ -2448,7 +2452,7 @@
?.add(flowAnalysis.equalityOperand_end(expression, inferredType));
arguments.positional[index] = expression..parent = arguments;
}
- if (inferenceNeeded || typeChecksNeeded) {
+ if (useFormalAndActualTypes) {
formalTypes!.add(formalType);
actualTypes!.add(inferredType);
}
@@ -2481,7 +2485,7 @@
Expression expression =
_hoist(result.expression, inferredType, hoistedExpressions);
namedArgument.value = expression..parent = namedArgument;
- if (inferenceNeeded || typeChecksNeeded) {
+ if (useFormalAndActualTypes) {
formalTypes!.add(formalType);
actualTypes!.add(inferredType);
}
@@ -2546,8 +2550,10 @@
named[1].fileOffset,
name.length);
arguments.named = [new NamedExpression(named[1].name, error)];
- formalTypes!.removeLast();
- actualTypes!.removeLast();
+ if (useFormalAndActualTypes) {
+ formalTypes!.removeLast();
+ actualTypes!.removeLast();
+ }
}
} else if (named.length > 2) {
Map<String, NamedExpression> seenNames = <String, NamedExpression>{};
@@ -2566,8 +2572,10 @@
expression.fileOffset,
name.length)
..parent = prevNamedExpression;
- formalTypes!.removeAt(namedTypeIndex);
- actualTypes!.removeAt(namedTypeIndex);
+ if (useFormalAndActualTypes) {
+ formalTypes!.removeAt(namedTypeIndex);
+ actualTypes!.removeAt(namedTypeIndex);
+ }
} else {
seenNames[name] = expression;
uniqueNamed.add(expression);
diff --git a/pkg/front_end/test/text_representation/data/types_opt_out.dart b/pkg/front_end/test/text_representation/data/types_opt_out.dart
index 63723ee..b864336 100644
--- a/pkg/front_end/test/text_representation/data/types_opt_out.dart
+++ b/pkg/front_end/test/text_representation/data/types_opt_out.dart
@@ -24,7 +24,7 @@
String /*normal|limited.String**/ /*verbose.dart.core::String**/ o) {}
voidType(void /*void*/ o) {}
dynamicType(dynamic /*dynamic*/ o) {}
-neverType(Never /*normal|limited.Null*/ /*verbose.Null*/ o) {}
+neverType(Never /*Never**/ o) {}
objectType(
Object /*normal|limited.Object**/ /*verbose.dart.core::Object**/ o) {}
genericType1(
diff --git a/pkg/front_end/testcases/general/clamp.dart b/pkg/front_end/testcases/general/clamp.dart
new file mode 100644
index 0000000..6609ff8
--- /dev/null
+++ b/pkg/front_end/testcases/general/clamp.dart
@@ -0,0 +1,12 @@
+var a = 1.clamp(2, 3);
+var b = 1.0.clamp(2, 3);
+var c = 1.0.clamp(2.0, 3);
+var d = 1.0.clamp(2, 3.0);
+var e = 1.0.clamp(2.0, 3.0);
+final f = 1.clamp(2, 3);
+final g = 1.0.clamp(2, 3);
+final h = 1.0.clamp(2.0, 3);
+final i = 1.0.clamp(2, 3.0);
+final j = 1.0.clamp(2.0, 3.0);
+
+void main() {}
diff --git a/pkg/front_end/testcases/general/clamp.dart.textual_outline.expect b/pkg/front_end/testcases/general/clamp.dart.textual_outline.expect
new file mode 100644
index 0000000..7ddeebd
--- /dev/null
+++ b/pkg/front_end/testcases/general/clamp.dart.textual_outline.expect
@@ -0,0 +1,11 @@
+var a = 1.clamp(2, 3);
+var b = 1.0.clamp(2, 3);
+var c = 1.0.clamp(2.0, 3);
+var d = 1.0.clamp(2, 3.0);
+var e = 1.0.clamp(2.0, 3.0);
+final f = 1.clamp(2, 3);
+final g = 1.0.clamp(2, 3);
+final h = 1.0.clamp(2.0, 3);
+final i = 1.0.clamp(2, 3.0);
+final j = 1.0.clamp(2.0, 3.0);
+void main() {}
diff --git a/pkg/front_end/testcases/general/clamp.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/clamp.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..64b9d01
--- /dev/null
+++ b/pkg/front_end/testcases/general/clamp.dart.textual_outline_modelled.expect
@@ -0,0 +1,11 @@
+final f = 1.clamp(2, 3);
+final g = 1.0.clamp(2, 3);
+final h = 1.0.clamp(2.0, 3);
+final i = 1.0.clamp(2, 3.0);
+final j = 1.0.clamp(2.0, 3.0);
+var a = 1.clamp(2, 3);
+var b = 1.0.clamp(2, 3);
+var c = 1.0.clamp(2.0, 3);
+var d = 1.0.clamp(2, 3.0);
+var e = 1.0.clamp(2.0, 3.0);
+void main() {}
diff --git a/pkg/front_end/testcases/general/clamp.dart.weak.expect b/pkg/front_end/testcases/general/clamp.dart.weak.expect
new file mode 100644
index 0000000..6d56fb4
--- /dev/null
+++ b/pkg/front_end/testcases/general/clamp.dart.weak.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field core::int a = 1.{core::num::clamp}(2, 3){(core::num, core::num) → core::int};
+static field core::num b = 1.0.{core::num::clamp}(2, 3){(core::num, core::num) → core::num};
+static field core::num c = 1.0.{core::num::clamp}(2.0, 3){(core::num, core::num) → core::num};
+static field core::num d = 1.0.{core::num::clamp}(2, 3.0){(core::num, core::num) → core::num};
+static field core::double e = 1.0.{core::num::clamp}(2.0, 3.0){(core::num, core::num) → core::double};
+static final field core::int f = 1.{core::num::clamp}(2, 3){(core::num, core::num) → core::int};
+static final field core::num g = 1.0.{core::num::clamp}(2, 3){(core::num, core::num) → core::num};
+static final field core::num h = 1.0.{core::num::clamp}(2.0, 3){(core::num, core::num) → core::num};
+static final field core::num i = 1.0.{core::num::clamp}(2, 3.0){(core::num, core::num) → core::num};
+static final field core::double j = 1.0.{core::num::clamp}(2.0, 3.0){(core::num, core::num) → core::double};
+static method main() → void {}
diff --git a/pkg/front_end/testcases/general/clamp.dart.weak.modular.expect b/pkg/front_end/testcases/general/clamp.dart.weak.modular.expect
new file mode 100644
index 0000000..6d56fb4
--- /dev/null
+++ b/pkg/front_end/testcases/general/clamp.dart.weak.modular.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field core::int a = 1.{core::num::clamp}(2, 3){(core::num, core::num) → core::int};
+static field core::num b = 1.0.{core::num::clamp}(2, 3){(core::num, core::num) → core::num};
+static field core::num c = 1.0.{core::num::clamp}(2.0, 3){(core::num, core::num) → core::num};
+static field core::num d = 1.0.{core::num::clamp}(2, 3.0){(core::num, core::num) → core::num};
+static field core::double e = 1.0.{core::num::clamp}(2.0, 3.0){(core::num, core::num) → core::double};
+static final field core::int f = 1.{core::num::clamp}(2, 3){(core::num, core::num) → core::int};
+static final field core::num g = 1.0.{core::num::clamp}(2, 3){(core::num, core::num) → core::num};
+static final field core::num h = 1.0.{core::num::clamp}(2.0, 3){(core::num, core::num) → core::num};
+static final field core::num i = 1.0.{core::num::clamp}(2, 3.0){(core::num, core::num) → core::num};
+static final field core::double j = 1.0.{core::num::clamp}(2.0, 3.0){(core::num, core::num) → core::double};
+static method main() → void {}
diff --git a/pkg/front_end/testcases/general/clamp.dart.weak.outline.expect b/pkg/front_end/testcases/general/clamp.dart.weak.outline.expect
new file mode 100644
index 0000000..8430489
--- /dev/null
+++ b/pkg/front_end/testcases/general/clamp.dart.weak.outline.expect
@@ -0,0 +1,16 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field core::int a;
+static field core::num b;
+static field core::num c;
+static field core::num d;
+static field core::double e;
+static final field core::int f;
+static final field core::num g;
+static final field core::num h;
+static final field core::num i;
+static final field core::double j;
+static method main() → void
+ ;
diff --git a/pkg/front_end/testcases/general/clamp.dart.weak.transformed.expect b/pkg/front_end/testcases/general/clamp.dart.weak.transformed.expect
new file mode 100644
index 0000000..6d56fb4
--- /dev/null
+++ b/pkg/front_end/testcases/general/clamp.dart.weak.transformed.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field core::int a = 1.{core::num::clamp}(2, 3){(core::num, core::num) → core::int};
+static field core::num b = 1.0.{core::num::clamp}(2, 3){(core::num, core::num) → core::num};
+static field core::num c = 1.0.{core::num::clamp}(2.0, 3){(core::num, core::num) → core::num};
+static field core::num d = 1.0.{core::num::clamp}(2, 3.0){(core::num, core::num) → core::num};
+static field core::double e = 1.0.{core::num::clamp}(2.0, 3.0){(core::num, core::num) → core::double};
+static final field core::int f = 1.{core::num::clamp}(2, 3){(core::num, core::num) → core::int};
+static final field core::num g = 1.0.{core::num::clamp}(2, 3){(core::num, core::num) → core::num};
+static final field core::num h = 1.0.{core::num::clamp}(2.0, 3){(core::num, core::num) → core::num};
+static final field core::num i = 1.0.{core::num::clamp}(2, 3.0){(core::num, core::num) → core::num};
+static final field core::double j = 1.0.{core::num::clamp}(2.0, 3.0){(core::num, core::num) → core::double};
+static method main() → void {}
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
index 53be886..593531e 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
@@ -69,7 +69,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -86,7 +86,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library;
//
@@ -103,4 +103,4 @@
import self as self5;
import "dart:core" as core;
-static field core::int? versioned_2_10_Library;
+static field core::int* versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect
index 53be886..593531e 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.modular.expect
@@ -69,7 +69,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -86,7 +86,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library;
//
@@ -103,4 +103,4 @@
import self as self5;
import "dart:core" as core;
-static field core::int? versioned_2_10_Library;
+static field core::int* versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
index 3f5e587..69b2423 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
@@ -70,7 +70,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -87,7 +87,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library;
//
@@ -104,4 +104,4 @@
import self as self5;
import "dart:core" as core;
-static field core::int? versioned_2_10_Library;
+static field core::int* versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
index 4d91921..c74d69a 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
@@ -37,7 +37,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -54,7 +54,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library;
//
@@ -71,4 +71,4 @@
import self as self5;
import "dart:core" as core;
-static field core::int? versioned_2_10_Library;
+static field core::int* versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
index b2edbb8..8c54548 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect
index b2edbb8..8c54548 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
index 15ded13..ef7e103 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
@@ -13,6 +13,6 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
index b2edbb8..8c54548 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.expect
index 14c6cd9..fe508f1 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.modular.expect
index 14c6cd9..fe508f1 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.modular.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.outline.expect
index b393b5f..53acfe1 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.outline.expect
@@ -13,6 +13,6 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.transformed.expect
index 14c6cd9..fe508f1 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.transformed.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/incremental/remove_language_version.yaml.world.1.expect b/pkg/front_end/testcases/incremental/remove_language_version.yaml.world.1.expect
index 32f26ec..0c8e689 100644
--- a/pkg/front_end/testcases/incremental/remove_language_version.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/remove_language_version.yaml.world.1.expect
@@ -13,6 +13,6 @@
//
static method main() → dynamic {
- dart.core::int? i;
+ dart.core::int* i;
}
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect
index d4de37b..fe41d8c 100644
--- a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect
@@ -69,7 +69,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -86,7 +86,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library /*isNonNullableByDefault*/;
import self as self5;
diff --git a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.modular.expect
index d4de37b..fe41d8c 100644
--- a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.modular.expect
@@ -69,7 +69,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -86,7 +86,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library /*isNonNullableByDefault*/;
import self as self5;
diff --git a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.outline.expect
index 10fa83c..5259891 100644
--- a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.outline.expect
@@ -70,7 +70,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -87,7 +87,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library /*isNonNullableByDefault*/;
import self as self5;
diff --git a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect
index 65936ca..f4682f0 100644
--- a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect
@@ -37,7 +37,7 @@
import self as self3;
import "dart:core" as core;
-static field core::int? versioned_2_8_Library;
+static field core::int* versioned_2_8_Library;
library;
//
@@ -54,7 +54,7 @@
import self as self4;
import "dart:core" as core;
-static field core::int? versioned_2_9_Library;
+static field core::int* versioned_2_9_Library;
library /*isNonNullableByDefault*/;
import self as self5;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.expect
index 5d1e11f..e65a942 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.expect
@@ -11,7 +11,7 @@
iss::takesNever(null);
iss::takesNever(nil);
iss::takesTakesNull(#C1);
- iss::f = (Null x) → Null {};
+ iss::f = (Never* x) → Null {};
}
library /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.modular.expect
index 5d1e11f..e65a942 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.modular.expect
@@ -11,7 +11,7 @@
iss::takesNever(null);
iss::takesNever(nil);
iss::takesTakesNull(#C1);
- iss::f = (Null x) → Null {};
+ iss::f = (Never* x) → Null {};
}
library /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.transformed.expect
index 5d1e11f..e65a942 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
iss::takesNever(null);
iss::takesNever(nil);
iss::takesTakesNull(#C1);
- iss::f = (Null x) → Null {};
+ iss::f = (Never* x) → Null {};
}
library /*isNonNullableByDefault*/;
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect
index e73b967..0d89627 100644
--- a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect
@@ -53,16 +53,16 @@
synthetic constructor •() → self::C*
: super nev::A::•()
;
- method neverMethod(Null value) → Never*
+ method neverMethod(Never* value) → Never*
return value;
get neverProperty() → Never*
return null;
- set neverProperty(Null value) → void {}
- method nullMethod(Null value) → Never*
+ set neverProperty(Never* value) → void {}
+ method nullMethod(Never* value) → Never*
return value;
get nullProperty() → Never*
return null;
- set nullProperty(Null value) → void {}
+ set nullProperty(Never* value) → void {}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.modular.expect
index e73b967..0d89627 100644
--- a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.modular.expect
@@ -53,16 +53,16 @@
synthetic constructor •() → self::C*
: super nev::A::•()
;
- method neverMethod(Null value) → Never*
+ method neverMethod(Never* value) → Never*
return value;
get neverProperty() → Never*
return null;
- set neverProperty(Null value) → void {}
- method nullMethod(Null value) → Never*
+ set neverProperty(Never* value) → void {}
+ method nullMethod(Never* value) → Never*
return value;
get nullProperty() → Never*
return null;
- set nullProperty(Null value) → void {}
+ set nullProperty(Never* value) → void {}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.outline.expect
index 689fd991..22de506 100644
--- a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.outline.expect
@@ -52,17 +52,17 @@
field Never* nullField;
synthetic constructor •() → self::C*
;
- method neverMethod(Null value) → Never*
+ method neverMethod(Never* value) → Never*
;
get neverProperty() → Never*
;
- set neverProperty(Null value) → void
+ set neverProperty(Never* value) → void
;
- method nullMethod(Null value) → Never*
+ method nullMethod(Never* value) → Never*
;
get nullProperty() → Never*
;
- set nullProperty(Null value) → void
+ set nullProperty(Never* value) → void
;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect
index 963cab4..4865f2d 100644
--- a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect
@@ -53,16 +53,16 @@
synthetic constructor •() → self::C*
: super nev::A::•()
;
- method neverMethod(Null value) → Never*
+ method neverMethod(Never* value) → Never*
return value;
get neverProperty() → Never*
return null;
- set neverProperty(Null value) → void {}
- method nullMethod(Null value) → Never*
+ set neverProperty(Never* value) → void {}
+ method nullMethod(Never* value) → Never*
return value;
get nullProperty() → Never*
return null;
- set nullProperty(Null value) → void {}
+ set nullProperty(Never* value) → void {}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect
index 46b2806..86be531 100644
--- a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.modular.expect
index 46b2806..86be531 100644
--- a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.modular.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.outline.expect
index c8ed156..6d750cf 100644
--- a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.outline.expect
@@ -13,6 +13,6 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect
index 46b2806..86be531 100644
--- a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect
@@ -13,5 +13,5 @@
import self as self;
import "dart:core" as core;
-static field core::int? i;
+static field core::int* i;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
index f0e3bf9..54314ed 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
@@ -136,7 +136,7 @@
import self as self2;
import "dart:core" as core;
-typedef F = () →? void;
+typedef F = () →* void;
class A<T extends core::Object* = dynamic> extends core::Object {
field core::int* field = 42;
synthetic constructor •() → self2::A<self2::A::T*>*
@@ -158,15 +158,15 @@
: super self2::A::•()
;
}
-static field core::List<core::String?>* l = <core::String*>[];
-static field core::String? s = null;
+static field core::List<core::String*>* l = <core::String*>[];
+static field core::String* s = null;
static field core::String* t = self2::s!;
static field core::int* field = 42;
static method method(() →* void f, {core::int* a = #C1}) → void {}
static method errors() → dynamic {
core::int* local = 42;
- has-declared-initializer core::List<core::String?>* l = null;
- has-declared-initializer core::String? s = null;
+ has-declared-initializer core::List<core::String*>* l = null;
+ has-declared-initializer core::String* s = null;
core::String* t = s!;
dynamic c;
invalid-expression "pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:36:6: Error: Expected an identifier, but got ''.
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.modular.expect
index f0e3bf9..54314ed 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.modular.expect
@@ -136,7 +136,7 @@
import self as self2;
import "dart:core" as core;
-typedef F = () →? void;
+typedef F = () →* void;
class A<T extends core::Object* = dynamic> extends core::Object {
field core::int* field = 42;
synthetic constructor •() → self2::A<self2::A::T*>*
@@ -158,15 +158,15 @@
: super self2::A::•()
;
}
-static field core::List<core::String?>* l = <core::String*>[];
-static field core::String? s = null;
+static field core::List<core::String*>* l = <core::String*>[];
+static field core::String* s = null;
static field core::String* t = self2::s!;
static field core::int* field = 42;
static method method(() →* void f, {core::int* a = #C1}) → void {}
static method errors() → dynamic {
core::int* local = 42;
- has-declared-initializer core::List<core::String?>* l = null;
- has-declared-initializer core::String? s = null;
+ has-declared-initializer core::List<core::String*>* l = null;
+ has-declared-initializer core::String* s = null;
core::String* t = s!;
dynamic c;
invalid-expression "pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:36:6: Error: Expected an identifier, but got ''.
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.outline.expect
index de1edfa..d0348a2 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.outline.expect
@@ -87,7 +87,7 @@
import self as self2;
import "dart:core" as core;
-typedef F = () →? void;
+typedef F = () →* void;
class A<T extends core::Object* = dynamic> extends core::Object {
field core::int* field;
synthetic constructor •() → self2::A<self2::A::T*>*
@@ -107,8 +107,8 @@
synthetic constructor •() → self2::B*
;
}
-static field core::List<core::String?>* l;
-static field core::String? s;
+static field core::List<core::String*>* l;
+static field core::String* s;
static field core::String* t;
static field core::int* field;
static method method(() →* void f, {core::int* a}) → void
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
index bcdf3bd..836b9e3 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
@@ -136,7 +136,7 @@
import self as self2;
import "dart:core" as core;
-typedef F = () →? void;
+typedef F = () →* void;
class A<T extends core::Object* = dynamic> extends core::Object {
field core::int* field = 42;
synthetic constructor •() → self2::A<self2::A::T*>*
@@ -158,15 +158,15 @@
: super self2::A::•()
;
}
-static field core::List<core::String?>* l = core::_GrowableList::•<core::String*>(0);
-static field core::String? s = null;
+static field core::List<core::String*>* l = core::_GrowableList::•<core::String*>(0);
+static field core::String* s = null;
static field core::String* t = self2::s!;
static field core::int* field = 42;
static method method(() →* void f, {core::int* a = #C1}) → void {}
static method errors() → dynamic {
core::int* local = 42;
- has-declared-initializer core::List<core::String?>* l = null;
- has-declared-initializer core::String? s = null;
+ has-declared-initializer core::List<core::String*>* l = null;
+ has-declared-initializer core::String* s = null;
core::String* t = s!;
dynamic c;
invalid-expression "pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:36:6: Error: Expected an identifier, but got ''.
diff --git a/tools/VERSION b/tools/VERSION
index 5aa9356..1bebd47 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 18
PATCH 0
-PRERELEASE 35
+PRERELEASE 36
PRERELEASE_PATCH 0
\ No newline at end of file