Update Blaze language version reference.

From https://critique.corp.google.com/cl/590196257

Change-Id: Ic1e89a9449ac9f16e8064e0d6256a56593934dea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/341380
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
diff --git a/pkg/analyzer/lib/src/workspace/blaze.dart b/pkg/analyzer/lib/src/workspace/blaze.dart
index 9ae7a95..a80a458 100644
--- a/pkg/analyzer/lib/src/workspace/blaze.dart
+++ b/pkg/analyzer/lib/src/workspace/blaze.dart
@@ -543,9 +543,9 @@
       return null;
     }
 
-    final pattern = RegExp(r'_version_null_safety\s*=\s*"(\d+\.\d+)"');
+    final pattern = RegExp(r'(^|\s+)_version\s*=\s*"(\d+\.\d+)"');
     for (var match in pattern.allMatches(content)) {
-      return Version.parse('${match.group(1)}.0');
+      return Version.parse('${match.group(2)}.0');
     }
 
     return null;
diff --git a/pkg/analyzer/test/src/workspace/blaze_test.dart b/pkg/analyzer/test/src/workspace/blaze_test.dart
index 71d61df..e9467a1 100644
--- a/pkg/analyzer/test/src/workspace/blaze_test.dart
+++ b/pkg/analyzer/test/src/workspace/blaze_test.dart
@@ -9,10 +9,12 @@
 import 'package:analyzer/src/util/file_paths.dart' as file_paths;
 import 'package:analyzer/src/workspace/blaze.dart';
 import 'package:async/async.dart';
+import 'package:pub_semver/pub_semver.dart';
 import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
 import '../../generated/test_support.dart';
+import '../dart/resolution/context_collection_resolution.dart';
 
 main() {
   defineReflectiveSuite(() {
@@ -20,6 +22,7 @@
     defineReflectiveTests(BlazePackageUriResolverTest);
     defineReflectiveTests(BlazeWorkspaceTest);
     defineReflectiveTests(BlazeWorkspacePackageTest);
+    defineReflectiveTests(BlazeLanguageVersionTest);
   });
 }
 
@@ -185,6 +188,36 @@
 }
 
 @reflectiveTest
+class BlazeLanguageVersionTest extends BlazeWorkspaceResolutionTest {
+  void test_buildFile_nonNullable_languageVersion_fromWorkspace() async {
+    newFile('$workspaceRootPath/dart/build_defs/bzl/language.bzl', r'''
+_version = "3.1"
+_version_for_analyzer = _version
+
+language = struct(
+    version = _version,
+    version_for_analyzer = _version_for_analyzer,
+)
+''');
+
+    await resolveFileCode('$myPackageRootPath/lib/a.dart', '');
+    _assertLanguageVersion(
+      package: Version.parse('3.1.0'),
+      override: null,
+    );
+  }
+
+  void _assertLanguageVersion({
+    required Version package,
+    required Version? override,
+  }) async {
+    var element = result.libraryElement;
+    expect(element.languageVersion.package, package);
+    expect(element.languageVersion.override, override);
+  }
+}
+
+@reflectiveTest
 class BlazePackageUriResolverTest with ResourceProviderMixin {
   late final BlazeWorkspace workspace;
   late final BlazePackageUriResolver resolver;