PhraseKind

My hierarchy of kinds of phrases.

Parameters

jsonName

The JSON name of this type.

parentKind

The kind of phrase for which this is a subkind.

typeTag

The type tag associated with phrases of this kind.

Entries

Link copied to clipboard

The root phrase kind.

Link copied to clipboard

The abstract parent kind of all expression phrases.

Link copied to clipboard

The kind of a parse marker.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The kind of a send phrase.

Link copied to clipboard

The kind of a list phrase.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

A phrase that does not produce a result.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The kind of an argument declaration phrase.

Link copied to clipboard

The kind of a label declaration phrase.

Link copied to clipboard

The kind of a local variable declaration phrase.

Link copied to clipboard

The kind of a local constant declaration phrase.

Link copied to clipboard

The kind of a module variable declaration phrase.

Link copied to clipboard

The kind of a module constant declaration phrase.

Link copied to clipboard

The kind of a primitive failure reason variable declaration.

Link copied to clipboard

A statement phrase built from an expression. At the moment, only assignments and sends can be expression-as-statement phrases.

Link copied to clipboard

The result of a macro substitution.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
var depth: Int

The depth of this object in the PhraseKind hierarchy.

Link copied to clipboard
open override val fieldName: String

Answer the name of this enumeration value.

Link copied to clipboard
open override val fieldOrdinal: Int

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.

Link copied to clipboard

The descriptor for mutable instances of this kind.

Link copied to clipboard

The JSON name of this type.

Link copied to clipboard

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.

Link copied to clipboard

The most general inner type for this kind of phrase. Computed lazily via the overrideable produceMostGeneralYieldType.

Link copied to clipboard

The descriptor for mutable instances of this kind.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The descriptor for shared instances of this kind.

Link copied to clipboard

The type tag associated with phrases of this kind.

Functions

Link copied to clipboard

Answer the PhraseKind that is the nearest common ancestor to both the receiver and the argument. Only use this after static initialization has completed.

Link copied to clipboard

Answer the PhraseKind that is the nearest common descendant to both the receiver and the argument. Only use this after static initialization has completed.

Link copied to clipboard
fun create(yieldType: A_Type): A_Type

Create a phrase type given the yield type (the type of object produced by the expression).

Link copied to clipboard

Create a descriptor for this kind.

Link copied to clipboard
open fun createNoCheck(yieldType: A_Type): A_Type

Create a phrase type given the yield type (the type of object produced by the expression).

Link copied to clipboard

Answer whether this is a subkind of (or equal to) the specified PhraseKind.

Link copied to clipboard

Answer the kind of phrase of which this object is the type.

Link copied to clipboard

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.)

Link copied to clipboard

Returns an array containing the constants of this enum type, in the order they're declared.