@@ -7,14 +7,11 @@ import 'package:analyzer/file_system/file_system.dart';
7
7
import 'package:analyzer/src/context/packages.dart' ;
8
8
import 'package:analyzer/src/generated/source.dart' ;
9
9
import 'package:meta/meta.dart' ;
10
- import 'package:pub_semver/pub_semver.dart' ;
11
10
12
11
class FeatureSetProvider {
13
12
/// This flag will be turned to `true` and inlined when we un-fork SDK,
14
13
/// so that the only SDK is the Null Safe SDK.
15
- static const isNullSafetySdk = false ;
16
-
17
- static final _preNonNullableVersion = Version (2 , 7 , 0 );
14
+ static const isNullSafetySdk = true ;
18
15
19
16
final FeatureSet _sdkFeatureSet;
20
17
final Packages _packages;
@@ -58,11 +55,7 @@ class FeatureSetProvider {
58
55
@required FeatureSet packageDefaultFeatureSet,
59
56
@required FeatureSet nonPackageDefaultFeatureSet,
60
57
}) {
61
- var sdkFeatureSet = _determineSdkFeatureSet (
62
- resourceProvider,
63
- sourceFactory,
64
- packageDefaultFeatureSet,
65
- );
58
+ var sdkFeatureSet = FeatureSet .fromEnableFlags (['non-nullable' ]);
66
59
67
60
return FeatureSetProvider ._(
68
61
sdkFeatureSet: sdkFeatureSet,
@@ -71,32 +64,4 @@ class FeatureSetProvider {
71
64
nonPackageDefaultFeatureSet: nonPackageDefaultFeatureSet,
72
65
);
73
66
}
74
-
75
- /// Read `dart:core` file and determine if SDK in non-nullable by default.
76
- ///
77
- /// If it is, use the [defaultFeatureSet] , which might have enabled
78
- /// [Feature.non_nullable] , so SDK will be parsed and resolved as
79
- /// non-nullable.
80
- ///
81
- /// Otherwise, restrict the SDK language to the maximum known now.
82
- static FeatureSet _determineSdkFeatureSet (
83
- ResourceProvider resourceProvider,
84
- SourceFactory sourceFactory,
85
- FeatureSet defaultFeatureSet,
86
- ) {
87
- var objectSource = sourceFactory.forUri ('dart:core/object.dart' );
88
- if (objectSource == null ) {
89
- objectSource = sourceFactory.forUri ('dart:core' );
90
- }
91
-
92
- try {
93
- var objectFile = resourceProvider.getFile (objectSource.fullName);
94
- var objectContent = objectFile.readAsStringSync ();
95
- if (! objectContent.contains ('bool operator ==(Object other)' )) {
96
- return defaultFeatureSet.restrictToVersion (_preNonNullableVersion);
97
- }
98
- } catch (_) {}
99
-
100
- return defaultFeatureSet;
101
- }
102
67
}
0 commit comments