diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index d354751..df8d575 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -82,7 +82,7 @@
 /// TODO(scheglov) Clean up the list of implicitly analyzed files.
 class AnalysisDriver implements AnalysisDriverGeneric {
   /// The version of data format, should be incremented on every format change.
-  static const int DATA_VERSION = 147;
+  static const int DATA_VERSION = 148;
 
   /// The number of exception contexts allowed to write. Once this field is
   /// zero, we stop writing any new exception contexts in this process.
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
index 3686719..9850164 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
@@ -740,9 +740,10 @@
   }
 
   InterpolationString _readInterpolationString() {
+    var lexeme = _readStringReference();
     var value = _readStringReference();
     return astFactory.interpolationString(
-      TokenFactory.tokenFromString(value),
+      TokenFactory.tokenFromString(lexeme),
       value,
     );
   }
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
index 7ae8243..3578bc6 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
@@ -425,6 +425,7 @@
   @override
   void visitInterpolationString(InterpolationString node) {
     _writeByte(Tag.InterpolationString);
+    _writeStringReference(node.contents.lexeme);
     _writeStringReference(node.value);
   }
 
diff --git a/pkg/analyzer/lib/src/summary2/informative_data.dart b/pkg/analyzer/lib/src/summary2/informative_data.dart
index ba09c74..259d681 100644
--- a/pkg/analyzer/lib/src/summary2/informative_data.dart
+++ b/pkg/analyzer/lib/src/summary2/informative_data.dart
@@ -1766,6 +1766,18 @@
   }
 
   @override
+  void visitInterpolationExpression(InterpolationExpression node) {
+    _tokenOrNull(node.leftBracket);
+    _tokenOrNull(node.rightBracket);
+    super.visitInterpolationExpression(node);
+  }
+
+  @override
+  void visitInterpolationString(InterpolationString node) {
+    _tokenOrNull(node.contents);
+  }
+
+  @override
   void visitIsExpression(IsExpression node) {
     _tokenOrNull(node.isOperator);
     super.visitIsExpression(node);
diff --git a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
index 519b2e3..ea5951a 100644
--- a/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
+++ b/pkg/analyzer/test/src/summary/resolved_ast_printer.dart
@@ -854,6 +854,8 @@
     _withIndent(() {
       var properties = _Properties();
       properties.addNode('expression', node.expression);
+      properties.addToken('leftBracket', node.leftBracket);
+      properties.addToken('rightBracket', node.rightBracket);
       _addInterpolationElement(properties, node);
       _writeProperties(properties);
     });
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/resynthesize_common.dart
index 9db2bbc..0dc788c 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_common.dart
@@ -10702,19 +10702,23 @@
           StringInterpolation
             elements
               InterpolationString
-                contents: aaa  @0
+                contents: 'aaa  @341
               InterpolationExpression
                 expression: BooleanLiteral
                   literal: true @348
                   staticType: bool
+                leftBracket: ${ @346
+                rightBracket: } @352
               InterpolationString
-                contents:   @0
+                contents:   @353
               InterpolationExpression
                 expression: IntegerLiteral
                   literal: 42 @356
                   staticType: int
+                leftBracket: ${ @354
+                rightBracket: } @358
               InterpolationString
-                contents:  bbb @0
+                contents:  bbb' @359
             staticType: null
             stringValue: null
       static const vSymbol @372
diff --git a/tools/VERSION b/tools/VERSION
index 7c86e03..9ed9fd4 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 14
 PATCH 0
-PRERELEASE 204
+PRERELEASE 205
 PRERELEASE_PATCH 0
\ No newline at end of file
