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

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

Issue 1686613002: Use different SDKs based on option settings (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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 b27c42e927430d138f919ebf01c0b0d60f4ddfb9..2e1d9f051b1ad42b8e3188cea76989e95dbba4e8 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -1123,6 +1123,19 @@ abstract class AnalysisOptions {
* Return `true` if strong mode analysis should be used.
*/
bool get strongMode;
+
+ /**
+ * Return an integer encoding of the values of the options that need to be the
+ * same across all of the contexts associated with partitions that are to be
+ * shared by a single analysis context.
+ */
+ int encodeCrossContextOptions();
+
+ /**
+ * Set the values of the cross-context options to match those in the given set
+ * of [options].
+ */
+ void setCrossContextOptionsFrom(AnalysisOptions options);
}
/**
@@ -1135,6 +1148,14 @@ class AnalysisOptionsImpl implements AnalysisOptions {
*/
static const int DEFAULT_CACHE_SIZE = 64;
+ static const int ENABLE_ASSERT_FLAG = 0x01;
+ static const int ENABLE_ASYNC_FLAG = 0x02;
+ static const int ENABLE_GENERIC_METHODS_FLAG = 0x04;
+ static const int ENABLE_STRICT_CALL_CHECKS_FLAG = 0x08;
+ static const int ENABLE_STRONG_MODE_FLAG = 0x10;
+ static const int ENABLE_STRONG_MODE_HINTS_FLAG = 0x20;
+ static const int ENABLE_SUPER_MIXINS_FLAG = 0x40;
+
/**
* A predicate indicating whether analysis is to parse and analyze function
* bodies.
@@ -1308,6 +1329,29 @@ class AnalysisOptionsImpl implements AnalysisOptions {
_analyzeFunctionBodiesPredicate = value;
}
+ @override
+ int encodeCrossContextOptions() =>
+ (enableAssertMessage ? ENABLE_ASSERT_FLAG : 0) |
+ (enableAsync ? ENABLE_ASYNC_FLAG : 0) |
+ (enableGenericMethods ? ENABLE_GENERIC_METHODS_FLAG : 0) |
+ (enableStrictCallChecks ? ENABLE_STRICT_CALL_CHECKS_FLAG : 0) |
+ (strongMode ? ENABLE_STRONG_MODE_FLAG : 0) |
+ (strongModeHints ? ENABLE_STRONG_MODE_HINTS_FLAG : 0) |
+ (enableSuperMixins ? ENABLE_SUPER_MIXINS_FLAG : 0);
+
+ @override
+ void setCrossContextOptionsFrom(AnalysisOptions options) {
+ enableAssertMessage = options.enableAssertMessage;
+ enableAsync = options.enableAsync;
+ enableGenericMethods = options.enableGenericMethods;
+ enableStrictCallChecks = options.enableStrictCallChecks;
+ enableSuperMixins = options.enableSuperMixins;
+ strongMode = options.strongMode;
+ if (options is AnalysisOptionsImpl) {
+ strongModeHints = options.strongModeHints;
+ }
+ }
+
/**
* Predicate used for [analyzeFunctionBodiesPredicate] when
* [analyzeFunctionBodies] is set to `true`.

Powered by Google App Engine
This is Rietveld 408576698