Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

719 lines (592 sloc) 22.468 kB
"A file containing Ceylon source."
^(COMPILATION_UNIT
COMPILER_ANNOTATION*
IMPORT_LIST?
DECLARATION*(CLASS_DECLARATION INTERFACE_DECLARATION
CLASS_DEFINITION INTERFACE_DEFINITION
ATTRIBUTE_DECLARATION ATTRIBUTE_GETTER_DEFINITION
ATTRIBUTE_SETTER_DEFINITION METHOD_DECLARATION
METHOD_DEFINITION OBJECT_DEFINITION))
^(IMPORT_LIST
IMPORT*)
^(IMPORT:STATEMENT_OR_ARGUMENT
IMPORT_PATH
IMPORT_MEMBER_OR_TYPE_LIST
ImportList importList;)
^(IMPORT_PATH
IDENTIFIER*)
^(IMPORT_MEMBER_OR_TYPE_LIST
IMPORT_MEMBER_OR_TYPE*(IMPORT_MEMBER IMPORT_TYPE)
IMPORT_WILDCARD?)
^(IMPORT_MEMBER_OR_TYPE:STATEMENT_OR_ARGUMENT
ALIAS?
IDENTIFIER
IMPORT_MEMBER_OR_TYPE_LIST?
Declaration declarationModel;)
^(IMPORT_MEMBER:IMPORT_MEMBER_OR_TYPE)
^(IMPORT_TYPE:IMPORT_MEMBER_OR_TYPE)
^(ALIAS
IDENTIFIER)
^(IMPLICIT)
^(IMPORT_WILDCARD)
"A declaration."
^(abstract DECLARATION:STATEMENT
ANNOTATION_LIST?
IDENTIFIER
abstract Declaration declarationModel;)
"A class, interface, or type parameter declaration."
^(abstract TYPE_DECLARATION:DECLARATION
TYPE_PARAMETER_LIST?
CASE_TYPES?
SATISFIED_TYPES?
abstract TypeDeclaration declarationModel;)
"A class or interface declaration."
^(abstract CLASS_OR_INTERFACE:TYPE_DECLARATION
TYPE_CONSTRAINT_LIST?
abstract ClassOrInterface declarationModel;)
^(SATISFIED_TYPES
SIMPLE_TYPE* type (BASE_TYPE QUALIFIED_TYPE))
^(ABSTRACTED_TYPE
SIMPLE_TYPE type (BASE_TYPE QUALIFIED_TYPE))
^(ADAPTED_TYPES
SIMPLE_TYPE* type (BASE_TYPE QUALIFIED_TYPE))
^(CASE_TYPES
SIMPLE_TYPE* type (BASE_TYPE QUALIFIED_TYPE)
BASE_MEMBER_EXPRESSION*)
^(EXTENDED_TYPE
SIMPLE_TYPE type (BASE_TYPE QUALIFIED_TYPE)
INVOCATION_EXPRESSION)
"A list of constraints organized by parameter."
^(TYPE_CONSTRAINT_LIST
TYPE_CONSTRAINT*)
"A set of type constraints on a certain type parameter."
^(TYPE_CONSTRAINT:TYPE_DECLARATION
PARAMETER_LIST?
ABSTRACTED_TYPE?
TypeParameter declarationModel;)
^(TYPE_SPECIFIER
SIMPLE_TYPE type)
^(ANY_CLASS:CLASS_OR_INTERFACE
PARAMETER_LIST
EXTENDED_TYPE?
Class declarationModel;)
^(CLASS_DEFINITION:ANY_CLASS
CLASS_BODY)
^(CLASS_DECLARATION:ANY_CLASS
TYPE_SPECIFIER?)
^(ANY_INTERFACE:CLASS_OR_INTERFACE
Interface declarationModel;)
^(INTERFACE_DEFINITION:ANY_INTERFACE
ADAPTED_TYPES?
INTERFACE_BODY)
^(INTERFACE_DECLARATION:ANY_INTERFACE
TYPE_SPECIFIER?)
^(abstract TYPED_DECLARATION:DECLARATION
TYPE?(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE
VALUE_MODIFIER FUNCTION_MODIFIER SYNTHETIC_VARIABLE
VOID_MODIFIER SEQUENCED_TYPE)
abstract TypedDeclaration declarationModel;)
^(abstract ANY_ATTRIBUTE:TYPED_DECLARATION)
"A simple or formal attribute declaration."
^(ATTRIBUTE_DECLARATION:ANY_ATTRIBUTE
SPECIFIER_OR_INITIALIZER_EXPRESSION?(SPECIFIER_EXPRESSION INITIALIZER_EXPRESSION)
Value declarationModel;)
"An attribute getter declaration."
^(ATTRIBUTE_GETTER_DEFINITION:ANY_ATTRIBUTE
BLOCK
Getter declarationModel;)
"An attribute setter declaration."
^(ATTRIBUTE_SETTER_DEFINITION:TYPED_DECLARATION
BLOCK
Setter declarationModel;)
"A method declaration."
^(ANY_METHOD:TYPED_DECLARATION
TYPE_PARAMETER_LIST?
PARAMETER_LIST*
TYPE_CONSTRAINT_LIST?
Method declarationModel;)
^(METHOD_DEFINITION:ANY_METHOD
BLOCK)
^(METHOD_DECLARATION:ANY_METHOD
SPECIFIER_EXPRESSION?)
^(VOID_MODIFIER:TYPE)
^(OBJECT_DEFINITION:TYPED_DECLARATION
EXTENDED_TYPE?
SATISFIED_TYPES?
CLASS_BODY
Value declarationModel;)
^(PARAMETER_LIST
PARAMETER*(VALUE_PARAMETER_DECLARATION FUNCTIONAL_PARAMETER_DECLARATION))
^(abstract PARAMETER:TYPED_DECLARATION
DEFAULT_ARGUMENT?
abstract Parameter declarationModel;)
^(DEFAULT_ARGUMENT SPECIFIER_EXPRESSION)
^(VALUE_PARAMETER_DECLARATION:PARAMETER
ValueParameter declarationModel;)
^(FUNCTIONAL_PARAMETER_DECLARATION:PARAMETER
PARAMETER_LIST*
FunctionalParameter declarationModel;)
^(TYPE_PARAMETER_LIST
TYPE_PARAMETER_DECLARATION*
SEQUENCED_TYPE_PARAMETER_DECLARATION?)
^(TYPE_PARAMETER_DECLARATION:DECLARATION
TYPE_VARIANCE?
TypeParameter declarationModel;)
^(TYPE_VARIANCE)
^(SEQUENCED_TYPE_PARAMETER_DECLARATION:DECLARATION
TypeParameter declarationModel;)
^(abstract BODY
STATEMENT*(CLASS_DECLARATION INTERFACE_DECLARATION
CLASS_DEFINITION INTERFACE_DEFINITION
ATTRIBUTE_DECLARATION ATTRIBUTE_GETTER_DEFINITION
ATTRIBUTE_SETTER_DEFINITION METHOD_DECLARATION
METHOD_DEFINITION OBJECT_DEFINITION
SPECIFIER_STATEMENT EXPRESSION_STATEMENT
IF_STATEMENT SWITCH_STATEMENT
TRY_CATCH_STATEMENT FOR_STATEMENT
WHILE_STATEMENT
RETURN THROW CONTINUE BREAK))
"A method or attribute body containing statements and declarations."
^(BLOCK:BODY)
"A class body."
^(CLASS_BODY:BODY)
"An interface body."
^(INTERFACE_BODY:BODY)
^(abstract TYPE
ProducedType typeModel;)
^(abstract STATIC_TYPE:TYPE)
"A produced type."
^(abstract SIMPLE_TYPE:STATIC_TYPE
IDENTIFIER
TYPE_ARGUMENT_LIST?
TypeDeclaration declarationModel;)
^(BASE_TYPE: SIMPLE_TYPE)
^(UNION_TYPE: STATIC_TYPE
STATIC_TYPE*(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE))
^(INTERSECTION_TYPE: STATIC_TYPE
STATIC_TYPE*(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE))
^(QUALIFIED_TYPE: SIMPLE_TYPE
STATIC_TYPE outerType (BASE_TYPE QUALIFIED_TYPE SUPER_TYPE))
^(SUPER_TYPE: STATIC_TYPE)
"Specifies that the type of a block local declaration should be inferred."
^(abstract LOCAL_MODIFIER: TYPE)
"Specifies that the type of a local declaration should be inferred."
^(VALUE_MODIFIER: LOCAL_MODIFIER)
"Specifies that the type of a method declaration should be inferred."
^(FUNCTION_MODIFIER: LOCAL_MODIFIER)
^(SYNTHETIC_VARIABLE: VALUE_MODIFIER)
^(TYPE_ARGUMENTS
List<ProducedType> typeModels;)
"A list of type arguments in a produced type."
^(TYPE_ARGUMENT_LIST:TYPE_ARGUMENTS
TYPE*(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE SEQUENCED_TYPE))
^(INFERRED_TYPE_ARGUMENTS:TYPE_ARGUMENTS)
^(SEQUENCED_TYPE:TYPE
TYPE(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE))
"A control directive."
^(abstract DIRECTIVE:EXECUTABLE_STATEMENT)
^(RETURN:DIRECTIVE EXPRESSION?
Declaration declaration;)
^(THROW:DIRECTIVE EXPRESSION?)
^(CONTINUE:DIRECTIVE)
^(BREAK:DIRECTIVE)
^(abstract STATEMENT_OR_ARGUMENT
COMPILER_ANNOTATION*)
"A statement or declaration."
^(abstract STATEMENT:STATEMENT_OR_ARGUMENT)
^(COMPILER_ANNOTATION
IDENTIFIER
STRING_LITERAL?)
"An expression statement, specification statement, or control structure."
^(abstract EXECUTABLE_STATEMENT:STATEMENT)
^(SPECIFIER_STATEMENT:EXECUTABLE_STATEMENT
TERM baseMemberExpression
SPECIFIER_EXPRESSION)
^(EXPRESSION_STATEMENT:EXECUTABLE_STATEMENT
EXPRESSION)
^(CONTROL_STATEMENT:EXECUTABLE_STATEMENT)
^(CONTROL_CLAUSE
ControlBlock controlBlock;)
^(IF_STATEMENT:CONTROL_STATEMENT
IF_CLAUSE
ELSE_CLAUSE?)
^(IF_CLAUSE:CONTROL_CLAUSE
CONDITION(BOOLEAN_CONDITION EXISTS_CONDITION NONEMPTY_CONDITION
IS_CONDITION SATISFIES_CONDITION)
BLOCK)
^(ELSE_CLAUSE:CONTROL_CLAUSE
BLOCK)
^(SWITCH_STATEMENT:CONTROL_STATEMENT
SWITCH_CLAUSE
SWITCH_CASE_LIST)
^(SWITCH_CLAUSE
EXPRESSION)
^(SWITCH_CASE_LIST
CASE_CLAUSE*
ELSE_CLAUSE?)
^(CASE_CLAUSE:CONTROL_CLAUSE
CASE_ITEM(MATCH_CASE IS_CASE SATISFIES_CASE)
BLOCK)
^(CASE_ITEM)
^(MATCH_CASE:CASE_ITEM
EXPRESSION_LIST)
^(IS_CASE:CASE_ITEM
TYPE(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE)
VARIABLE?)
^(SATISFIES_CASE:CASE_ITEM
SIMPLE_TYPE type)
^(TRY_CATCH_STATEMENT:CONTROL_STATEMENT
TRY_CLAUSE
CATCH_CLAUSE*
FINALLY_CLAUSE?)
^(TRY_CLAUSE:CONTROL_CLAUSE
RESOURCE?
BLOCK)
^(CATCH_CLAUSE:CONTROL_CLAUSE
CATCH_VARIABLE
BLOCK)
^(FINALLY_CLAUSE:CONTROL_CLAUSE
BLOCK)
^(RESOURCE
VARIABLE? EXPRESSION?)
^(CATCH_VARIABLE
VARIABLE)
^(FOR_STATEMENT:CONTROL_STATEMENT
FOR_CLAUSE
ELSE_CLAUSE?)
^(FOR_CLAUSE:CONTROL_CLAUSE
FOR_ITERATOR(VALUE_ITERATOR KEY_VALUE_ITERATOR)
BLOCK)
^(FOR_ITERATOR:STATEMENT_OR_ARGUMENT
SPECIFIER_EXPRESSION)
^(VALUE_ITERATOR:FOR_ITERATOR
VARIABLE)
^(KEY_VALUE_ITERATOR:FOR_ITERATOR
VARIABLE keyVariable
VARIABLE valueVariable)
^(WHILE_STATEMENT:CONTROL_STATEMENT
WHILE_CLAUSE)
^(WHILE_CLAUSE:CONTROL_CLAUSE
CONDITION(BOOLEAN_CONDITION EXISTS_CONDITION NONEMPTY_CONDITION
IS_CONDITION SATISFIES_CONDITION)
BLOCK)
^(abstract CONDITION)
^(BOOLEAN_CONDITION:CONDITION
EXPRESSION)
^(abstract EXISTS_OR_NONEMPTY_CONDITION:CONDITION
VARIABLE
EXPRESSION?)
^(EXISTS_CONDITION:EXISTS_OR_NONEMPTY_CONDITION)
^(NONEMPTY_CONDITION:EXISTS_OR_NONEMPTY_CONDITION)
^(IS_CONDITION:CONDITION
TYPE(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE)
VARIABLE
EXPRESSION?)
^(SATISFIES_CONDITION:CONDITION
TYPE leftType (BASE_TYPE QUALIFIED_TYPE)
TYPE rightType (BASE_TYPE QUALIFIED_TYPE))
^(VARIABLE:TYPED_DECLARATION
PARAMETER_LIST*
SPECIFIER_EXPRESSION?
Value declarationModel;)
^(abstract TERM
ProducedType typeModel;
boolean unboxed;)
^(abstract OPERATOR_EXPRESSION:TERM)
^(abstract BINARY_OPERATOR_EXPRESSION:OPERATOR_EXPRESSION
TERM leftTerm (EXPRESSION INVOCATION_EXPRESSION INDEX_EXPRESSION
QUALIFIED_TYPE_EXPRESSION QUALIFIED_MEMBER_EXPRESSION
POSTFIX_INCREMENT_OP POSTFIX_DECREMENT_OP
SEQUENCE_ENUMERATION STRING_TEMPLATE LAMBDA
BASE_TYPE_EXPRESSION BASE_MEMBER_EXPRESSION
FLOAT_LITERAL NATURAL_LITERAL
CHAR_LITERAL QUOTED_LITERAL STRING_LITERAL
THIS SUPER OUTER
NOT_OP COMPLEMENT_OP ASSIGN_OP EQUAL_OP IDENTICAL_OP
AND_OP OR_OP INCREMENT_OP DECREMENT_OP SUM_OP DIFFERENCE_OP PRODUCT_OP
QUOTIENT_OP INTERSECTION_OP UNION_OP XOR_OP REMAINDER_OP NOT_EQUAL_OP
LARGER_OP SMALLER_OP LARGE_AS_OP SMALL_AS_OP ENTRY_OP COMPARE_OP IN_OP
IS_OP POWER_OP ADD_ASSIGN_OP SUBTRACT_ASSIGN_OP MULTIPLY_ASSIGN_OP
DIVIDE_ASSIGN_OP INTERSECT_ASSIGN_OP UNION_ASSIGN_OP XOR_ASSIGN_OP
COMPLEMENT_ASSIGN_OP REMAINDER_ASSIGN_OP AND_ASSIGN_OP OR_ASSIGN_OP
DEFAULT_OP EXISTS NONEMPTY RANGE_OP NEGATIVE_OP POSITIVE_OP
SATISFIES EXTENDS THEN_OP ELSE_OP)
TERM rightTerm (EXPRESSION INVOCATION_EXPRESSION INDEX_EXPRESSION
QUALIFIED_TYPE_EXPRESSION QUALIFIED_MEMBER_EXPRESSION
POSTFIX_INCREMENT_OP POSTFIX_DECREMENT_OP
SEQUENCE_ENUMERATION STRING_TEMPLATE LAMBDA
BASE_TYPE_EXPRESSION BASE_MEMBER_EXPRESSION
FLOAT_LITERAL NATURAL_LITERAL
CHAR_LITERAL QUOTED_LITERAL STRING_LITERAL
THIS SUPER OUTER
NOT_OP COMPLEMENT_OP ASSIGN_OP EQUAL_OP IDENTICAL_OP
AND_OP OR_OP INCREMENT_OP DECREMENT_OP SUM_OP DIFFERENCE_OP PRODUCT_OP
QUOTIENT_OP INTERSECTION_OP UNION_OP XOR_OP REMAINDER_OP NOT_EQUAL_OP
LARGER_OP SMALLER_OP LARGE_AS_OP SMALL_AS_OP ENTRY_OP COMPARE_OP IN_OP
IS_OP POWER_OP ADD_ASSIGN_OP SUBTRACT_ASSIGN_OP MULTIPLY_ASSIGN_OP
DIVIDE_ASSIGN_OP INTERSECT_ASSIGN_OP UNION_ASSIGN_OP XOR_ASSIGN_OP
COMPLEMENT_ASSIGN_OP REMAINDER_ASSIGN_OP AND_ASSIGN_OP OR_ASSIGN_OP
DEFAULT_OP EXISTS NONEMPTY RANGE_OP NEGATIVE_OP POSITIVE_OP
SATISFIES EXTENDS THEN_OP ELSE_OP))
^(abstract ARITHMETIC_OP: BINARY_OPERATOR_EXPRESSION)
^(SUM_OP: ARITHMETIC_OP)
^(DIFFERENCE_OP: ARITHMETIC_OP)
^(PRODUCT_OP: ARITHMETIC_OP)
^(QUOTIENT_OP: ARITHMETIC_OP)
^(POWER_OP: ARITHMETIC_OP)
^(REMAINDER_OP: ARITHMETIC_OP)
^(abstract ASSIGNMENT_OP: BINARY_OPERATOR_EXPRESSION)
^(ASSIGN_OP: ASSIGNMENT_OP)
^(abstract ARITHMETIC_ASSIGNMENT_OP: ASSIGNMENT_OP)
^(ADD_ASSIGN_OP: ARITHMETIC_ASSIGNMENT_OP)
^(SUBTRACT_ASSIGN_OP: ARITHMETIC_ASSIGNMENT_OP)
^(MULTIPLY_ASSIGN_OP: ARITHMETIC_ASSIGNMENT_OP)
^(DIVIDE_ASSIGN_OP: ARITHMETIC_ASSIGNMENT_OP)
^(REMAINDER_ASSIGN_OP: ARITHMETIC_ASSIGNMENT_OP)
^(abstract BITWISE_ASSIGNMENT_OP: ASSIGNMENT_OP)
^(INTERSECT_ASSIGN_OP: BITWISE_ASSIGNMENT_OP)
^(UNION_ASSIGN_OP: BITWISE_ASSIGNMENT_OP)
^(XOR_ASSIGN_OP: BITWISE_ASSIGNMENT_OP)
^(COMPLEMENT_ASSIGN_OP: BITWISE_ASSIGNMENT_OP)
^(abstract LOGICAL_ASSIGNMENT_OP: ASSIGNMENT_OP)
^(AND_ASSIGN_OP: LOGICAL_ASSIGNMENT_OP)
^(OR_ASSIGN_OP: LOGICAL_ASSIGNMENT_OP)
^(abstract LOGICAL_OP: BINARY_OPERATOR_EXPRESSION)
^(AND_OP: LOGICAL_OP)
^(OR_OP: LOGICAL_OP)
^(abstract BITWISE_OP: BINARY_OPERATOR_EXPRESSION)
^(INTERSECTION_OP: BITWISE_OP)
^(UNION_OP: BITWISE_OP)
^(XOR_OP: BITWISE_OP)
^(COMPLEMENT_OP: BITWISE_OP)
^(abstract EQUALITY_OP: BINARY_OPERATOR_EXPRESSION)
^(EQUAL_OP: EQUALITY_OP)
^(NOT_EQUAL_OP: EQUALITY_OP)
^(abstract COMPARISON_OP: BINARY_OPERATOR_EXPRESSION)
^(LARGER_OP: COMPARISON_OP)
^(SMALLER_OP: COMPARISON_OP)
^(LARGE_AS_OP: COMPARISON_OP)
^(SMALL_AS_OP: COMPARISON_OP)
^(DEFAULT_OP: BINARY_OPERATOR_EXPRESSION)
^(THEN_OP: BINARY_OPERATOR_EXPRESSION)
^(IDENTICAL_OP: BINARY_OPERATOR_EXPRESSION)
^(ENTRY_OP: BINARY_OPERATOR_EXPRESSION)
^(RANGE_OP: BINARY_OPERATOR_EXPRESSION)
^(COMPARE_OP: BINARY_OPERATOR_EXPRESSION)
^(IN_OP: BINARY_OPERATOR_EXPRESSION)
^(abstract UNARY_OPERATOR_EXPRESSION:OPERATOR_EXPRESSION
TERM (EXPRESSION INVOCATION_EXPRESSION INDEX_EXPRESSION
QUALIFIED_TYPE_EXPRESSION QUALIFIED_MEMBER_EXPRESSION
POSTFIX_INCREMENT_OP POSTFIX_DECREMENT_OP
SEQUENCE_ENUMERATION STRING_TEMPLATE LAMBDA
BASE_TYPE_EXPRESSION BASE_MEMBER_EXPRESSION
FLOAT_LITERAL NATURAL_LITERAL
CHAR_LITERAL QUOTED_LITERAL STRING_LITERAL
THIS SUPER OUTER
NOT_OP COMPLEMENT_OP ASSIGN_OP EQUAL_OP IDENTICAL_OP
AND_OP OR_OP INCREMENT_OP DECREMENT_OP SUM_OP DIFFERENCE_OP PRODUCT_OP
QUOTIENT_OP INTERSECTION_OP UNION_OP XOR_OP REMAINDER_OP NOT_EQUAL_OP
LARGER_OP SMALLER_OP LARGE_AS_OP SMALL_AS_OP ENTRY_OP COMPARE_OP IN_OP
IS_OP POWER_OP ADD_ASSIGN_OP SUBTRACT_ASSIGN_OP MULTIPLY_ASSIGN_OP
DIVIDE_ASSIGN_OP INTERSECT_ASSIGN_OP UNION_ASSIGN_OP XOR_ASSIGN_OP
COMPLEMENT_ASSIGN_OP REMAINDER_ASSIGN_OP AND_ASSIGN_OP OR_ASSIGN_OP
DEFAULT_OP EXISTS NONEMPTY RANGE_OP NEGATIVE_OP
SATISFIES EXTENDS THEN_OP ELSE_OP))
^(NOT_OP: UNARY_OPERATOR_EXPRESSION)
^(EXISTS: UNARY_OPERATOR_EXPRESSION)
^(NONEMPTY: UNARY_OPERATOR_EXPRESSION)
^(NEGATIVE_OP: UNARY_OPERATOR_EXPRESSION)
^(POSITIVE_OP: UNARY_OPERATOR_EXPRESSION)
^(abstract TYPE_OPERATOR_EXPRESSION: UNARY_OPERATOR_EXPRESSION
TYPE(BASE_TYPE QUALIFIED_TYPE))
^(IS_OP: TYPE_OPERATOR_EXPRESSION)
^(SATISFIES: TYPE_OPERATOR_EXPRESSION)
^(EXTENDS: TYPE_OPERATOR_EXPRESSION)
^(abstract PREFIX_OPERATOR_EXPRESSION: UNARY_OPERATOR_EXPRESSION)
^(INCREMENT_OP: PREFIX_OPERATOR_EXPRESSION)
^(DECREMENT_OP: PREFIX_OPERATOR_EXPRESSION)
"A postfix increment or decrement expression."
^(abstract POSTFIX_OPERATOR_EXPRESSION: UNARY_OPERATOR_EXPRESSION)
^(POSTFIX_INCREMENT_OP: POSTFIX_OPERATOR_EXPRESSION)
^(POSTFIX_DECREMENT_OP: POSTFIX_OPERATOR_EXPRESSION)
"A parenthesized list of expressions."
^(EXPRESSION_LIST
EXPRESSION*)
"An expression."
^(EXPRESSION:ATOM
TERM(EXPRESSION INVOCATION_EXPRESSION INDEX_EXPRESSION
QUALIFIED_TYPE_EXPRESSION QUALIFIED_MEMBER_EXPRESSION
POSTFIX_INCREMENT_OP POSTFIX_DECREMENT_OP
SEQUENCE_ENUMERATION STRING_TEMPLATE LAMBDA
BASE_TYPE_EXPRESSION BASE_MEMBER_EXPRESSION
FLOAT_LITERAL NATURAL_LITERAL
CHAR_LITERAL QUOTED_LITERAL STRING_LITERAL
THIS SUPER OUTER
NOT_OP COMPLEMENT_OP ASSIGN_OP EQUAL_OP IDENTICAL_OP
AND_OP OR_OP INCREMENT_OP DECREMENT_OP SUM_OP DIFFERENCE_OP PRODUCT_OP
QUOTIENT_OP INTERSECTION_OP UNION_OP XOR_OP REMAINDER_OP NOT_EQUAL_OP
LARGER_OP SMALLER_OP LARGE_AS_OP SMALL_AS_OP ENTRY_OP COMPARE_OP IN_OP
IS_OP POWER_OP ADD_ASSIGN_OP SUBTRACT_ASSIGN_OP MULTIPLY_ASSIGN_OP
DIVIDE_ASSIGN_OP INTERSECT_ASSIGN_OP UNION_ASSIGN_OP XOR_ASSIGN_OP
COMPLEMENT_ASSIGN_OP REMAINDER_ASSIGN_OP AND_ASSIGN_OP OR_ASSIGN_OP
DEFAULT_OP EXISTS NONEMPTY RANGE_OP NEGATIVE_OP POSITIVE_OP
SATISFIES EXTENDS THEN_OP ELSE_OP))
"The receiver of a member reference or invocation expression."
^(abstract PRIMARY:TERM)
^(abstract POSTFIX_EXPRESSION:PRIMARY
PRIMARY(EXPRESSION INVOCATION_EXPRESSION INDEX_EXPRESSION
QUALIFIED_TYPE_EXPRESSION QUALIFIED_MEMBER_EXPRESSION
SEQUENCE_ENUMERATION STRING_TEMPLATE LAMBDA
BASE_TYPE_EXPRESSION BASE_MEMBER_EXPRESSION
FLOAT_LITERAL NATURAL_LITERAL
CHAR_LITERAL QUOTED_LITERAL STRING_LITERAL
THIS SUPER OUTER
EXTENDED_TYPE_EXPRESSION))
"An invocation expression. Note that in the special case of
inline callable arguments, there may be more than one
argument list."
^(INVOCATION_EXPRESSION:POSTFIX_EXPRESSION
POSITIONAL_ARGUMENT_LIST? NAMED_ARGUMENT_LIST?)
^(abstract MEMBER_OR_TYPE_EXPRESSION:PRIMARY
ProducedReference target;
Declaration declaration;
List<ProducedType> signature;)
^(EXTENDED_TYPE_EXPRESSION:MEMBER_OR_TYPE_EXPRESSION)
^(abstract STATIC_MEMBER_OR_TYPE_EXPRESSION:MEMBER_OR_TYPE_EXPRESSION
IDENTIFIER
TYPE_ARGUMENTS? (TYPE_ARGUMENT_LIST INFERRED_TYPE_ARGUMENTS))
^(abstract BASE_MEMBER_OR_TYPE_EXPRESSION:STATIC_MEMBER_OR_TYPE_EXPRESSION)
"A reference to a member in an expression."
^(BASE_MEMBER_EXPRESSION:BASE_MEMBER_OR_TYPE_EXPRESSION)
"A reference to a type in an expression."
^(BASE_TYPE_EXPRESSION:BASE_MEMBER_OR_TYPE_EXPRESSION)
^(abstract QUALIFIED_MEMBER_OR_TYPE_EXPRESSION:STATIC_MEMBER_OR_TYPE_EXPRESSION
PRIMARY(EXPRESSION INVOCATION_EXPRESSION INDEX_EXPRESSION
QUALIFIED_TYPE_EXPRESSION QUALIFIED_MEMBER_EXPRESSION
SEQUENCE_ENUMERATION STRING_TEMPLATE LAMBDA
BASE_TYPE_EXPRESSION BASE_MEMBER_EXPRESSION
FLOAT_LITERAL NATURAL_LITERAL
CHAR_LITERAL QUOTED_LITERAL STRING_LITERAL
THIS SUPER OUTER)
MEMBER_OPERATOR(MEMBER_OP SAFE_MEMBER_OP SPREAD_OP))
"A qualified member reference expression."
^(QUALIFIED_MEMBER_EXPRESSION:QUALIFIED_MEMBER_OR_TYPE_EXPRESSION)
"A qualified member type reference expression."
^(QUALIFIED_TYPE_EXPRESSION:QUALIFIED_MEMBER_OR_TYPE_EXPRESSION)
^(abstract MEMBER_OPERATOR)
^(MEMBER_OP: MEMBER_OPERATOR)
^(SAFE_MEMBER_OP: MEMBER_OPERATOR)
^(SPREAD_OP: MEMBER_OPERATOR)
"An index (element access by key) expression."
^(INDEX_EXPRESSION:POSTFIX_EXPRESSION
INDEX_OPERATOR(INDEX_OP SAFE_INDEX_OP)
ELEMENT_OR_RANGE(ELEMENT ELEMENT_RANGE))
^(abstract INDEX_OPERATOR)
^(INDEX_OP: INDEX_OPERATOR)
^(SAFE_INDEX_OP: INDEX_OPERATOR)
^(abstract ELEMENT_OR_RANGE)
^(ELEMENT:ELEMENT_OR_RANGE
EXPRESSION)
^(ELEMENT_RANGE:ELEMENT_OR_RANGE
EXPRESSION lowerBound
EXPRESSION? upperBound)
^(OUTER:ATOM)
"A list of arguments in an invocation expression."
^(abstract ARGUMENT_LIST)
"A list of named arguments."
^(NAMED_ARGUMENT_LIST:ARGUMENT_LIST
NAMED_ARGUMENT*(SPECIFIED_ARGUMENT METHOD_ARGUMENT
ATTRIBUTE_ARGUMENT OBJECT_ARGUMENT)
SEQUENCED_ARGUMENT?
COMPREHENSION?
NamedArgumentList namedArgumentList;)
^(SEQUENCED_ARGUMENT:STATEMENT_OR_ARGUMENT
EXPRESSION_LIST
Parameter parameter;)
"A list of positional arguments."
^(POSITIONAL_ARGUMENT_LIST:ARGUMENT_LIST
POSITIONAL_ARGUMENT*
COMPREHENSION?
ELLIPSIS?)
^(ELLIPSIS)
^(POSITIONAL_ARGUMENT
EXPRESSION
Parameter parameter;)
^(FUNCTION_ARGUMENT: POSITIONAL_ARGUMENT
LOCAL_MODIFIER type
PARAMETER_LIST*
Method declarationModel;)
^(abstract NAMED_ARGUMENT:STATEMENT_OR_ARGUMENT
IDENTIFIER
Parameter parameter;)
^(SPECIFIED_ARGUMENT:NAMED_ARGUMENT
SPECIFIER_EXPRESSION)
^(abstract TYPED_ARGUMENT:NAMED_ARGUMENT
TYPE(BASE_TYPE QUALIFIED_TYPE UNION_TYPE INTERSECTION_TYPE
VOID_MODIFIER VALUE_MODIFIER FUNCTION_MODIFIER)
abstract TypedDeclaration declarationModel;)
^(METHOD_ARGUMENT:TYPED_ARGUMENT
PARAMETER_LIST*
BLOCK
Method declarationModel;)
^(ATTRIBUTE_ARGUMENT:TYPED_ARGUMENT
BLOCK
Getter declarationModel;)
^(OBJECT_ARGUMENT:TYPED_ARGUMENT
EXTENDED_TYPE?
SATISFIED_TYPES?
CLASS_BODY
Value declarationModel;)
^(abstract SPECIFIER_OR_INITIALIZER_EXPRESSION EXPRESSION)
"A specifier expression."
^(SPECIFIER_EXPRESSION:SPECIFIER_OR_INITIALIZER_EXPRESSION)
"An initializer expression."
^(INITIALIZER_EXPRESSION:SPECIFIER_OR_INITIALIZER_EXPRESSION)
"A member reference, type reference, literal, string template, or parenthesized expression."
^(abstract ATOM:PRIMARY)
"A literal."
^(abstract LITERAL:ATOM)
^(NATURAL_LITERAL:LITERAL)
^(FLOAT_LITERAL:LITERAL)
^(CHAR_LITERAL:LITERAL)
^(STRING_LITERAL:LITERAL)
^(QUOTED_LITERAL:LITERAL)
"A reference to the current instance."
^(abstract SELF_EXPRESSION:ATOM)
^(THIS:SELF_EXPRESSION)
^(SUPER:SELF_EXPRESSION)
"Enumerated elements of a sequence."
^(SEQUENCE_ENUMERATION:ATOM
EXPRESSION_LIST?
COMPREHENSION?)
"A string template."
^(STRING_TEMPLATE:ATOM
STRING_LITERAL*
EXPRESSION*)
^(LAMBDA:ATOM
PARAMETER_LIST
BLOCK)
"A program element annotation."
^(ANNOTATION:INVOCATION_EXPRESSION)
"A list of annotations of a program element."
^(ANNOTATION_LIST
ANNOTATION*)
"A name."
^(IDENTIFIER)
^(COMPREHENSION:STATEMENT_OR_ARGUMENT
FOR_COMPREHENSION_CLAUSE)
^(abstract COMPREHENSION_CLAUSE:CONTROL_CLAUSE)
^(EXPRESSION_COMPREHENSION_CLAUSE:COMPREHENSION_CLAUSE
EXPRESSION)
^(FOR_COMPREHENSION_CLAUSE:COMPREHENSION_CLAUSE
FOR_ITERATOR(VALUE_ITERATOR KEY_VALUE_ITERATOR)
COMPREHENSION_CLAUSE(FOR_COMPREHENSION_CLAUSE
IF_COMPREHENSION_CLAUSE
EXPRESSION_COMPREHENSION_CLAUSE))
^(IF_COMPREHENSION_CLAUSE:COMPREHENSION_CLAUSE
CONDITION?(BOOLEAN_CONDITION
EXISTS_CONDITION NONEMPTY_CONDITION
IS_CONDITION SATISFIES_CONDITION)
COMPREHENSION_CLAUSE(FOR_COMPREHENSION_CLAUSE
IF_COMPREHENSION_CLAUSE
EXPRESSION_COMPREHENSION_CLAUSE))
Jump to Line
Something went wrong with that request. Please try again.