Version 2.19.0-49.0.dev

Merge commit 'd5ea4c0fdc48cd77cb05d3a485d1d3c6fd46dc18' into 'dev'
diff --git a/pkg/analysis_server/lib/src/status/element_writer.dart b/pkg/analysis_server/lib/src/status/element_writer.dart
index 1f9328f..8b034ed 100644
--- a/pkg/analysis_server/lib/src/status/element_writer.dart
+++ b/pkg/analysis_server/lib/src/status/element_writer.dart
@@ -43,6 +43,7 @@
       properties['isAbstract'] = element.isAbstract;
       properties['isEnum'] = element.isEnum;
       properties['isMixinApplication'] = element.isMixinApplication;
+      properties['isValidMixin'] = element.isValidMixin;
       properties['mixins'] = element.mixins;
       properties['superclassConstraints'] = element.superclassConstraints;
       properties['supertype'] = element.supertype;
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 1588cce..4bf1253 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -5,7 +5,6 @@
 * Deprecated `ClassOrMixinDeclaration.getMethod`, filter `members` instead.
 * Deprecated `ClassDeclaration.getConstructor`, filter `members` instead.
 * Deprecated `Directive.element`, use `element2` instead.
-* Deprecated `ClassElement.isValidMixin`, it is not useful for clients.
 * Deprecated `ClassElement.hasStaticMember`, it is not useful for clients.
 * Deprecated `NamespaceDirective.uriElement`, use `element2.uri` with `DirectiveUriWithLibrary` instead.
 * Deprecated `UriBasedDirective.uriContent`, `UriBasedDirective.uriElement`, `UriBasedDirective.uriSource`.
diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart
index 18e03b9..ac9dc6c 100644
--- a/pkg/analyzer/lib/dart/element/element.dart
+++ b/pkg/analyzer/lib/dart/element/element.dart
@@ -2328,7 +2328,7 @@
   /// declares a constructor. It is a compile-time error if a mixin is derived
   /// from a class whose superclass is not Object.
   /// </blockquote>
-  @Deprecated('Not useful for clients')
+  /// TODO(scheglov) Deprecate and remove it.
   bool get isValidMixin;
 
   /// Return a list containing all of the superclass constraints defined for
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 98f9781..d734a09 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -816,7 +816,6 @@
     setModifier(Modifier.SIMPLY_BOUNDED, isSimplyBounded);
   }
 
-  @Deprecated('Not useful for clients')
   @override
   bool get isValidMixin {
     final supertype = this.supertype;
@@ -2959,7 +2958,6 @@
     setModifier(Modifier.SIMPLY_BOUNDED, isSimplyBounded);
   }
 
-  @Deprecated('Not useful for clients')
   @override
   bool get isValidMixin => false;
 
diff --git a/pkg/analyzer/test/generated/simple_resolver_test.dart b/pkg/analyzer/test/generated/simple_resolver_test.dart
index 8a4b10d..e26ff8a 100644
--- a/pkg/analyzer/test/generated/simple_resolver_test.dart
+++ b/pkg/analyzer/test/generated/simple_resolver_test.dart
@@ -745,7 +745,6 @@
     verifyTestResolved();
   }
 
-  @deprecated
   test_isValidMixin_badSuperclass() async {
     await assertErrorsInCode(r'''
 class A extends B {}
@@ -759,7 +758,6 @@
     expect(a.isValidMixin, isFalse);
   }
 
-  @deprecated
   test_isValidMixin_constructor() async {
     await assertErrorsInCode(r'''
 class A {
@@ -774,7 +772,6 @@
     expect(a.isValidMixin, isFalse);
   }
 
-  @deprecated
   test_isValidMixin_factoryConstructor() async {
     await assertNoErrorsInCode(r'''
 class A {
@@ -787,7 +784,6 @@
     expect(a.isValidMixin, isTrue);
   }
 
-  @deprecated
   test_isValidMixin_super_toString() async {
     await assertNoErrorsInCode(r'''
 class A {
@@ -802,7 +798,6 @@
     expect(a.isValidMixin, isTrue);
   }
 
-  @deprecated
   test_isValidMixin_valid() async {
     await assertNoErrorsInCode('''
 class A {}
diff --git a/tools/VERSION b/tools/VERSION
index 3ceeb63..65ce53c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 19
 PATCH 0
-PRERELEASE 48
+PRERELEASE 49
 PRERELEASE_PATCH 0
\ No newline at end of file