analysis_server: Remove implicit casts in lib/

Bug: https://github.com/dart-lang/sdk/issues/41651
Change-Id: I1a804bbf0c0b2d26fcd12111ec68f673f4a41a04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222042
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
This commit is contained in:
Sam Rawlins 2021-12-06 00:54:35 +00:00 committed by Commit Bot
parent 3bfb2db3d0
commit 2206b6999b
12 changed files with 56 additions and 50 deletions

View file

@ -743,7 +743,7 @@ class PluginManager {
sourceUrl: pubspecFile.toUri());
var contents = document.contents;
if (contents is YamlMap) {
YamlNode dependencies = contents['dependencies'];
var dependencies = contents['dependencies'] as YamlNode?;
if (dependencies is YamlMap) {
return dependencies.keys.cast<String>();
}

View file

@ -80,20 +80,21 @@ class DevAnalysisServer {
continue;
}
String severity = error['severity'].toLowerCase();
var severity = (error['severity'] as String).toLowerCase();
if (severity == 'warning' && exitCode < 1) {
exitCode = 1;
} else if (severity == 'error' && exitCode < 2) {
exitCode = 2;
}
String message = error['message'];
var message = error['message'] as String;
if (message.endsWith('.')) {
message = message.substring(0, message.length - 1);
}
String code = error['code'];
int line = error['location']['startLine'];
int column = error['location']['startColumn'];
var code = error['code'] as String;
var location = error['location'] as Map<Object?, Object?>;
var line = location['startLine'] as int;
var column = location['startColumn'] as int;
print(' $severity$bold$message$none at $filePath:$line:$column'
'($code)');

View file

@ -145,10 +145,12 @@ class Driver implements ServerStarter {
var analysisServerOptions = AnalysisServerOptions();
analysisServerOptions.newAnalysisDriverLog =
results[ANALYSIS_DRIVER_LOG] ?? results[ANALYSIS_DRIVER_LOG_ALIAS];
analysisServerOptions.clientId = results[CLIENT_ID];
(results[ANALYSIS_DRIVER_LOG] ?? results[ANALYSIS_DRIVER_LOG_ALIAS])
as String?;
analysisServerOptions.clientId = results[CLIENT_ID] as String?;
if (results.wasParsed(USE_LSP)) {
analysisServerOptions.useLanguageServerProtocol = results[USE_LSP];
analysisServerOptions.useLanguageServerProtocol =
results[USE_LSP] as bool;
} else {
analysisServerOptions.useLanguageServerProtocol =
results[SERVER_PROTOCOL] == PROTOCOL_LSP;
@ -160,18 +162,18 @@ class Driver implements ServerStarter {
? 'unknown.client.lsp'
: 'unknown.client.classic';
analysisServerOptions.clientVersion = results[CLIENT_VERSION];
analysisServerOptions.cacheFolder = results[CACHE_FOLDER];
analysisServerOptions.packagesFile = results[PACKAGES_FILE];
analysisServerOptions.clientVersion = results[CLIENT_VERSION] as String?;
analysisServerOptions.cacheFolder = results[CACHE_FOLDER] as String?;
analysisServerOptions.packagesFile = results[PACKAGES_FILE] as String?;
analysisServerOptions.reportProtocolVersion =
results[REPORT_PROTOCOL_VERSION];
results[REPORT_PROTOCOL_VERSION] as String?;
// Read in any per-SDK overrides specified in <sdk>/config/settings.json.
var sdkConfig = SdkConfiguration.readFromSdk();
analysisServerOptions.configurationOverrides = sdkConfig;
// Analytics
bool disableAnalyticsForSession = results[SUPPRESS_ANALYTICS_FLAG];
var disableAnalyticsForSession = results[SUPPRESS_ANALYTICS_FLAG] as bool;
if (results.wasParsed(TRAIN_USING)) {
disableAnalyticsForSession = true;
}
@ -212,15 +214,16 @@ class Driver implements ServerStarter {
if (telemetry.showAnalyticsUI) {
if (results.wasParsed(ANALYTICS_FLAG)) {
analytics.enabled = results[ANALYTICS_FLAG];
analytics.enabled = results[ANALYTICS_FLAG] as bool;
print(telemetry.createAnalyticsStatusMessage(analytics.enabled));
return null;
}
}
{
bool disableCompletion = results[DISABLE_SERVER_FEATURE_COMPLETION];
bool disableSearch = results[DISABLE_SERVER_FEATURE_SEARCH];
var disableCompletion =
results[DISABLE_SERVER_FEATURE_COMPLETION] as bool;
var disableSearch = results[DISABLE_SERVER_FEATURE_SEARCH] as bool;
if (disableCompletion || disableSearch) {
analysisServerOptions.featureSet = FeatureSet(
completion: !disableCompletion,
@ -229,7 +232,7 @@ class Driver implements ServerStarter {
}
}
if (results[HELP_OPTION]) {
if (results[HELP_OPTION] as bool) {
_printUsage(parser, analytics, fromHelp: true);
return null;
}
@ -244,8 +247,8 @@ class Driver implements ServerStarter {
//
// Initialize the instrumentation service.
//
var logFilePath =
results[PROTOCOL_TRAFFIC_LOG] ?? results[PROTOCOL_TRAFFIC_LOG_ALIAS];
var logFilePath = (results[PROTOCOL_TRAFFIC_LOG] ??
results[PROTOCOL_TRAFFIC_LOG_ALIAS]) as String?;
var allInstrumentationServices = this.instrumentationService == null
? <InstrumentationService>[]
: [this.instrumentationService!];
@ -274,8 +277,8 @@ class Driver implements ServerStarter {
AnalysisEngine.instance.instrumentationService = instrumentationService;
int? diagnosticServerPort;
final String? portValue =
results[DIAGNOSTIC_PORT] ?? results[DIAGNOSTIC_PORT_ALIAS];
final portValue =
(results[DIAGNOSTIC_PORT] ?? results[DIAGNOSTIC_PORT_ALIAS]) as String?;
if (portValue != null) {
try {
diagnosticServerPort = int.parse(portValue);
@ -324,10 +327,10 @@ class Driver implements ServerStarter {
ErrorNotifier errorNotifier,
SendPort? sendPort,
) {
var capture = results[DISABLE_SERVER_EXCEPTION_HANDLING]
var capture = results[DISABLE_SERVER_EXCEPTION_HANDLING] as bool
? (_, Function f, {Function(String)? print}) => f()
: _captureExceptions;
var trainDirectory = results[TRAIN_USING];
var trainDirectory = results[TRAIN_USING] as String?;
if (trainDirectory != null) {
if (!FileSystemEntity.isDirectorySync(trainDirectory)) {
print("Training directory '$trainDirectory' not found.\n");
@ -426,7 +429,7 @@ class Driver implements ServerStarter {
if (sendPort == null) exit(0);
});
},
print: results[INTERNAL_PRINT_TO_CONSOLE]
print: results[INTERNAL_PRINT_TO_CONSOLE] as bool
? null
: httpServer!.recordPrint);
}
@ -440,7 +443,7 @@ class Driver implements ServerStarter {
int? diagnosticServerPort,
ErrorNotifier errorNotifier,
) {
var capture = args[DISABLE_SERVER_EXCEPTION_HANDLING]
var capture = args[DISABLE_SERVER_EXCEPTION_HANDLING] as bool
? (_, Function f, {Function(String)? print}) => f()
: _captureExceptions;
@ -483,7 +486,7 @@ class Driver implements ServerStarter {
InstrumentationService service, void Function() callback,
{void Function(String line)? print}) {
void errorFunction(Zone self, ZoneDelegate parent, Zone zone,
dynamic exception, StackTrace stackTrace) {
Object exception, StackTrace stackTrace) {
service.logException(exception, stackTrace);
throw exception;
}

View file

@ -262,7 +262,7 @@ class StatementCompletionProcessor {
void _checkExpressions(AstNode node) {
// Note: This may queue edits that have to be accounted for later.
// See _lengthOfInsertions().
AstNode? errorMatching(errorCode, {partialMatch}) {
AstNode? errorMatching(ErrorCode errorCode, {Pattern? partialMatch}) {
var error = _findError(errorCode, partialMatch: partialMatch);
if (error == null) {
return null;
@ -1069,7 +1069,7 @@ class StatementCompletionProcessor {
node, stmt, DartStatementCompletion.COMPLETE_WHILE_STMT);
}
engine.AnalysisError? _findError(ErrorCode code, {partialMatch}) {
engine.AnalysisError? _findError(ErrorCode code, {Pattern? partialMatch}) {
return errors.firstWhereOrNull((err) =>
err.errorCode == code &&
(partialMatch == null ? true : err.message.contains(partialMatch)));
@ -1169,7 +1169,7 @@ class StatementCompletionProcessor {
return Position(file, offset);
}
void _removeError(errorCode, {partialMatch}) {
void _removeError(ErrorCode errorCode, {Pattern? partialMatch}) {
var error = _findError(errorCode, partialMatch: partialMatch);
if (error != null) {
errors.remove(error);

View file

@ -131,7 +131,7 @@ abstract class YamlCompletionGenerator {
// value that was next in the path.
var key = node.keyAtValue(path[i + 1]);
if (key is YamlScalar) {
producer = producer.producerForKey(key.value);
producer = producer.producerForKey(key.value as String);
// Otherwise, if the item next in the path was a key itself, use the
// current producer to provide completion for the key.
} else if (node.nodes.containsKey(path[i + 1])) {
@ -154,10 +154,11 @@ abstract class YamlCompletionGenerator {
List<String> siblingsInList(YamlList list, YamlNode? currentElement) {
var siblings = <String>[];
for (var element in list.nodes) {
if (element != currentElement &&
element is YamlScalar &&
element.value is String) {
siblings.add(element.value);
if (element != currentElement && element is YamlScalar) {
var value = element.value;
if (value is String) {
siblings.add(value);
}
}
}
return siblings;

View file

@ -92,7 +92,7 @@ class DataDrivenFix extends CorrectionProducer {
}
var data = <Object>[];
for (var change in changes) {
var result = change.validate(this);
var result = change.validate(this) as Object?;
if (result == null) {
return;
}

View file

@ -42,16 +42,16 @@ class FlutterConvertToChildren extends CorrectionProducer {
void _convertFlutterChildToChildren(
NamedExpression namedExp,
String eol,
Function getNodeText,
Function getLinePrefix,
Function getIndent,
Function getText,
String Function(Expression) getNodeText,
String Function(int) getLinePrefix,
String Function(int) getIndent,
String Function(int, int) getText,
FileEditBuilder builder) {
var childArg = namedExp.expression;
var childLoc = namedExp.offset + 'child'.length;
builder.addSimpleInsertion(childLoc, 'ren');
var listLoc = childArg.offset;
String childArgSrc = getNodeText(childArg);
var childArgSrc = getNodeText(childArg);
if (!childArgSrc.contains(eol)) {
builder.addSimpleInsertion(listLoc, '[');
builder.addSimpleInsertion(listLoc + childArg.length, ']');
@ -60,11 +60,10 @@ class FlutterConvertToChildren extends CorrectionProducer {
if (newlineLoc == childArgSrc.length) {
newlineLoc -= 1;
}
String indentOld =
getLinePrefix(childArg.offset + eol.length + newlineLoc);
var indentOld = getLinePrefix(childArg.offset + eol.length + newlineLoc);
var indentNew = '$indentOld${getIndent(1)}';
// The separator includes 'child:' but that has no newlines.
String separator =
var separator =
getText(namedExp.offset, childArg.offset - namedExp.offset);
var prefix = separator.contains(eol) ? '' : '$eol$indentNew';
if (prefix.isEmpty) {

View file

@ -151,7 +151,7 @@ class AnalysisOptionsFixGenerator {
} else if (nodes.containsValue(child)) {
for (var entry in nodes.entries) {
if (child == entry.value) {
key = entry.key;
key = entry.key as YamlNode?;
value = child;
break;
}

View file

@ -91,6 +91,7 @@ class TransformOverrideSetParser {
/// Report any keys in the [map] whose values are not in [validKeys].
void _reportUnsupportedKeys(YamlMap map, Set<String> validKeys) {
for (var keyNode in map.nodes.keys) {
keyNode as YamlNode;
var key = _translateKey(keyNode);
if (key != null && !validKeys.contains(key)) {
_reportError(TransformSetErrorCode.unsupportedKey, keyNode, [key]);

View file

@ -292,6 +292,7 @@ class TransformSetParser {
/// Report any keys in the [map] whose values are not in [validKeys].
void _reportUnsupportedKeys(YamlMap map, Set<String> validKeys) {
for (var keyNode in map.nodes.keys) {
keyNode as YamlNode;
var key = _translateKey(keyNode);
if (key != null && !validKeys.contains(key)) {
_reportError(TransformSetErrorCode.unsupportedKey, keyNode, [key]);
@ -910,7 +911,7 @@ class TransformSetParser {
if (node is YamlMap) {
var generators = <String, ValueGenerator>{};
for (var entry in node.nodes.entries) {
var name = _translateKey(entry.key);
var name = _translateKey(entry.key as YamlNode);
if (name != null) {
var value = _translateValueGenerator(
entry.value, ErrorContext(key: name, parentNode: node));

View file

@ -492,8 +492,8 @@ Expression stepUpNamedExpression(Expression expression) {
}
/// Return `true` if the given [lists] are identical at the given [position].
bool _allListsIdentical(List<List> lists, int position) {
Object element = lists[0][position];
bool _allListsIdentical(List<List<Object>> lists, int position) {
var element = lists[0][position];
for (var list in lists) {
if (list[position] != element) {
return false;

View file

@ -80,13 +80,13 @@ mixin TreeWriter {
/// Write the [value] of the property with the given [name].
void _writePropertyValue(Object value, int baseIndent) {
if (value is List) {
if (value is List<Object>) {
if (value.isEmpty) {
buffer.write('[]');
} else {
var elementIndent = baseIndent + 2;
buffer.write('[<br>');
for (Object element in value) {
for (var element in value) {
indent(elementIndent);
_writePropertyValue(element, elementIndent);
buffer.write('<br>');