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

Side by Side Diff: pkg/analyzer/lib/src/generated/engine.dart

Issue 2107313002: Make SDK contexts visible on status page (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 5 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 unified diff | Download patch
OLDNEW
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 library analyzer.src.generated.engine; 5 library analyzer.src.generated.engine;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 * also be used to perform an analysis based on a proposed future state, such as 79 * also be used to perform an analysis based on a proposed future state, such as
80 * the state after a refactoring. 80 * the state after a refactoring.
81 */ 81 */
82 abstract class AnalysisContext { 82 abstract class AnalysisContext {
83 /** 83 /**
84 * An empty list of contexts. 84 * An empty list of contexts.
85 */ 85 */
86 static const List<AnalysisContext> EMPTY_LIST = const <AnalysisContext>[]; 86 static const List<AnalysisContext> EMPTY_LIST = const <AnalysisContext>[];
87 87
88 /** 88 /**
89 * The file resolver provider used to override the way file URI's are
90 * resolved in some contexts.
91 */
92 ResolverProvider fileResolverProvider;
93
94 /**
89 * Return the set of analysis options controlling the behavior of this 95 * Return the set of analysis options controlling the behavior of this
90 * context. Clients should not modify the returned set of options. The options 96 * context. Clients should not modify the returned set of options. The options
91 * should only be set by invoking the method [setAnalysisOptions]. 97 * should only be set by invoking the method [setAnalysisOptions].
92 */ 98 */
93 AnalysisOptions get analysisOptions; 99 AnalysisOptions get analysisOptions;
94 100
95 /** 101 /**
96 * Set the set of analysis options controlling the behavior of this context to 102 * Set the set of analysis options controlling the behavior of this context to
97 * the given [options]. Clients can safely assume that all necessary analysis 103 * the given [options]. Clients can safely assume that all necessary analysis
98 * results have been invalidated. 104 * results have been invalidated.
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 * Return `true` if the given [source] exists. 332 * Return `true` if the given [source] exists.
327 * 333 *
328 * This method should be used rather than the method [Source.exists] because 334 * This method should be used rather than the method [Source.exists] because
329 * contexts can have local overrides of the content of a source that the 335 * contexts can have local overrides of the content of a source that the
330 * source is not aware of and a source with local content is considered to 336 * source is not aware of and a source with local content is considered to
331 * exist even if there is no file on disk. 337 * exist even if there is no file on disk.
332 */ 338 */
333 bool exists(Source source); 339 bool exists(Source source);
334 340
335 /** 341 /**
336 * The file resolver provider used to override the way file URI's are
337 * resolved in some contexts.
338 */
339 ResolverProvider fileResolverProvider;
340
341 /**
342 * Return the element model corresponding to the compilation unit defined by 342 * Return the element model corresponding to the compilation unit defined by
343 * the given [unitSource] in the library defined by the given [librarySource], 343 * the given [unitSource] in the library defined by the given [librarySource],
344 * or `null` if the element model does not currently exist or if the library 344 * or `null` if the element model does not currently exist or if the library
345 * cannot be analyzed for some reason. 345 * cannot be analyzed for some reason.
346 */ 346 */
347 CompilationUnitElement getCompilationUnitElement( 347 CompilationUnitElement getCompilationUnitElement(
348 Source unitSource, Source librarySource); 348 Source unitSource, Source librarySource);
349 349
350 /** 350 /**
351 * Return configuration data associated with the given key or the [key]'s 351 * Return configuration data associated with the given key or the [key]'s
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
1088 * Object, and are allowed to reference `super`. 1088 * Object, and are allowed to reference `super`.
1089 */ 1089 */
1090 bool get enableSuperMixins; 1090 bool get enableSuperMixins;
1091 1091
1092 /** 1092 /**
1093 * Return `true` if timing data should be gathered during execution. 1093 * Return `true` if timing data should be gathered during execution.
1094 */ 1094 */
1095 bool get enableTiming; 1095 bool get enableTiming;
1096 1096
1097 /** 1097 /**
1098 * A flag indicating whether finer grained dependencies should be used
1099 * instead of just source level dependencies.
1100 *
1101 * This option is experimental and subject to change.
1102 */
1103 bool get finerGrainedInvalidation;
1104
1105 /**
1098 * Return `true` if errors, warnings and hints should be generated for sources 1106 * Return `true` if errors, warnings and hints should be generated for sources
1099 * that are implicitly being analyzed. The default value is `true`. 1107 * that are implicitly being analyzed. The default value is `true`.
1100 */ 1108 */
1101 bool get generateImplicitErrors; 1109 bool get generateImplicitErrors;
1102 1110
1103 /** 1111 /**
1104 * Return `true` if errors, warnings and hints should be generated for sources 1112 * Return `true` if errors, warnings and hints should be generated for sources
1105 * in the SDK. The default value is `false`. 1113 * in the SDK. The default value is `false`.
1106 */ 1114 */
1107 bool get generateSdkErrors; 1115 bool get generateSdkErrors;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1146 1154
1147 /** 1155 /**
1148 * Return `true` if dependencies between computed results should be tracked 1156 * Return `true` if dependencies between computed results should be tracked
1149 * by analysis cache. This option should only be set to `false` if analysis 1157 * by analysis cache. This option should only be set to `false` if analysis
1150 * is performed in such a way that none of the inputs is ever changed 1158 * is performed in such a way that none of the inputs is ever changed
1151 * during the life time of the context. 1159 * during the life time of the context.
1152 */ 1160 */
1153 bool get trackCacheDependencies; 1161 bool get trackCacheDependencies;
1154 1162
1155 /** 1163 /**
1156 * A flag indicating whether finer grained dependencies should be used
1157 * instead of just source level dependencies.
1158 *
1159 * This option is experimental and subject to change.
1160 */
1161 bool get finerGrainedInvalidation;
1162
1163 /**
1164 * Return an integer encoding of the values of the options that need to be the 1164 * Return an integer encoding of the values of the options that need to be the
1165 * same across all of the contexts associated with partitions that are to be 1165 * same across all of the contexts associated with partitions that are to be
1166 * shared by a single analysis context. 1166 * shared by a single analysis context.
1167 */ 1167 */
1168 int encodeCrossContextOptions(); 1168 int encodeCrossContextOptions();
1169 1169
1170 /** 1170 /**
1171 * Set the values of the cross-context options to match those in the given set 1171 * Set the values of the cross-context options to match those in the given set
1172 * of [options]. 1172 * of [options].
1173 */ 1173 */
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
1419 enableGenericMethods = options.enableGenericMethods; 1419 enableGenericMethods = options.enableGenericMethods;
1420 enableStrictCallChecks = options.enableStrictCallChecks; 1420 enableStrictCallChecks = options.enableStrictCallChecks;
1421 enableSuperMixins = options.enableSuperMixins; 1421 enableSuperMixins = options.enableSuperMixins;
1422 strongMode = options.strongMode; 1422 strongMode = options.strongMode;
1423 if (options is AnalysisOptionsImpl) { 1423 if (options is AnalysisOptionsImpl) {
1424 strongModeHints = options.strongModeHints; 1424 strongModeHints = options.strongModeHints;
1425 } 1425 }
1426 } 1426 }
1427 1427
1428 /** 1428 /**
1429 * Produce a human readable list of option names corresponding to the options
1430 * encoded in the given [encoding], presumably from invoking the method
1431 * [encodeCrossContextOptions].
1432 */
1433 static String decodeCrossContextOptions(int encoding) {
1434 if (encoding == 0) {
1435 return 'none';
1436 }
1437 StringBuffer buffer = new StringBuffer();
1438 bool needsSeparator = false;
1439 void add(String optionName) {
1440 if (needsSeparator) {
1441 buffer.write(', ');
1442 }
1443 buffer.write(optionName);
1444 needsSeparator = true;
1445 }
1446 if (encoding & ENABLE_ASSERT_FLAG > 0) {
1447 add('assert');
1448 }
1449 if (encoding & ENABLE_ASYNC_FLAG > 0) {
1450 add('async');
1451 }
1452 if (encoding & ENABLE_GENERIC_METHODS_FLAG > 0) {
1453 add('genericMethods');
1454 }
1455 if (encoding & ENABLE_STRICT_CALL_CHECKS_FLAG > 0) {
1456 add('strictCallChecks');
1457 }
1458 if (encoding & ENABLE_STRONG_MODE_FLAG > 0) {
1459 add('strongMode');
1460 }
1461 if (encoding & ENABLE_STRONG_MODE_HINTS_FLAG > 0) {
1462 add('strongModeHints');
1463 }
1464 if (encoding & ENABLE_SUPER_MIXINS_FLAG > 0) {
1465 add('superMixins');
1466 }
1467 return buffer.toString();
1468 }
1469
1470 /**
1429 * Predicate used for [analyzeFunctionBodiesPredicate] when 1471 * Predicate used for [analyzeFunctionBodiesPredicate] when
1430 * [analyzeFunctionBodies] is set to `true`. 1472 * [analyzeFunctionBodies] is set to `true`.
1431 */ 1473 */
1432 static bool _analyzeAllFunctionBodies(Source _) => true; 1474 static bool _analyzeAllFunctionBodies(Source _) => true;
1433 1475
1434 /** 1476 /**
1435 * Predicate used for [analyzeFunctionBodiesPredicate] when 1477 * Predicate used for [analyzeFunctionBodiesPredicate] when
1436 * [analyzeFunctionBodies] is set to `false`. 1478 * [analyzeFunctionBodies] is set to `false`.
1437 */ 1479 */
1438 static bool _analyzeNoFunctionBodies(Source _) => false; 1480 static bool _analyzeNoFunctionBodies(Source _) => false;
(...skipping 1174 matching lines...) Expand 10 before | Expand all | Expand 10 after
2613 * The data that was created from the source. 2655 * The data that was created from the source.
2614 */ 2656 */
2615 final E data; 2657 final E data;
2616 2658
2617 /** 2659 /**
2618 * Initialize a newly created holder to associate the given [data] with the 2660 * Initialize a newly created holder to associate the given [data] with the
2619 * given [modificationTime]. 2661 * given [modificationTime].
2620 */ 2662 */
2621 TimestampedData(this.modificationTime, this.data); 2663 TimestampedData(this.modificationTime, this.data);
2622 } 2664 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/status/get_handler.dart ('k') | pkg/analyzer/lib/src/generated/sdk.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698