Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(300)

Unified Diff: pkg/analyzer/lib/src/generated/engine.dart

Issue 1309543011: Add support for assert statements with messages to the analyzer. Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/generated/engine.dart
diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
index 0e8f9c831b9d99678f39e38a5996be780e3cc176..3f8dc4c5a0a6798651602e967c971a436b9cbb9e 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -556,7 +556,8 @@ abstract class AnalysisContext {
* Perform work until the given [result] has been computed for the given
* [target]. Return the computed value.
*/
- Object /*V*/ computeResult(AnalysisTarget target, ResultDescriptor /*<V>*/ result);
+ Object /*V*/ computeResult(
+ AnalysisTarget target, ResultDescriptor /*<V>*/ result);
/**
* Notifies the context that the client is going to stop using this context.
@@ -729,7 +730,8 @@ abstract class AnalysisContext {
* If the corresponding [target] does not exist, or the [result] is not
* computed yet, then the default value is returned.
*/
- Object /*V*/ getResult(AnalysisTarget target, ResultDescriptor /*<V>*/ result);
+ Object /*V*/ getResult(
+ AnalysisTarget target, ResultDescriptor /*<V>*/ result);
/**
* Return a list of the sources being analyzed in this context whose full path
@@ -1131,6 +1133,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
(this._options.hint && !options.hint) ||
this._options.preserveComments != options.preserveComments ||
this._options.strongMode != options.strongMode ||
+ this._options.enableAssertMessage != options.enableAssertMessage ||
this._options.enableStrictCallChecks !=
options.enableStrictCallChecks ||
this._options.enableSuperMixins != options.enableSuperMixins;
@@ -1158,6 +1161,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
this._options.generateImplicitErrors = options.generateImplicitErrors;
this._options.generateSdkErrors = options.generateSdkErrors;
this._options.dart2jsHint = options.dart2jsHint;
+ this._options.enableAssertMessage = options.enableAssertMessage;
this._options.enableStrictCallChecks = options.enableStrictCallChecks;
this._options.enableSuperMixins = options.enableSuperMixins;
this._options.hint = options.hint;
@@ -6185,6 +6189,11 @@ abstract class AnalysisOptions {
bool get dart2jsHint;
/**
+ * Return `true` to enable custom assert messages (DEP 37).
+ */
+ bool get enableAssertMessage;
+
+ /**
* Return `true` if analysis is to include the new async support.
*/
@deprecated // Always true
@@ -6318,6 +6327,12 @@ class AnalysisOptionsImpl implements AnalysisOptions {
bool dart2jsHint = false;
/**
+ * A flag indicating whether custom assert messages are to be supported (DEP
+ * 37).
+ */
+ bool enableAssertMessage = false;
+
+ /**
* A flag indicating whether generic methods are to be supported (DEP 22).
*/
bool enableGenericMethods = false;
@@ -6399,6 +6414,7 @@ class AnalysisOptionsImpl implements AnalysisOptions {
analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate;
cacheSize = options.cacheSize;
dart2jsHint = options.dart2jsHint;
+ enableAssertMessage = options.enableAssertMessage;
enableStrictCallChecks = options.enableStrictCallChecks;
enableSuperMixins = options.enableSuperMixins;
generateImplicitErrors = options.generateImplicitErrors;
@@ -6420,6 +6436,7 @@ class AnalysisOptionsImpl implements AnalysisOptions {
analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate;
cacheSize = options.cacheSize;
dart2jsHint = options.dart2jsHint;
+ enableAssertMessage = options.enableAssertMessage;
enableStrictCallChecks = options.enableStrictCallChecks;
enableSuperMixins = options.enableSuperMixins;
generateImplicitErrors = options.generateImplicitErrors;
@@ -9288,7 +9305,8 @@ class IncrementalAnalysisTask extends AnalysisTask {
}
// Produce an updated AST
IncrementalParser parser = new IncrementalParser(
- cache.source, scanner.tokenMap, AnalysisErrorListener.NULL_LISTENER);
+ cache.source, scanner.tokenMap, AnalysisErrorListener.NULL_LISTENER,
+ enableAssertMessage: context.analysisOptions.enableAssertMessage);
_updatedUnit = parser.reparse(cache.resolvedUnit, scanner.leftToken,
scanner.rightToken, cache.offset, cache.offset + cache.oldLength);
// Update the resolution
@@ -9718,7 +9736,8 @@ class ParseDartTask extends AnalysisTask {
//
PerformanceStatistics.parse.makeCurrentWhile(() {
RecordingErrorListener errorListener = new RecordingErrorListener();
- Parser parser = new Parser(source, errorListener);
+ Parser parser = new Parser(source, errorListener,
+ enableAssertMessage: context.analysisOptions.enableAssertMessage);
AnalysisOptions options = context.analysisOptions;
parser.parseFunctionBodies =
options.analyzeFunctionBodiesPredicate(source);

Powered by Google App Engine
This is Rietveld 408576698