pub mod additive_expression {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod array_literal {
use crate::syntax::fields::Field;
pub const ELEMENT: Field<false> = Field::new("element_id");
}
pub mod array_type {
use crate::syntax::fields::Field;
pub const ELEMENT: Field<true> = Field::new("element_id");
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod as_expression {
use crate::syntax::fields::Field;
pub const EXPR: Field<true> = Field::new("expr_id");
pub const NAME: Field<true> = Field::new("name_id");
pub const TYPE: Field<true> = Field::new("type_id");
}
pub mod assignment {
use crate::syntax::fields::Field;
pub const OPERATOR: Field<true> = Field::new("operator_id");
pub const RESULT: Field<true> = Field::new("result_id");
pub const TARGET: Field<true> = Field::new("target_id");
}
pub mod associatedtype_declaration {
use crate::syntax::fields::Field;
pub const DEFAULT_VALUE: Field<false> = Field::new("default_value_id");
pub const MUST_INHERIT: Field<false> = Field::new("must_inherit_id");
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod await_expression {
use crate::syntax::fields::Field;
pub const EXPR: Field<false> = Field::new("expr_id");
}
pub mod bitwise_operation {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod call_suffix {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod capture_list_item {
use crate::syntax::fields::Field;
pub const NAME: Field<true> = Field::new("name_id");
pub const VALUE: Field<false> = Field::new("value_id");
}
pub mod catch_block {
use crate::syntax::fields::Field;
pub const ERROR: Field<false> = Field::new("error_id");
}
pub mod check_expression {
use crate::syntax::fields::Field;
pub const NAME: Field<true> = Field::new("name_id");
pub const OP: Field<true> = Field::new("op_id");
pub const TARGET: Field<true> = Field::new("target_id");
pub const TYPE: Field<true> = Field::new("type_id");
}
pub mod class_declaration {
use crate::syntax::fields::Field;
pub const BODY: Field<true> = Field::new("body_id");
pub const DECLARATION_KIND: Field<true> = Field::new("declaration_kind_id");
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod comparison_expression {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod conjunction_expression {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod constructor_expression {
use crate::syntax::fields::Field;
pub const CONSTRUCTED_TYPE: Field<true> = Field::new("constructed_type_id");
}
pub mod constructor_suffix {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod control_transfer_statement {
use crate::syntax::fields::Field;
pub const RESULT: Field<false> = Field::new("result_id");
}
pub mod deinit_declaration {
use crate::syntax::fields::Field;
pub const BODY: Field<true> = Field::new("body_id");
}
pub mod dictionary_literal {
use crate::syntax::fields::Field;
pub const KEY: Field<false> = Field::new("key_id");
pub const VALUE: Field<false> = Field::new("value_id");
}
pub mod dictionary_type {
use crate::syntax::fields::Field;
pub const KEY: Field<true> = Field::new("key_id");
pub const NAME: Field<true> = Field::new("name_id");
pub const VALUE: Field<true> = Field::new("value_id");
}
pub mod disjunction_expression {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod enum_entry {
use crate::syntax::fields::Field;
pub const DATA_CONTENTS: Field<false> = Field::new("data_contents_id");
pub const NAME: Field<true> = Field::new("name_id");
pub const RAW_VALUE: Field<false> = Field::new("raw_value_id");
}
pub mod enum_type_parameters {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod equality_constraint {
use crate::syntax::fields::Field;
pub const CONSTRAINED_TYPE: Field<true> = Field::new("constrained_type_id");
pub const MUST_EQUAL: Field<true> = Field::new("must_equal_id");
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod equality_expression {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod for_statement {
use crate::syntax::fields::Field;
pub const COLLECTION: Field<true> = Field::new("collection_id");
pub const ITEM: Field<true> = Field::new("item_id");
}
pub mod function_declaration {
use crate::syntax::fields::Field;
pub const BODY: Field<true> = Field::new("body_id");
pub const DEFAULT_VALUE: Field<false> = Field::new("default_value_id");
pub const NAME: Field<true> = Field::new("name_id");
pub const RETURN_TYPE: Field<false> = Field::new("return_type_id");
}
pub mod function_type {
use crate::syntax::fields::Field;
pub const NAME: Field<true> = Field::new("name_id");
pub const PARAMS: Field<true> = Field::new("params_id");
pub const RETURN_TYPE: Field<true> = Field::new("return_type_id");
}
pub mod guard_statement {
use crate::syntax::fields::Field;
pub const BOUND_IDENTIFIER: Field<false> = Field::new("bound_identifier_id");
pub const CONDITION: Field<true> = Field::new("condition_id");
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod if_statement {
use crate::syntax::fields::Field;
pub const BOUND_IDENTIFIER: Field<false> = Field::new("bound_identifier_id");
pub const CONDITION: Field<true> = Field::new("condition_id");
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod infix_expression {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod inheritance_constraint {
use crate::syntax::fields::Field;
pub const CONSTRAINED_TYPE: Field<true> = Field::new("constrained_type_id");
pub const INHERITS_FROM: Field<true> = Field::new("inherits_from_id");
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod inheritance_specifier {
use crate::syntax::fields::Field;
pub const INHERITS_FROM: Field<true> = Field::new("inherits_from_id");
}
pub mod init_declaration {
use crate::syntax::fields::Field;
pub const BODY: Field<false> = Field::new("body_id");
pub const DEFAULT_VALUE: Field<false> = Field::new("default_value_id");
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod interpolated_expression {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
pub const REFERENCE_SPECIFIER: Field<false> = Field::new("reference_specifier_id");
pub const VALUE: Field<false> = Field::new("value_id");
}
pub mod lambda_function_type {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
pub const RETURN_TYPE: Field<false> = Field::new("return_type_id");
}
pub mod lambda_literal {
use crate::syntax::fields::Field;
pub const CAPTURES: Field<false> = Field::new("captures_id");
pub const TYPE: Field<false> = Field::new("type_id");
}
pub mod lambda_parameter {
use crate::syntax::fields::Field;
pub const EXTERNAL_NAME: Field<false> = Field::new("external_name_id");
pub const NAME: Field<false> = Field::new("name_id");
pub const TYPE: Field<false> = Field::new("type_id");
}
pub mod line_string_literal {
use crate::syntax::fields::Field;
pub const INTERPOLATION: Field<false> = Field::new("interpolation_id");
pub const TEXT: Field<false> = Field::new("text_id");
}
pub mod macro_declaration {
use crate::syntax::fields::Field;
pub const DEFAULT_VALUE: Field<false> = Field::new("default_value_id");
pub const DEFINITION: Field<false> = Field::new("definition_id");
}
pub mod macro_definition {
use crate::syntax::fields::Field;
pub const BODY: Field<true> = Field::new("body_id");
}
pub mod multi_line_string_literal {
use crate::syntax::fields::Field;
pub const INTERPOLATION: Field<false> = Field::new("interpolation_id");
pub const TEXT: Field<false> = Field::new("text_id");
}
pub mod multiplicative_expression {
use crate::syntax::fields::Field;
pub const LHS: Field<true> = Field::new("lhs_id");
pub const OP: Field<true> = Field::new("op_id");
pub const RHS: Field<true> = Field::new("rhs_id");
}
pub mod navigation_expression {
use crate::syntax::fields::Field;
pub const ELEMENT: Field<false> = Field::new("element_id");
pub const SUFFIX: Field<true> = Field::new("suffix_id");
pub const TARGET: Field<true> = Field::new("target_id");
}
pub mod navigation_suffix {
use crate::syntax::fields::Field;
pub const SUFFIX: Field<true> = Field::new("suffix_id");
}
pub mod nil_coalescing_expression {
use crate::syntax::fields::Field;
pub const IF_NIL: Field<true> = Field::new("if_nil_id");
pub const VALUE: Field<true> = Field::new("value_id");
}
pub mod open_end_range_expression {
use crate::syntax::fields::Field;
pub const START: Field<true> = Field::new("start_id");
}
pub mod open_start_range_expression {
use crate::syntax::fields::Field;
pub const END: Field<true> = Field::new("end_id");
}
pub mod optional_type {
use crate::syntax::fields::Field;
pub const WRAPPED: Field<true> = Field::new("wrapped_id");
}
pub mod parameter {
use crate::syntax::fields::Field;
pub const EXTERNAL_NAME: Field<false> = Field::new("external_name_id");
pub const NAME: Field<true> = Field::new("name_id");
pub const TYPE: Field<true> = Field::new("type_id");
}
pub mod pattern {
use crate::syntax::fields::Field;
pub const BOUND_IDENTIFIER: Field<false> = Field::new("bound_identifier_id");
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod postfix_expression {
use crate::syntax::fields::Field;
pub const OPERATION: Field<true> = Field::new("operation_id");
pub const TARGET: Field<true> = Field::new("target_id");
}
pub mod prefix_expression {
use crate::syntax::fields::Field;
pub const OPERATION: Field<true> = Field::new("operation_id");
pub const TARGET: Field<true> = Field::new("target_id");
}
pub mod property_declaration {
use crate::syntax::fields::Field;
pub const COMPUTED_VALUE: Field<false> = Field::new("computed_value_id");
pub const NAME: Field<true> = Field::new("name_id");
pub const VALUE: Field<false> = Field::new("value_id");
}
pub mod protocol_body {
use crate::syntax::fields::Field;
pub const BODY: Field<false> = Field::new("body_id");
}
pub mod protocol_declaration {
use crate::syntax::fields::Field;
pub const BODY: Field<true> = Field::new("body_id");
pub const DECLARATION_KIND: Field<true> = Field::new("declaration_kind_id");
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod protocol_function_declaration {
use crate::syntax::fields::Field;
pub const DEFAULT_VALUE: Field<false> = Field::new("default_value_id");
pub const NAME: Field<false> = Field::new("name_id");
pub const RETURN_TYPE: Field<false> = Field::new("return_type_id");
}
pub mod protocol_property_declaration {
use crate::syntax::fields::Field;
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod range_expression {
use crate::syntax::fields::Field;
pub const END: Field<true> = Field::new("end_id");
pub const OP: Field<true> = Field::new("op_id");
pub const START: Field<true> = Field::new("start_id");
}
pub mod raw_str_interpolation {
use crate::syntax::fields::Field;
pub const INTERPOLATION: Field<true> = Field::new("interpolation_id");
}
pub mod raw_string_literal {
use crate::syntax::fields::Field;
pub const INTERPOLATION: Field<false> = Field::new("interpolation_id");
pub const TEXT: Field<true> = Field::new("text_id");
}
pub mod repeat_while_statement {
use crate::syntax::fields::Field;
pub const BOUND_IDENTIFIER: Field<false> = Field::new("bound_identifier_id");
pub const CONDITION: Field<true> = Field::new("condition_id");
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod subscript_declaration {
use crate::syntax::fields::Field;
pub const DEFAULT_VALUE: Field<false> = Field::new("default_value_id");
pub const NAME: Field<false> = Field::new("name_id");
pub const RETURN_TYPE: Field<false> = Field::new("return_type_id");
}
pub mod suppressed_constraint {
use crate::syntax::fields::Field;
pub const SUPPRESSED: Field<true> = Field::new("suppressed_id");
}
pub mod switch_statement {
use crate::syntax::fields::Field;
pub const EXPR: Field<true> = Field::new("expr_id");
}
pub mod ternary_expression {
use crate::syntax::fields::Field;
pub const CONDITION: Field<true> = Field::new("condition_id");
pub const IF_FALSE: Field<true> = Field::new("if_false_id");
pub const IF_TRUE: Field<true> = Field::new("if_true_id");
}
pub mod throws_clause {
use crate::syntax::fields::Field;
pub const TYPE: Field<true> = Field::new("type_id");
}
pub mod try_expression {
use crate::syntax::fields::Field;
pub const EXPR: Field<true> = Field::new("expr_id");
}
pub mod tuple_expression {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
pub const VALUE: Field<true> = Field::new("value_id");
}
pub mod tuple_type {
use crate::syntax::fields::Field;
pub const ELEMENT: Field<false> = Field::new("element_id");
}
pub mod tuple_type_item {
use crate::syntax::fields::Field;
pub const ELEMENT: Field<false> = Field::new("element_id");
pub const NAME: Field<false> = Field::new("name_id");
pub const TYPE: Field<false> = Field::new("type_id");
}
pub mod type_annotation {
use crate::syntax::fields::Field;
pub const NAME: Field<true> = Field::new("name_id");
pub const TYPE: Field<true> = Field::new("type_id");
}
pub mod type_arguments {
use crate::syntax::fields::Field;
pub const NAME: Field<true> = Field::new("name_id");
}
pub mod type_parameter {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
}
pub mod typealias_declaration {
use crate::syntax::fields::Field;
pub const NAME: Field<true> = Field::new("name_id");
pub const VALUE: Field<true> = Field::new("value_id");
}
pub mod value_argument {
use crate::syntax::fields::Field;
pub const NAME: Field<false> = Field::new("name_id");
pub const REFERENCE_SPECIFIER: Field<false> = Field::new("reference_specifier_id");
pub const VALUE: Field<false> = Field::new("value_id");
}
pub mod value_binding_pattern {
use crate::syntax::fields::Field;
pub const MUTABILITY: Field<true> = Field::new("mutability_id");
}
pub mod while_statement {
use crate::syntax::fields::Field;
pub const BOUND_IDENTIFIER: Field<false> = Field::new("bound_identifier_id");
pub const CONDITION: Field<true> = Field::new("condition_id");
pub const NAME: Field<false> = Field::new("name_id");
}