Chromium Code Reviews| Index: dart/site/try/poi/poi.dart |
| diff --git a/dart/site/try/poi/poi.dart b/dart/site/try/poi/poi.dart |
| index 4ab440483428875bcee6b099a9c8f10c222a64cf..5ae34dcec69ed9654e4c9c5edb82f6138ebbb105 100644 |
| --- a/dart/site/try/poi/poi.dart |
| +++ b/dart/site/try/poi/poi.dart |
| @@ -88,6 +88,15 @@ int poiCount; |
| int globalCounter = 0; |
| +/// Enabled by the option --verbose (or -v). Prints more information than you |
| +/// really need. |
|
Johnni Winther
2014/09/09 13:49:13
Nice comment :)
ahe
2014/09/09 14:35:13
Acknowledged.
|
| +bool isVerbose = false; |
| + |
| +/// When true (the default value) print serialized scope information at the |
| +/// provided position. |
| +const bool PRINT_SCOPE_INFO = |
| + const bool.fromEnvironment('PRINT_SCOPE_INFO', defaultValue: true); |
| + |
| /// Iterator for reading lines from [io.stdin]. |
| class StdinIterator implements Iterator<String> { |
| String current; |
| @@ -98,6 +107,11 @@ class StdinIterator implements Iterator<String> { |
| } |
| } |
| +printVerbose(message) { |
| + if (!isVerbose) return; |
| + print(message); |
| +} |
| + |
| main(List<String> arguments) { |
| poiCount = 0; |
| List<String> nonOptionArguments = []; |
| @@ -107,6 +121,10 @@ main(List<String> arguments) { |
| case '--simulate-mutation': |
| isSimulateMutationEnabled = true; |
| break; |
| + case '-v': |
| + case '--verbose': |
| + isVerbose = true; |
| + break; |
| default: |
| throw 'Unknown option: $argument.'; |
| } |
| @@ -148,25 +166,25 @@ api.CompilerInputProvider simulateMutation( |
| int counter = ++globalCounter; |
| return (Uri uri) { |
| if (counter != globalCounter) throw 'Using old provider'; |
| - print('fake inputProvider#$counter($uri): $poiCount $count'); |
| + printVerbose('fake inputProvider#$counter($uri): $poiCount $count'); |
| if (uri == script) { |
| if (poiCount == count) { |
| cachedFileName = uri.toFilePath(); |
| if (count != 0) { |
| cachedFileName = '$cachedFileName.$count.dart'; |
| } |
| - print('Not using cached version of $cachedFileName'); |
| + printVerbose('Not using cached version of $cachedFileName'); |
| cache = new File(cachedFileName).readAsBytes().then((data) { |
| - print('Read file $cachedFileName: ${UTF8.decode(data)}'); |
| + printVerbose('Read file $cachedFileName: ${UTF8.decode(data)}'); |
| return data; |
| }); |
| count++; |
| } else { |
| - print('Using cached version of $cachedFileName'); |
| + printVerbose('Using cached version of $cachedFileName'); |
| } |
| return cache; |
| } else { |
| - print('Using realProvider for $uri'); |
| + printVerbose('Using original provider for $uri'); |
| return inputProvider(uri); |
| } |
| }; |
| @@ -222,10 +240,13 @@ Future parseUserInput( |
| if (position == null) return repeat(); |
| inputProvider(script); |
| - handler( |
| - script, position, position + 1, |
| - 'Point of interest. Cursor is immediately before highlighted character.', |
| - api.Diagnostic.HINT); |
| + if (isVerbose) { |
| + handler( |
| + script, position, position + 1, |
| + 'Point of interest. ' |
| + 'Cursor is immediately before highlighted character.', |
| + api.Diagnostic.HINT); |
| + } |
| Stopwatch sw = new Stopwatch()..start(); |
| @@ -236,8 +257,10 @@ Future parseUserInput( |
| sw.reset(); |
| String info = scopeInformation(element, position); |
| sw.stop(); |
| - print(info); |
| - print('Scope information took ${sw.elapsedMicroseconds}us.'); |
| + if (PRINT_SCOPE_INFO) { |
| + print(info); |
| + } |
| + printVerbose('Scope information took ${sw.elapsedMicroseconds}us.'); |
| sw..reset()..start(); |
| Token token = findToken(element, position); |
| String prefix; |
| @@ -250,13 +273,13 @@ Future parseUserInput( |
| prefix = token.value.substring(0, position - token.charOffset); |
| } |
| } |
| - print('Find token took ${sw.elapsedMicroseconds}us.'); |
| + printVerbose('Find token took ${sw.elapsedMicroseconds}us.'); |
| sw.reset(); |
| if (prefix != null) { |
| return queryDartMind(prefix, info).then((String dartMindSuggestion) { |
| sw.stop(); |
| print('Dart Mind ($prefix): $dartMindSuggestion.'); |
| - print('Dart Mind took ${sw.elapsedMicroseconds}us.'); |
| + printVerbose('Dart Mind took ${sw.elapsedMicroseconds}us.'); |
| return repeat(); |
| }); |
| } else { |