Include experiments into AnalysisOptions.unlinkedSignature.
Enabled experiments might affect how we parse Dart code, e.g. `?` for
nullable types. So, we need to include at least some experiments into
unlinkedSignature. So, we pessimistically include all of them.
R=brianwilkerson@google.com, paulberry@google.com
Change-Id: Ib6e95fe7f4efaa6e6ada1c3a81d010c89f9676d5
Reviewed-on: https://dart-review.googlesource.com/c/88602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
index b56a2ca..10894cd 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -1750,6 +1750,12 @@
buffer.addBool(enableLazyAssignmentOperators);
buffer.addBool(useFastaParser);
+ // Append enabled experiments.
+ buffer.addInt(enabledExperiments.length);
+ for (String experimentName in enabledExperiments) {
+ buffer.addString(experimentName);
+ }
+
// Hash and convert to Uint32List.
List<int> bytes = buffer.toByteList();
_unlinkedSignature = new Uint8List.fromList(bytes).buffer.asUint32List();