Version 2.10.0-111.0.dev

Merge commit '4585d4af0abad15a225b8abf7044a8392a3b49df' into 'dev'
diff --git a/DEPS b/DEPS
index 8d2dda6..5e49e15 100644
--- a/DEPS
+++ b/DEPS
@@ -97,7 +97,7 @@
   "dart_style_tag": "1.3.7",  # Please see the note above before updating.
 
   "chromedriver_tag": "83.0.4103.39",
-  "dartdoc_rev" : "b039e21a7226b61ca2de7bd6c7a07fc77d4f64a9",
+  "dartdoc_rev" : "ab98003fc368f484fcc4c055770adea47bc83fbd",
   "ffi_rev": "454ab0f9ea6bd06942a983238d8a6818b1357edb",
   "fixnum_rev": "16d3890c6dc82ca629659da1934e412292508bba",
   "glob_rev": "e9f4e6b7ae8abe5071461cf8f47191bb19cf7ef6",
diff --git a/pkg/dev_compiler/lib/src/kernel/type_table.dart b/pkg/dev_compiler/lib/src/kernel/type_table.dart
index 8421a66..8f8a002 100644
--- a/pkg/dev_compiler/lib/src/kernel/type_table.dart
+++ b/pkg/dev_compiler/lib/src/kernel/type_table.dart
@@ -123,7 +123,7 @@
   /// Heuristically choose a good name for the cache and generator
   /// variables.
   js_ast.TemporaryId chooseTypeName(DartType type) {
-    return js_ast.TemporaryId(_typeString(type));
+    return js_ast.TemporaryId(escapeIdentifier(_typeString(type)));
   }
 }
 
diff --git a/tools/VERSION b/tools/VERSION
index 13e4a72..4af5629 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 10
 PATCH 0
-PRERELEASE 110
+PRERELEASE 111
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/dart_sdk.py b/tools/bots/dart_sdk.py
index f152233..77daa10 100755
--- a/tools/bots/dart_sdk.py
+++ b/tools/bots/dart_sdk.py
@@ -41,13 +41,16 @@
     dart_exe = os.path.join(dart_sdk, 'bin', 'dart')
     dartdoc_dart = os.path.join(bot_utils.DART_DIR, 'third_party', 'pkg',
                                 'dartdoc', 'bin', 'dartdoc.dart')
+    footer_text_file = os.path.join(bot_utils.DART_DIR, 'tools', 'bots',
+                                    'dartdoc_footer_text.html')
     footer_file = os.path.join(bot_utils.DART_DIR, 'tools', 'bots',
                                'dartdoc_footer.html')
     url = 'https://api.dartlang.org/stable'
     with bot.BuildStep('Build API docs by dartdoc'):
         bot_utils.run([
             dart_exe, dartdoc_dart, '--sdk-docs', '--output', dirname,
-            '--enable-experiment', 'non-nullable', '--footer', footer_file,
+            '--enable-experiment', 'non-nullable', '--footer-text',
+            footer_text_file, '--footer', footer_file,
             '--rel-canonical-prefix=' + url
         ])
 
diff --git a/tools/bots/dartdoc_footer_text.html b/tools/bots/dartdoc_footer_text.html
new file mode 100644
index 0000000..6664882
--- /dev/null
+++ b/tools/bots/dartdoc_footer_text.html
@@ -0,0 +1,5 @@
+•
+<span class="copyright no-break">
+  <a href="http://creativecommons.org/licenses/by/4.0/">Site CC BY 4.0</a>
+</span>
+