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

Unified Diff: pkg/analyzer/lib/src/dart/element/element.dart

Issue 1633823003: Move Modifier out of the public API (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « pkg/analyzer/lib/dart/element/element.dart ('k') | pkg/analyzer/test/enum_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/dart/element/element.dart
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 509dd4c1b5f544b8a7e16f57469d736a093d0829..e319acf7cea9e5ca65e1a4f22ed67d7923c7dda9 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -3660,6 +3660,148 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
}
/**
+ * The enumeration `Modifier` defines constants for all of the modifiers defined
+ * by the Dart language and for a few additional flags that are useful.
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+class Modifier extends Enum<Modifier> {
+ /**
+ * Indicates that the modifier 'abstract' was applied to the element.
+ */
+ static const Modifier ABSTRACT = const Modifier('ABSTRACT', 0);
+
+ /**
+ * Indicates that an executable element has a body marked as being
+ * asynchronous.
+ */
+ static const Modifier ASYNCHRONOUS = const Modifier('ASYNCHRONOUS', 1);
+
+ /**
+ * Indicates that the modifier 'const' was applied to the element.
+ */
+ static const Modifier CONST = const Modifier('CONST', 2);
+
+ /**
+ * Indicates that the import element represents a deferred library.
+ */
+ static const Modifier DEFERRED = const Modifier('DEFERRED', 3);
+
+ /**
+ * Indicates that a class element was defined by an enum declaration.
+ */
+ static const Modifier ENUM = const Modifier('ENUM', 4);
+
+ /**
+ * Indicates that a class element was defined by an enum declaration.
+ */
+ static const Modifier EXTERNAL = const Modifier('EXTERNAL', 5);
+
+ /**
+ * Indicates that the modifier 'factory' was applied to the element.
+ */
+ static const Modifier FACTORY = const Modifier('FACTORY', 6);
+
+ /**
+ * Indicates that the modifier 'final' was applied to the element.
+ */
+ static const Modifier FINAL = const Modifier('FINAL', 7);
+
+ /**
+ * Indicates that an executable element has a body marked as being a
+ * generator.
+ */
+ static const Modifier GENERATOR = const Modifier('GENERATOR', 8);
+
+ /**
+ * Indicates that the pseudo-modifier 'get' was applied to the element.
+ */
+ static const Modifier GETTER = const Modifier('GETTER', 9);
+
+ /**
+ * A flag used for libraries indicating that the defining compilation unit
+ * contains at least one import directive whose URI uses the "dart-ext"
+ * scheme.
+ */
+ static const Modifier HAS_EXT_URI = const Modifier('HAS_EXT_URI', 10);
+
+ /**
+ * Indicates that the associated element did not have an explicit type
+ * associated with it. If the element is an [ExecutableElement], then the
+ * type being referred to is the return type.
+ */
+ static const Modifier IMPLICIT_TYPE = const Modifier('IMPLICIT_TYPE', 11);
+
+ /**
+ * Indicates that a class is a mixin application.
+ */
+ static const Modifier MIXIN_APPLICATION =
+ const Modifier('MIXIN_APPLICATION', 12);
+
+ /**
+ * Indicates that the value of a parameter or local variable might be mutated
+ * within the context.
+ */
+ static const Modifier POTENTIALLY_MUTATED_IN_CONTEXT =
+ const Modifier('POTENTIALLY_MUTATED_IN_CONTEXT', 13);
+
+ /**
+ * Indicates that the value of a parameter or local variable might be mutated
+ * within the scope.
+ */
+ static const Modifier POTENTIALLY_MUTATED_IN_SCOPE =
+ const Modifier('POTENTIALLY_MUTATED_IN_SCOPE', 14);
+
+ /**
+ * Indicates that a class contains an explicit reference to 'super'.
+ */
+ static const Modifier REFERENCES_SUPER =
+ const Modifier('REFERENCES_SUPER', 15);
+
+ /**
+ * Indicates that the pseudo-modifier 'set' was applied to the element.
+ */
+ static const Modifier SETTER = const Modifier('SETTER', 16);
+
+ /**
+ * Indicates that the modifier 'static' was applied to the element.
+ */
+ static const Modifier STATIC = const Modifier('STATIC', 17);
+
+ /**
+ * Indicates that the element does not appear in the source code but was
+ * implicitly created. For example, if a class does not define any
+ * constructors, an implicit zero-argument constructor will be created and it
+ * will be marked as being synthetic.
+ */
+ static const Modifier SYNTHETIC = const Modifier('SYNTHETIC', 18);
+
+ static const List<Modifier> values = const [
+ ABSTRACT,
+ ASYNCHRONOUS,
+ CONST,
+ DEFERRED,
+ ENUM,
+ EXTERNAL,
+ FACTORY,
+ FINAL,
+ GENERATOR,
+ GETTER,
+ HAS_EXT_URI,
+ IMPLICIT_TYPE,
+ MIXIN_APPLICATION,
+ POTENTIALLY_MUTATED_IN_CONTEXT,
+ POTENTIALLY_MUTATED_IN_SCOPE,
+ REFERENCES_SUPER,
+ SETTER,
+ STATIC,
+ SYNTHETIC
+ ];
+
+ const Modifier(String name, int ordinal) : super(name, ordinal);
+}
+
+/**
* A concrete implementation of a [MultiplyDefinedElement].
*/
class MultiplyDefinedElementImpl implements MultiplyDefinedElement {
« no previous file with comments | « pkg/analyzer/lib/dart/element/element.dart ('k') | pkg/analyzer/test/enum_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698