Phrase Kind
My hierarchy of kinds of phrases.
Parameters
The JSON name of this type.
The kind of phrase for which this is a subkind.
The type tag associated with phrases of this kind.
Entries
The root phrase kind.
The abstract parent kind of all expression phrases.
The kind of a parse marker.
The kind of an assignment phrase.
The kind of a block phrase.
The kind of a literal phrase.
The kind of a reference phrase.
The kind of a super cast phrase.
The kind of a send phrase.
The kind of a list phrase.
The kind of a permuted list phrase.
The kind of a variable use phrase.
The kind of a sequence-as-expression.
A phrase that does not produce a result.
The kind of a sequence phrase.
The kind of a first-of-sequence phrase.
The kind of a declaration phrase.
The kind of an argument declaration phrase.
The kind of a label declaration phrase.
The kind of a local variable declaration phrase.
The kind of a local constant declaration phrase.
The kind of a module variable declaration phrase.
The kind of a module constant declaration phrase.
The kind of a primitive failure reason variable declaration.
A statement phrase built from an expression. At the moment, only assignments and sends can be expression-as-statement phrases.
The result of a macro substitution.
Properties
Answer an integer that identifies this enumeration value uniquely within this enumeration subclass (i.e., any enumeration class implementing this interface). These values are allocated sequentially to the enumeration values, starting at zero.
The descriptor for mutable instances of this kind.
Answer a phrase type whose kind is the receiver and whose expression type is top. This is the most general phrase type of that kind.
The most general inner type for this kind of phrase. Computed lazily via the overrideable produceMostGeneralYieldType.
The descriptor for mutable instances of this kind.
The descriptor for shared instances of this kind.
Functions
Answer the PhraseKind that is the nearest common ancestor to both the receiver and the argument. Only use this after static initialization has completed.
Answer the PhraseKind that is the nearest common descendant to both the receiver and the argument. Only use this after static initialization has completed.
Create a phrase type given the yield type (the type of object produced by the expression).
Create a descriptor for this kind.
Create a phrase type given the yield type (the type of object produced by the expression).
Answer whether this is a subkind of (or equal to) the specified PhraseKind.
Answer the kind of phrase of which this object is the type.
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.