Move exception support to its own library

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2328043002 .
This commit is contained in:
Brian Wilkerson 2016-09-10 11:04:19 -07:00
parent 0683f81979
commit 6c448b6938
53 changed files with 198 additions and 191 deletions

View file

@ -6,8 +6,8 @@ library input.transformer.instrumentation;
import 'dart:convert';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:logging/logging.dart';
import 'input_converter.dart';

View file

@ -6,7 +6,7 @@ library input.transformer.log_file;
import 'dart:convert';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:logging/logging.dart';
import 'input_converter.dart';

View file

@ -5,8 +5,8 @@
library analysis.logger;
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:logging/logging.dart' as logging;
/**

View file

@ -33,7 +33,7 @@ import 'package:analyzer/source/pub_package_map_provider.dart';
import 'package:analyzer/src/context/builder.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';

View file

@ -25,7 +25,7 @@ import 'package:analyzer/src/context/builder.dart';
import 'package:analyzer/src/context/context.dart' as context;
import 'package:analyzer/src/dart/sdk/sdk.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';

View file

@ -21,9 +21,9 @@ import 'package:analysis_server/src/services/dependencies/library_dependencies.d
import 'package:analysis_server/src/services/dependencies/reachable_source_collector.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/generated/engine.dart' as engine;
import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/task/model.dart' show ResultDescriptor;

View file

@ -10,9 +10,9 @@ import 'package:analysis_server/plugin/analysis/navigation/navigation_core.dart'
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/collections.dart';
import 'package:analysis_server/src/protocol_server.dart' as protocol;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart'
show AnalysisContext, AnalysisEngine;
import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
import 'package:analyzer/src/generated/source.dart' show Source, SourceRange;
/**

View file

@ -7,9 +7,9 @@ library domains.analysis.occurrences;
import 'package:analysis_server/plugin/analysis/occurrences/occurrences_core.dart';
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/protocol_server.dart' as protocol;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart'
show AnalysisContext, AnalysisEngine;
import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
import 'package:analyzer/src/generated/source.dart' show Source;
/**

View file

@ -13,11 +13,11 @@ import 'package:analyzer/dart/ast/ast.dart' as engine;
import 'package:analyzer/dart/ast/visitor.dart' as engine;
import 'package:analyzer/dart/element/element.dart' as engine;
import 'package:analyzer/dart/element/type.dart' as engine;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/source/error_processor.dart';
import 'package:analyzer/src/dart/ast/utilities.dart' as engine;
import 'package:analyzer/src/generated/engine.dart' as engine;
import 'package:analyzer/src/generated/error.dart' as engine;
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart' as engine;
import 'package:analyzer/src/generated/utilities_dart.dart' as engine;

View file

@ -22,11 +22,11 @@ import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/context/context.dart' show AnalysisFutureHelper;
import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/task/dart.dart';
import 'package:analyzer/task/dart.dart';

View file

@ -8,8 +8,8 @@ import 'dart:async';
import 'package:analysis_server/plugin/edit/assist/assist_core.dart';
import 'package:analysis_server/src/plugin/server_plugin.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
/**

View file

@ -9,10 +9,10 @@ import 'dart:async';
import 'package:analysis_server/plugin/edit/fix/fix_core.dart';
import 'package:analysis_server/src/plugin/server_plugin.dart';
import 'package:analysis_server/src/services/correction/fix_internal.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/parser.dart';
/**

View file

@ -27,6 +27,7 @@ import 'package:analysis_server/src/utilities/average.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/source/error_processor.dart';
import 'package:analyzer/source/sdk_ext.dart';
@ -36,7 +37,6 @@ import 'package:analyzer/src/context/source.dart';
import 'package:analyzer/src/dart/sdk/sdk.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';

View file

@ -6,9 +6,9 @@ library analysis_server.src.status.tree_writer;
import 'dart:convert';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/generated/constant.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
/**

View file

@ -7,11 +7,11 @@ library testing.abstract_context;
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source_io.dart';

View file

@ -13,12 +13,12 @@ import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/domain_server.dart';
import 'package:analysis_server/src/operation/operation.dart';
import 'package:analysis_server/src/plugin/server_plugin.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:plugin/manager.dart';

View file

@ -0,0 +1,99 @@
// Copyright (c) 2014, 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.
library analyzer.exception.exception;
/**
* An exception that occurred during the analysis of one or more sources.
*/
class AnalysisException implements Exception {
/**
* The message that explains why the exception occurred.
*/
final String message;
/**
* The exception that caused this exception, or `null` if this exception was
* not caused by another exception.
*/
final CaughtException cause;
/**
* Initialize a newly created exception to have the given [message] and
* [cause].
*/
AnalysisException([this.message = 'Exception', this.cause = null]);
String toString() {
StringBuffer buffer = new StringBuffer();
buffer.write("AnalysisException: ");
buffer.writeln(message);
if (cause != null) {
buffer.write('Caused by ');
cause._writeOn(buffer);
}
return buffer.toString();
}
}
/**
* An exception that was caught and has an associated stack trace.
*/
class CaughtException implements Exception {
/**
* The exception that was caught.
*/
final Object exception;
/**
* The stack trace associated with the exception.
*/
StackTrace stackTrace;
/**
* Initialize a newly created caught exception to have the given [exception]
* and [stackTrace].
*/
CaughtException(this.exception, stackTrace) {
if (stackTrace == null) {
try {
throw this;
} catch (_, st) {
stackTrace = st;
}
}
this.stackTrace = stackTrace;
}
@override
String toString() {
StringBuffer buffer = new StringBuffer();
_writeOn(buffer);
return buffer.toString();
}
/**
* Write a textual representation of the caught exception and its associated
* stack trace.
*/
void _writeOn(StringBuffer buffer) {
if (exception is AnalysisException) {
AnalysisException analysisException = exception;
buffer.writeln(analysisException.message);
if (stackTrace != null) {
buffer.writeln(stackTrace.toString());
}
CaughtException cause = analysisException.cause;
if (cause != null) {
buffer.write('Caused by ');
cause._writeOn(buffer);
}
} else {
buffer.writeln(exception.toString());
if (stackTrace != null) {
buffer.writeln(stackTrace.toString());
}
}
}
}

View file

@ -7,9 +7,9 @@ library analyzer.src.context.cache;
import 'dart:async';
import 'dart:collection';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_collection.dart';
import 'package:analyzer/src/task/model.dart';

View file

@ -10,6 +10,7 @@ import 'dart:collection';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
import 'package:analyzer/plugin/resolver_provider.dart';
import 'package:analyzer/plugin/task.dart';
@ -22,7 +23,6 @@ import 'package:analyzer/src/generated/constant.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/incremental_resolver.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/sdk.dart' show DartSdk;
import 'package:analyzer/src/generated/source.dart';

View file

@ -6,11 +6,11 @@ library analyzer.src.context.source;
import 'dart:collection';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_dart.dart' as utils;

View file

@ -10,12 +10,12 @@ import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine;
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/parser.dart';
import 'package:analyzer/src/generated/source.dart' show LineInfo, Source;

View file

@ -10,9 +10,9 @@ import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine;
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap;
import 'package:analyzer/src/generated/utilities_dart.dart';

View file

@ -21,7 +21,6 @@ import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/engine.dart'
show AnalysisEngine, RecordingErrorListener;
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/resolver.dart' show TypeProvider;
import 'package:analyzer/src/generated/type_system.dart'
show TypeSystem, TypeSystemImpl;
@ -859,9 +858,7 @@ class ConstantEvaluationEngine {
* (i.e. whether it is allowed for a call to the Symbol constructor).
*/
static bool isValidPublicSymbol(String name) =>
name.isEmpty ||
name == "void" ||
_PUBLIC_SYMBOL_PATTERN.hasMatch(name);
name.isEmpty || name == "void" || _PUBLIC_SYMBOL_PATTERN.hasMatch(name);
}
/**
@ -1139,6 +1136,48 @@ class ConstantVisitor extends UnifyingAstVisitor<DartObjectImpl> {
*/
TypeSystem get _typeSystem => evaluationEngine.typeSystem;
/**
* Given a [type] that may contain free type variables, evaluate them against
* the current lexical environment and return the substituted type.
*/
DartType evaluateType(DartType type) {
if (type is TypeParameterType) {
// Constants may only refer to type parameters in strong mode.
if (!evaluationEngine.strongMode) {
return null;
}
String name = type.name;
if (_lexicalEnvironment != null) {
return _lexicalEnvironment[name]?.toTypeValue() ?? type;
}
return type;
}
if (type is ParameterizedType) {
List<DartType> typeArguments;
for (int i = 0; i < type.typeArguments.length; i++) {
DartType ta = type.typeArguments[i];
DartType t = evaluateType(ta);
if (!identical(t, ta)) {
if (typeArguments == null) {
typeArguments = type.typeArguments.toList(growable: false);
}
typeArguments[i] = t;
}
}
if (typeArguments == null) return type;
return type.substitute2(typeArguments, type.typeArguments);
}
return type;
}
/**
* Given a [type], returns the constant value that contains that type value.
*/
DartObjectImpl typeConstant(DartType type) {
return new DartObjectImpl(_typeProvider.typeType, new TypeState(type));
}
@override
DartObjectImpl visitAdjacentStrings(AdjacentStrings node) {
DartObjectImpl result = null;
@ -1518,48 +1557,6 @@ class ConstantVisitor extends UnifyingAstVisitor<DartObjectImpl> {
return typeConstant(type);
}
/**
* Given a [type], returns the constant value that contains that type value.
*/
DartObjectImpl typeConstant(DartType type) {
return new DartObjectImpl(_typeProvider.typeType, new TypeState(type));
}
/**
* Given a [type] that may contain free type variables, evaluate them against
* the current lexical environment and return the substituted type.
*/
DartType evaluateType(DartType type) {
if (type is TypeParameterType) {
// Constants may only refer to type parameters in strong mode.
if (!evaluationEngine.strongMode) {
return null;
}
String name = type.name;
if (_lexicalEnvironment != null) {
return _lexicalEnvironment[name]?.toTypeValue() ?? type;
}
return type;
}
if (type is ParameterizedType) {
List<DartType> typeArguments;
for (int i = 0; i < type.typeArguments.length; i++) {
DartType ta = type.typeArguments[i];
DartType t = evaluateType(ta);
if (!identical(t, ta)) {
if (typeArguments == null) {
typeArguments = type.typeArguments.toList(growable: false);
}
typeArguments[i] = t;
}
}
if (typeArguments == null) return type;
return type.substitute2(typeArguments, type.typeArguments);
}
return type;
}
/**
* Create an error associated with the given [node]. The error will have the
* given error [code].

View file

@ -11,11 +11,11 @@ import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';

View file

@ -8,12 +8,12 @@ import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/member.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/type_system.dart';
import 'package:analyzer/src/generated/utilities_dart.dart';

View file

@ -9,6 +9,7 @@ import 'dart:convert';
import 'dart:io' as io;
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/src/context/context.dart';
@ -16,7 +17,6 @@ import 'package:analyzer/src/dart/scanner/reader.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/parser.dart';
import 'package:analyzer/src/generated/sdk.dart';

View file

@ -10,6 +10,7 @@ import 'dart:collection';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
import 'package:analyzer/plugin/resolver_provider.dart';
import 'package:analyzer/src/cancelable_future.dart';

View file

@ -11,6 +11,7 @@ import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
@ -25,7 +26,6 @@ import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/error_verifier.dart';
import 'package:analyzer/src/generated/incremental_logger.dart'
show logger, LoggingTimer;
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/parser.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source.dart';

View file

@ -7,107 +7,13 @@ library analyzer.src.generated.java_engine;
import 'package:analyzer/src/generated/interner.dart';
import 'package:analyzer/src/generated/java_core.dart';
export 'package:analyzer/exception/exception.dart';
/**
* A predicate is a one-argument function that returns a boolean value.
*/
typedef bool Predicate<E>(E argument);
/**
* Instances of the class `AnalysisException` represent an exception that
* occurred during the analysis of one or more sources.
*/
class AnalysisException implements Exception {
/**
* The message that explains why the exception occurred.
*/
final String message;
/**
* The exception that caused this exception, or `null` if this exception was
* not caused by another exception.
*/
final CaughtException cause;
/**
* Initialize a newly created exception to have the given [message] and
* [cause].
*/
AnalysisException([this.message = 'Exception', this.cause = null]);
String toString() {
StringBuffer buffer = new StringBuffer();
buffer.write("AnalysisException: ");
buffer.writeln(message);
if (cause != null) {
buffer.write('Caused by ');
cause._writeOn(buffer);
}
return buffer.toString();
}
}
/**
* Instances of the class `CaughtException` represent an exception that was
* caught and has an associated stack trace.
*/
class CaughtException implements Exception {
/**
* The exception that was caught.
*/
final Object exception;
/**
* The stack trace associated with the exception.
*/
StackTrace stackTrace;
/**
* Initialize a newly created caught exception to have the given [exception]
* and [stackTrace].
*/
CaughtException(this.exception, stackTrace) {
if (stackTrace == null) {
try {
throw this;
} catch (_, st) {
stackTrace = st;
}
}
this.stackTrace = stackTrace;
}
@override
String toString() {
StringBuffer buffer = new StringBuffer();
_writeOn(buffer);
return buffer.toString();
}
/**
* Write a textual representation of the caught exception and its associated
* stack trace.
*/
void _writeOn(StringBuffer buffer) {
if (exception is AnalysisException) {
AnalysisException analysisException = exception;
buffer.writeln(analysisException.message);
if (stackTrace != null) {
buffer.writeln(stackTrace.toString());
}
CaughtException cause = analysisException.cause;
if (cause != null) {
buffer.write('Caused by ');
cause._writeOn(buffer);
}
} else {
buffer.writeln(exception.toString());
if (stackTrace != null) {
buffer.writeln(stackTrace.toString());
}
}
}
}
class FileNameUtilities {
static String getExtension(String fileName) {
if (fileName == null) {

View file

@ -6,11 +6,11 @@ library analyzer.src.generated.package;
import 'dart:collection';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/context/builder.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_general.dart';

View file

@ -12,6 +12,7 @@ import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/element/element.dart';
@ -25,7 +26,6 @@ import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/error_verifier.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/static_type_analyzer.dart';
import 'package:analyzer/src/generated/type_system.dart';
@ -8554,10 +8554,10 @@ class ToDoFinder {
* @param commentToken the comment token to analyze
*/
void _scrapeTodoComment(Token commentToken) {
Iterable<Match> matches = TodoCode.TODO_REGEX.allMatches(commentToken.lexeme);
Iterable<Match> matches =
TodoCode.TODO_REGEX.allMatches(commentToken.lexeme);
for (Match match in matches) {
int offset =
commentToken.offset + match.start + match.group(1).length;
int offset = commentToken.offset + match.start + match.group(1).length;
int length = match.group(2).length;
_errorReporter.reportErrorForOffset(
TodoCode.TODO, offset, length, [match.group(2)]);

View file

@ -9,12 +9,12 @@ import 'dart:collection';
import 'dart:io';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/context.dart';
import 'package:analyzer/src/dart/scanner/reader.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/parser.dart';

View file

@ -6,8 +6,8 @@ library analyzer.src.generated.source_io;
import 'dart:collection';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/source.dart';

View file

@ -6,9 +6,9 @@ library analyzer.src.generated.utilities_dart;
import 'package:analyzer/dart/ast/ast.dart' show AnnotatedNode, Comment;
import 'package:analyzer/dart/ast/token.dart' show Token;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/element/element.dart' show ElementImpl;
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/util/fast_uri.dart';

View file

@ -11,6 +11,7 @@ import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/context/context.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
@ -25,7 +26,6 @@ import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/error_verifier.dart';
import 'package:analyzer/src/generated/incremental_resolver.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/parser.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/sdk.dart';

View file

@ -7,9 +7,9 @@ library analyzer.src.task.driver;
import 'dart:async';
import 'dart:collection';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/utilities_general.dart';
import 'package:analyzer/src/task/inputs.dart';

View file

@ -6,6 +6,7 @@ library analyzer.src.task.html;
import 'dart:collection';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/engine.dart';

View file

@ -6,7 +6,7 @@ library analyzer.src.task.manager;
import 'dart:collection';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/task/model.dart';
/**

View file

@ -4,11 +4,11 @@
library analyzer.src.task.yaml;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/task/general.dart';
import 'package:analyzer/task/general.dart';

View file

@ -7,9 +7,9 @@ library analyzer.task.model;
import 'dart:collection';
import 'dart:developer';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart' show AnalysisError;
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_general.dart';
import 'package:analyzer/src/task/driver.dart';
@ -284,6 +284,7 @@ abstract class AnalysisTask {
// There was no cycle.
return false;
}
if (cycle.length > 0) {
traverse(cycle[0]);
}

View file

@ -7,6 +7,7 @@ library analyzer.test.generated.incremental_resolver_test;
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/element/element.dart';

View file

@ -8,9 +8,9 @@ import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source_io.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'package:unittest/unittest.dart';

View file

@ -9,6 +9,7 @@ import 'dart:collection';
import 'package:analyzer/dart/ast/ast.dart' show AstNode, SimpleIdentifier;
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';

View file

@ -4,6 +4,7 @@
library analyzer.test.src.context.cache_test;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
@ -11,7 +12,6 @@ import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/dart/sdk/sdk.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_collection.dart';
import 'package:analyzer/src/task/model.dart';

View file

@ -11,6 +11,7 @@ import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
@ -21,7 +22,6 @@ import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_collection.dart';

View file

@ -5,6 +5,7 @@
library analyzer.test.src.task.dart_work_manager_test;
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart' show ScannerErrorCode;
import 'package:analyzer/src/generated/engine.dart'
@ -14,7 +15,6 @@ import 'package:analyzer/src/generated/engine.dart'
ChangeNoticeImpl,
InternalAnalysisContext;
import 'package:analyzer/src/generated/error.dart' show AnalysisError;
import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/testing/ast_factory.dart';

View file

@ -4,9 +4,9 @@
library analyzer.test.src.task.driver_test;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/task/driver.dart';
import 'package:analyzer/src/task/inputs.dart';
import 'package:analyzer/src/task/manager.dart';

View file

@ -4,6 +4,7 @@
library analyzer.test.src.task.html_work_manager_test;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/generated/engine.dart'
show
@ -15,7 +16,6 @@ import 'package:analyzer/src/generated/engine.dart'
InternalAnalysisContext;
import 'package:analyzer/src/generated/error.dart'
show AnalysisError, HtmlErrorCode;
import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/task/html.dart';
import 'package:analyzer/src/task/html_work_manager.dart';

View file

@ -4,7 +4,7 @@
library analyzer.test.src.task.manager_test;
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/task/manager.dart';
import 'package:analyzer/task/model.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';

View file

@ -5,7 +5,7 @@
library analyzer.test.src.task.model_test;
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/task/model.dart';
import 'package:analyzer/task/model.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';

View file

@ -4,6 +4,7 @@
library analyzer.test.src.task.options_work_manager_test;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/generated/engine.dart'
show
@ -15,7 +16,6 @@ import 'package:analyzer/src/generated/engine.dart'
InternalAnalysisContext;
import 'package:analyzer/src/generated/error.dart'
show AnalysisError, AnalysisOptionsErrorCode;
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/task/options.dart';
import 'package:analyzer/src/task/options_work_manager.dart';

View file

@ -4,8 +4,8 @@
library analyzer.test.src.task.test_support;
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/task/model.dart';
/**

View file

@ -8,10 +8,10 @@ import 'dart:collection';
import 'dart:io';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/source/error_processor.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';