OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 // This code was auto-generated, is not intended to be edited, and is subject to | 5 // This code was auto-generated, is not intended to be edited, and is subject to |
6 // significant change. Please see the README file for more information. | 6 // significant change. Please see the README file for more information. |
7 | 7 |
8 library engine; | 8 library engine; |
9 | 9 |
10 import 'dart:async'; | 10 import 'dart:async'; |
(...skipping 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1095 @override | 1095 @override |
1096 void set analysisOptions(AnalysisOptions options) { | 1096 void set analysisOptions(AnalysisOptions options) { |
1097 bool needsRecompute = this._options.analyzeFunctionBodiesPredicate != | 1097 bool needsRecompute = this._options.analyzeFunctionBodiesPredicate != |
1098 options.analyzeFunctionBodiesPredicate || | 1098 options.analyzeFunctionBodiesPredicate || |
1099 this._options.generateImplicitErrors != | 1099 this._options.generateImplicitErrors != |
1100 options.generateImplicitErrors || | 1100 options.generateImplicitErrors || |
1101 this._options.generateSdkErrors != options.generateSdkErrors || | 1101 this._options.generateSdkErrors != options.generateSdkErrors || |
1102 this._options.dart2jsHint != options.dart2jsHint || | 1102 this._options.dart2jsHint != options.dart2jsHint || |
1103 (this._options.hint && !options.hint) || | 1103 (this._options.hint && !options.hint) || |
1104 this._options.preserveComments != options.preserveComments || | 1104 this._options.preserveComments != options.preserveComments || |
1105 this._options.enableNullAwareOperators != | |
1106 options.enableNullAwareOperators || | |
1107 this._options.enableStrictCallChecks != options.enableStrictCallChecks; | 1105 this._options.enableStrictCallChecks != options.enableStrictCallChecks; |
1108 int cacheSize = options.cacheSize; | 1106 int cacheSize = options.cacheSize; |
1109 if (this._options.cacheSize != cacheSize) { | 1107 if (this._options.cacheSize != cacheSize) { |
1110 this._options.cacheSize = cacheSize; | 1108 this._options.cacheSize = cacheSize; |
1111 //cache.setMaxCacheSize(cacheSize); | 1109 //cache.setMaxCacheSize(cacheSize); |
1112 _privatePartition.maxCacheSize = cacheSize; | 1110 _privatePartition.maxCacheSize = cacheSize; |
1113 // | 1111 // |
1114 // Cap the size of the priority list to being less than the cache size. | 1112 // Cap the size of the priority list to being less than the cache size. |
1115 // Failure to do so can result in an infinite loop in | 1113 // Failure to do so can result in an infinite loop in |
1116 // performAnalysisTask() because re-caching one AST structure | 1114 // performAnalysisTask() because re-caching one AST structure |
1117 // can cause another priority source's AST structure to be flushed. | 1115 // can cause another priority source's AST structure to be flushed. |
1118 // | 1116 // |
1119 // TODO(brianwilkerson) Remove this constraint when the new task model is | 1117 // TODO(brianwilkerson) Remove this constraint when the new task model is |
1120 // implemented. | 1118 // implemented. |
1121 // | 1119 // |
1122 int maxPriorityOrderSize = cacheSize - _PRIORITY_ORDER_SIZE_DELTA; | 1120 int maxPriorityOrderSize = cacheSize - _PRIORITY_ORDER_SIZE_DELTA; |
1123 if (_priorityOrder.length > maxPriorityOrderSize) { | 1121 if (_priorityOrder.length > maxPriorityOrderSize) { |
1124 _priorityOrder = _priorityOrder.sublist(0, maxPriorityOrderSize); | 1122 _priorityOrder = _priorityOrder.sublist(0, maxPriorityOrderSize); |
1125 } | 1123 } |
1126 } | 1124 } |
1127 this._options.analyzeFunctionBodiesPredicate = | 1125 this._options.analyzeFunctionBodiesPredicate = |
1128 options.analyzeFunctionBodiesPredicate; | 1126 options.analyzeFunctionBodiesPredicate; |
1129 this._options.generateImplicitErrors = options.generateImplicitErrors; | 1127 this._options.generateImplicitErrors = options.generateImplicitErrors; |
1130 this._options.generateSdkErrors = options.generateSdkErrors; | 1128 this._options.generateSdkErrors = options.generateSdkErrors; |
1131 this._options.dart2jsHint = options.dart2jsHint; | 1129 this._options.dart2jsHint = options.dart2jsHint; |
1132 this._options.enableNullAwareOperators = options.enableNullAwareOperators; | |
1133 this._options.enableStrictCallChecks = options.enableStrictCallChecks; | 1130 this._options.enableStrictCallChecks = options.enableStrictCallChecks; |
1134 this._options.hint = options.hint; | 1131 this._options.hint = options.hint; |
1135 this._options.incremental = options.incremental; | 1132 this._options.incremental = options.incremental; |
1136 this._options.incrementalApi = options.incrementalApi; | 1133 this._options.incrementalApi = options.incrementalApi; |
1137 this._options.incrementalValidation = options.incrementalValidation; | 1134 this._options.incrementalValidation = options.incrementalValidation; |
1138 this._options.lint = options.lint; | 1135 this._options.lint = options.lint; |
1139 this._options.preserveComments = options.preserveComments; | 1136 this._options.preserveComments = options.preserveComments; |
1140 _generateImplicitErrors = options.generateImplicitErrors; | 1137 _generateImplicitErrors = options.generateImplicitErrors; |
1141 _generateSdkErrors = options.generateSdkErrors; | 1138 _generateSdkErrors = options.generateSdkErrors; |
1142 if (needsRecompute) { | 1139 if (needsRecompute) { |
(...skipping 4952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6095 bool get enableEnum; | 6092 bool get enableEnum; |
6096 | 6093 |
6097 /** | 6094 /** |
6098 * Return `true` to enable generic methods (DEP 22). | 6095 * Return `true` to enable generic methods (DEP 22). |
6099 */ | 6096 */ |
6100 bool get enableGenericMethods => null; | 6097 bool get enableGenericMethods => null; |
6101 | 6098 |
6102 /** | 6099 /** |
6103 * Return `true` to enable null-aware operators (DEP 9). | 6100 * Return `true` to enable null-aware operators (DEP 9). |
6104 */ | 6101 */ |
| 6102 @deprecated // Always true |
6105 bool get enableNullAwareOperators; | 6103 bool get enableNullAwareOperators; |
6106 | 6104 |
6107 /** | 6105 /** |
6108 * Return `true` to strictly follow the specification when generating | 6106 * Return `true` to strictly follow the specification when generating |
6109 * warnings on "call" methods (fixes dartbug.com/21938). | 6107 * warnings on "call" methods (fixes dartbug.com/21938). |
6110 */ | 6108 */ |
6111 bool get enableStrictCallChecks; | 6109 bool get enableStrictCallChecks; |
6112 | 6110 |
6113 /** | 6111 /** |
6114 * Return `true` if errors, warnings and hints should be generated for sources | 6112 * Return `true` if errors, warnings and hints should be generated for sources |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6196 * results. | 6194 * results. |
6197 */ | 6195 */ |
6198 bool dart2jsHint = true; | 6196 bool dart2jsHint = true; |
6199 | 6197 |
6200 /** | 6198 /** |
6201 * A flag indicating whether generic methods are to be supported (DEP 22). | 6199 * A flag indicating whether generic methods are to be supported (DEP 22). |
6202 */ | 6200 */ |
6203 bool enableGenericMethods = false; | 6201 bool enableGenericMethods = false; |
6204 | 6202 |
6205 /** | 6203 /** |
6206 * A flag indicating whether null-aware operators should be parsed (DEP 9). | |
6207 */ | |
6208 bool enableNullAwareOperators = false; | |
6209 | |
6210 /** | |
6211 * A flag indicating whether analysis is to strictly follow the specification | 6204 * A flag indicating whether analysis is to strictly follow the specification |
6212 * when generating warnings on "call" methods (fixes dartbug.com/21938). | 6205 * when generating warnings on "call" methods (fixes dartbug.com/21938). |
6213 */ | 6206 */ |
6214 bool enableStrictCallChecks = false; | 6207 bool enableStrictCallChecks = false; |
6215 | 6208 |
6216 /** | 6209 /** |
6217 * A flag indicating whether errors, warnings and hints should be generated | 6210 * A flag indicating whether errors, warnings and hints should be generated |
6218 * for sources that are implicitly being analyzed. | 6211 * for sources that are implicitly being analyzed. |
6219 */ | 6212 */ |
6220 bool generateImplicitErrors = true; | 6213 bool generateImplicitErrors = true; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6266 | 6259 |
6267 /** | 6260 /** |
6268 * Initialize a newly created set of analysis options to have the same values | 6261 * Initialize a newly created set of analysis options to have the same values |
6269 * as those in the given set of analysis [options]. | 6262 * as those in the given set of analysis [options]. |
6270 */ | 6263 */ |
6271 @deprecated // Use new AnalysisOptionsImpl.from(options) | 6264 @deprecated // Use new AnalysisOptionsImpl.from(options) |
6272 AnalysisOptionsImpl.con1(AnalysisOptions options) { | 6265 AnalysisOptionsImpl.con1(AnalysisOptions options) { |
6273 analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate; | 6266 analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate; |
6274 cacheSize = options.cacheSize; | 6267 cacheSize = options.cacheSize; |
6275 dart2jsHint = options.dart2jsHint; | 6268 dart2jsHint = options.dart2jsHint; |
6276 enableNullAwareOperators = options.enableNullAwareOperators; | |
6277 enableStrictCallChecks = options.enableStrictCallChecks; | 6269 enableStrictCallChecks = options.enableStrictCallChecks; |
6278 generateImplicitErrors = options.generateImplicitErrors; | 6270 generateImplicitErrors = options.generateImplicitErrors; |
6279 generateSdkErrors = options.generateSdkErrors; | 6271 generateSdkErrors = options.generateSdkErrors; |
6280 hint = options.hint; | 6272 hint = options.hint; |
6281 incremental = options.incremental; | 6273 incremental = options.incremental; |
6282 incrementalApi = options.incrementalApi; | 6274 incrementalApi = options.incrementalApi; |
6283 incrementalValidation = options.incrementalValidation; | 6275 incrementalValidation = options.incrementalValidation; |
6284 lint = options.lint; | 6276 lint = options.lint; |
6285 preserveComments = options.preserveComments; | 6277 preserveComments = options.preserveComments; |
6286 } | 6278 } |
6287 | 6279 |
6288 /** | 6280 /** |
6289 * Initialize a newly created set of analysis options to have the same values | 6281 * Initialize a newly created set of analysis options to have the same values |
6290 * as those in the given set of analysis [options]. | 6282 * as those in the given set of analysis [options]. |
6291 */ | 6283 */ |
6292 AnalysisOptionsImpl.from(AnalysisOptions options) { | 6284 AnalysisOptionsImpl.from(AnalysisOptions options) { |
6293 analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate; | 6285 analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate; |
6294 cacheSize = options.cacheSize; | 6286 cacheSize = options.cacheSize; |
6295 dart2jsHint = options.dart2jsHint; | 6287 dart2jsHint = options.dart2jsHint; |
6296 enableNullAwareOperators = options.enableNullAwareOperators; | |
6297 enableStrictCallChecks = options.enableStrictCallChecks; | 6288 enableStrictCallChecks = options.enableStrictCallChecks; |
6298 generateImplicitErrors = options.generateImplicitErrors; | 6289 generateImplicitErrors = options.generateImplicitErrors; |
6299 generateSdkErrors = options.generateSdkErrors; | 6290 generateSdkErrors = options.generateSdkErrors; |
6300 hint = options.hint; | 6291 hint = options.hint; |
6301 incremental = options.incremental; | 6292 incremental = options.incremental; |
6302 incrementalApi = options.incrementalApi; | 6293 incrementalApi = options.incrementalApi; |
6303 incrementalValidation = options.incrementalValidation; | 6294 incrementalValidation = options.incrementalValidation; |
6304 lint = options.lint; | 6295 lint = options.lint; |
6305 preserveComments = options.preserveComments; | 6296 preserveComments = options.preserveComments; |
6306 } | 6297 } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6355 | 6346 |
6356 @deprecated | 6347 @deprecated |
6357 @override | 6348 @override |
6358 bool get enableEnum => true; | 6349 bool get enableEnum => true; |
6359 | 6350 |
6360 @deprecated | 6351 @deprecated |
6361 void set enableEnum(bool enable) { | 6352 void set enableEnum(bool enable) { |
6362 // Enum support cannot be disabled | 6353 // Enum support cannot be disabled |
6363 } | 6354 } |
6364 | 6355 |
| 6356 @deprecated |
| 6357 @override |
| 6358 bool get enableNullAwareOperators => true; |
| 6359 |
| 6360 @deprecated |
| 6361 void set enableNullAwareOperators(bool enable) { |
| 6362 // Null-aware operator support cannot be disabled |
| 6363 } |
| 6364 |
6365 /** | 6365 /** |
6366 * Predicate used for [analyzeFunctionBodiesPredicate] when | 6366 * Predicate used for [analyzeFunctionBodiesPredicate] when |
6367 * [analyzeFunctionBodies] is set to `true`. | 6367 * [analyzeFunctionBodies] is set to `true`. |
6368 */ | 6368 */ |
6369 static bool _analyzeAllFunctionBodies(Source _) => true; | 6369 static bool _analyzeAllFunctionBodies(Source _) => true; |
6370 | 6370 |
6371 /** | 6371 /** |
6372 * Predicate used for [analyzeFunctionBodiesPredicate] when | 6372 * Predicate used for [analyzeFunctionBodiesPredicate] when |
6373 * [analyzeFunctionBodies] is set to `false`. | 6373 * [analyzeFunctionBodies] is set to `false`. |
6374 */ | 6374 */ |
(...skipping 4614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10989 accept(AnalysisTaskVisitor visitor) => visitor.visitScanDartTask(this); | 10989 accept(AnalysisTaskVisitor visitor) => visitor.visitScanDartTask(this); |
10990 | 10990 |
10991 @override | 10991 @override |
10992 void internalPerform() { | 10992 void internalPerform() { |
10993 PerformanceStatistics.scan.makeCurrentWhile(() { | 10993 PerformanceStatistics.scan.makeCurrentWhile(() { |
10994 RecordingErrorListener errorListener = new RecordingErrorListener(); | 10994 RecordingErrorListener errorListener = new RecordingErrorListener(); |
10995 try { | 10995 try { |
10996 Scanner scanner = new Scanner( | 10996 Scanner scanner = new Scanner( |
10997 source, new CharSequenceReader(_content), errorListener); | 10997 source, new CharSequenceReader(_content), errorListener); |
10998 scanner.preserveComments = context.analysisOptions.preserveComments; | 10998 scanner.preserveComments = context.analysisOptions.preserveComments; |
10999 scanner.enableNullAwareOperators = | |
11000 context.analysisOptions.enableNullAwareOperators; | |
11001 _tokenStream = scanner.tokenize(); | 10999 _tokenStream = scanner.tokenize(); |
11002 _lineInfo = new LineInfo(scanner.lineStarts); | 11000 _lineInfo = new LineInfo(scanner.lineStarts); |
11003 _errors = errorListener.getErrorsForSource(source); | 11001 _errors = errorListener.getErrorsForSource(source); |
11004 } catch (exception, stackTrace) { | 11002 } catch (exception, stackTrace) { |
11005 throw new AnalysisException( | 11003 throw new AnalysisException( |
11006 "Exception", new CaughtException(exception, stackTrace)); | 11004 "Exception", new CaughtException(exception, stackTrace)); |
11007 } | 11005 } |
11008 }); | 11006 }); |
11009 } | 11007 } |
11010 } | 11008 } |
(...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11842 PendingFuture pendingFuture = | 11840 PendingFuture pendingFuture = |
11843 new PendingFuture<T>(_context, source, computeValue); | 11841 new PendingFuture<T>(_context, source, computeValue); |
11844 if (!pendingFuture.evaluate(sourceEntry)) { | 11842 if (!pendingFuture.evaluate(sourceEntry)) { |
11845 _context._pendingFutureSources | 11843 _context._pendingFutureSources |
11846 .putIfAbsent(source, () => <PendingFuture>[]) | 11844 .putIfAbsent(source, () => <PendingFuture>[]) |
11847 .add(pendingFuture); | 11845 .add(pendingFuture); |
11848 } | 11846 } |
11849 return pendingFuture.future; | 11847 return pendingFuture.future; |
11850 } | 11848 } |
11851 } | 11849 } |
OLD | NEW |