| Index: lib/strong_mode.dart
|
| diff --git a/lib/strong_mode.dart b/lib/strong_mode.dart
|
| deleted file mode 100644
|
| index 45d17ab50ff9b0327d8099e7d06125324bc89123..0000000000000000000000000000000000000000
|
| --- a/lib/strong_mode.dart
|
| +++ /dev/null
|
| @@ -1,112 +0,0 @@
|
| -// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -/// Types needed to implement "strong" checking in the Dart analyzer. This is
|
| -/// intended to be used by `analyzer_cli` and `analysis_server` packages.
|
| -library dev_compiler.strong_mode;
|
| -
|
| -import 'package:analyzer/src/generated/engine.dart'
|
| - show
|
| - AnalysisContext,
|
| - AnalysisContextImpl,
|
| - AnalysisEngine,
|
| - AnalysisErrorInfo,
|
| - AnalysisErrorInfoImpl;
|
| -import 'package:analyzer/src/generated/error.dart'
|
| - show
|
| - AnalysisError,
|
| - AnalysisErrorListener,
|
| - CompileTimeErrorCode,
|
| - ErrorCode,
|
| - ErrorSeverity,
|
| - HintCode,
|
| - StaticTypeWarningCode;
|
| -import 'package:analyzer/src/generated/source.dart' show Source;
|
| -import 'package:args/args.dart';
|
| -
|
| -import 'src/analysis_context.dart' show enableDevCompilerInference;
|
| -import 'src/checker/checker.dart' show CodeChecker;
|
| -import 'src/checker/rules.dart' show TypeRules;
|
| -
|
| -/// A type checker for Dart code that operates under stronger rules, and has
|
| -/// the ability to do local type inference in some situations.
|
| -// TODO(jmesserly): remove this class.
|
| -class StrongChecker {
|
| - final AnalysisContext _context;
|
| - final CodeChecker _checker;
|
| - final _ErrorCollector _reporter;
|
| -
|
| - StrongChecker._(this._context, this._checker, this._reporter);
|
| -
|
| - factory StrongChecker(AnalysisContext context, StrongModeOptions options) {
|
| - // TODO(vsm): Remove this once analyzer_cli is completely switched to the
|
| - // task model.
|
| - if (!AnalysisEngine.instance.useTaskModel) {
|
| - enableDevCompilerInference(context, options);
|
| - var rules = new TypeRules(context.typeProvider);
|
| - var reporter = new _ErrorCollector(options.hints);
|
| - var checker = new CodeChecker(rules, reporter);
|
| - return new StrongChecker._(context, checker, reporter);
|
| - }
|
| - return new StrongChecker._(context, null, null);
|
| - }
|
| -
|
| - /// Computes and returns DDC errors for the [source].
|
| - AnalysisErrorInfo computeErrors(Source source) {
|
| - var errors = new List<AnalysisError>();
|
| - if (_checker != null) {
|
| - _reporter.errors = errors;
|
| -
|
| - for (Source librarySource in _context.getLibrariesContaining(source)) {
|
| - var resolved = _context.resolveCompilationUnit2(source, librarySource);
|
| - _checker.visitCompilationUnit(resolved);
|
| - }
|
| - _reporter.errors = null;
|
| - }
|
| - return new AnalysisErrorInfoImpl(errors, _context.getLineInfo(source));
|
| - }
|
| -}
|
| -
|
| -class _ErrorCollector implements AnalysisErrorListener {
|
| - List<AnalysisError> errors;
|
| - final bool hints;
|
| - _ErrorCollector(this.hints);
|
| -
|
| - void onError(AnalysisError error) {
|
| - // Unless DDC hints are requested, filter them out.
|
| - var HINT = ErrorSeverity.INFO.ordinal;
|
| - if (hints || error.errorCode.errorSeverity.ordinal > HINT) {
|
| - errors.add(error);
|
| - }
|
| - }
|
| -}
|
| -
|
| -// TODO(jmesserly): this type is dead now. It's preserved because analyzer_cli
|
| -// passes the `hints` option.
|
| -class StrongModeOptions {
|
| - /// Whether to include hints about dynamic invokes and runtime checks.
|
| - // TODO(jmesserly): this option is not used yet by DDC server mode or batch
|
| - // compile to JS.
|
| - final bool hints;
|
| -
|
| - const StrongModeOptions({this.hints: false});
|
| -
|
| - StrongModeOptions.fromArguments(ArgResults args, {String prefix: ''})
|
| - : hints = args[prefix + 'hints'];
|
| -
|
| - static ArgParser addArguments(ArgParser parser,
|
| - {String prefix: '', bool hide: false}) {
|
| - return parser
|
| - ..addFlag(prefix + 'hints',
|
| - help: 'Display hints about dynamic casts and dispatch operations',
|
| - defaultsTo: false,
|
| - hide: hide);
|
| - }
|
| -
|
| - bool operator ==(Object other) {
|
| - if (other is! StrongModeOptions) return false;
|
| - StrongModeOptions s = other;
|
| - return hints == s.hints;
|
| - }
|
| -}
|
|
|