Commit aedef513 authored by pq's avatar pq

Analyze command cleanup.

Removing some special-casing in pursuit of aligning `flutter analyze` output with that provided by server/IDEs.  Specifically:
  * strong-hints (stale, no longer supported)
  * "analyzer says" comment handling in favor of `//ignore`s
  * `conflictingNamePattern` --- no longer needed

Next up some of the error filter regexps...
parent bbb7f14a
...@@ -289,7 +289,6 @@ class AnalyzeCommand extends FlutterCommand { ...@@ -289,7 +289,6 @@ class AnalyzeCommand extends FlutterCommand {
'--strong', '--strong',
'--package-warnings', '--package-warnings',
'--fatal-warnings', '--fatal-warnings',
'--strong-hints',
'--fatal-hints', '--fatal-hints',
// defines lints // defines lints
'--options', optionsFile.path, '--options', optionsFile.path,
...@@ -340,8 +339,6 @@ class AnalyzeCommand extends FlutterCommand { ...@@ -340,8 +339,6 @@ class AnalyzeCommand extends FlutterCommand {
RegExp generalPattern = new RegExp(r'^\[(error|warning|hint|lint)\] (.+) \(([^(),]+), line ([0-9]+), col ([0-9]+)\)$'); RegExp generalPattern = new RegExp(r'^\[(error|warning|hint|lint)\] (.+) \(([^(),]+), line ([0-9]+), col ([0-9]+)\)$');
RegExp allowedIdentifiersPattern = new RegExp(r'_?([A-Z]|_+)\b'); RegExp allowedIdentifiersPattern = new RegExp(r'_?([A-Z]|_+)\b');
RegExp constructorTearOffsPattern = new RegExp('.+#.+// analyzer doesn\'t like constructor tear-offs'); RegExp constructorTearOffsPattern = new RegExp('.+#.+// analyzer doesn\'t like constructor tear-offs');
RegExp ignorePattern = new RegExp(r'// analyzer says "([^"]+)"');
RegExp conflictingNamesPattern = new RegExp('^The imported libraries \'([^\']+)\' and \'([^\']+)\' cannot have the same name \'([^\']+)\'\$');
RegExp missingFilePattern = new RegExp('^Target of URI does not exist: \'([^\')]+)\'\$'); RegExp missingFilePattern = new RegExp('^Target of URI does not exist: \'([^\')]+)\'\$');
Set<String> changedFiles = new Set<String>(); // files about which we've complained that they changed Set<String> changedFiles = new Set<String>(); // files about which we've complained that they changed
...@@ -374,11 +371,8 @@ class AnalyzeCommand extends FlutterCommand { ...@@ -374,11 +371,8 @@ class AnalyzeCommand extends FlutterCommand {
} }
bool shouldIgnore = false; bool shouldIgnore = false;
if (filename == mainFile.path) { if (filename == mainFile.path) {
Match libs = conflictingNamesPattern.firstMatch(errorMessage);
Match missing = missingFilePattern.firstMatch(errorMessage); Match missing = missingFilePattern.firstMatch(errorMessage);
if (libs != null) { if (missing != null) {
errorLine = '[$level] $errorMessage (${dartFiles[lineNumber-1]})'; // strip the reference to the generated main.dart
} else if (missing != null) {
errorLine = '[$level] File does not exist (${missing[1]})'; errorLine = '[$level] File does not exist (${missing[1]})';
} else { } else {
errorLine += ' (Please file a bug on the "flutter analyze" command saying that you saw this message.)'; errorLine += ' (Please file a bug on the "flutter analyze" command saying that you saw this message.)';
...@@ -394,14 +388,6 @@ class AnalyzeCommand extends FlutterCommand { ...@@ -394,14 +388,6 @@ class AnalyzeCommand extends FlutterCommand {
shouldIgnore = true; shouldIgnore = true;
} else if (constructorTearOffsPattern.allMatches(sourceLine).isNotEmpty) { } else if (constructorTearOffsPattern.allMatches(sourceLine).isNotEmpty) {
shouldIgnore = true; shouldIgnore = true;
} else {
Iterable<Match> ignoreGroups = ignorePattern.allMatches(sourceLine);
for (Match ignoreGroup in ignoreGroups) {
if (errorMessage.contains(ignoreGroup[1])) {
shouldIgnore = true;
break;
}
}
} }
if (shouldIgnore) if (shouldIgnore)
continue; continue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment