diff --git a/pkg/analyzer/lib/src/generated/static_type_analyzer.dart b/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
index 564675f..88f8f3b 100644
--- a/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
+++ b/pkg/analyzer/lib/src/generated/static_type_analyzer.dart
@@ -18,6 +18,7 @@
 import 'package:analyzer/src/dart/element/member.dart' show ConstructorMember;
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/error/codes.dart';
+import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart';
 import 'package:analyzer/src/task/strong/checker.dart'
@@ -56,7 +57,7 @@
   /**
    * The status of the active experiments of the current context.
    */
-  ExperimentStatus _enabledExperiments;
+  ExperimentStatus _experimentStatus;
 
   /**
    * The type representing the class containing the nodes being analyzed,
@@ -79,8 +80,9 @@
     _typeSystem = _resolver.typeSystem;
     _dynamicType = _typeProvider.dynamicType;
     _promoteManager = _resolver.promoteManager;
-    _enabledExperiments = ExperimentStatus.fromStrings(
-        _resolver.definingLibrary.context.analysisOptions.enabledExperiments);
+    _experimentStatus = (_resolver.definingLibrary.context.analysisOptions
+            as AnalysisOptionsImpl)
+        .experimentStatus;
   }
 
   /**
@@ -182,7 +184,7 @@
 
   ParameterizedType inferMapType(MapLiteral node, {bool downwards: false}) {
     DartType contextType = InferenceContext.getContext(node);
-    if (contextType != null && _enabledExperiments.set_literals) {
+    if (contextType != null && _experimentStatus.set_literals) {
       DartType unwrap(DartType type) {
         if (type is InterfaceType &&
             type.isDartAsyncFutureOr &&
diff --git a/pkg/analyzer/lib/src/summary/link.dart b/pkg/analyzer/lib/src/summary/link.dart
index 2f42085..f0a1a4a 100644
--- a/pkg/analyzer/lib/src/summary/link.dart
+++ b/pkg/analyzer/lib/src/summary/link.dart
@@ -62,6 +62,7 @@
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/error/listener.dart';
+import 'package:analyzer/src/dart/analysis/experiments.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/constant/value.dart';
 import 'package:analyzer/src/dart/element/builder.dart';
@@ -434,7 +435,7 @@
   bool get strongModeHints => false;
 
   @override
-  List<String> get enabledExperiments => [];
+  ExperimentStatus get experimentStatus => new ExperimentStatus();
 
   @override
   noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
