From b5021411a84822cb3f1e3aeffad9550dd15bdeb6 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 16 Sep 2018 12:54:24 +0300 Subject: rename all things --- .../data/parser/inline/0001_const_unsafe_fn.rs | 1 + .../data/parser/inline/0001_const_unsafe_fn.txt | 18 +++ .../tests/data/parser/inline/0002_const_fn.rs | 1 + .../tests/data/parser/inline/0002_const_fn.txt | 16 +++ .../tests/data/parser/inline/0003_extern_block.rs | 1 + .../tests/data/parser/inline/0003_extern_block.txt | 9 ++ .../tests/data/parser/inline/0004_extern_fn.rs | 1 + .../tests/data/parser/inline/0004_extern_fn.txt | 17 +++ .../tests/data/parser/inline/0005_extern_crate.rs | 1 + .../tests/data/parser/inline/0005_extern_crate.txt | 10 ++ .../tests/data/parser/inline/0007_unsafe_trait.rs | 1 + .../tests/data/parser/inline/0007_unsafe_trait.txt | 13 ++ .../tests/data/parser/inline/0008_unsafe_impl.rs | 1 + .../tests/data/parser/inline/0008_unsafe_impl.txt | 16 +++ .../data/parser/inline/0009_unsafe_auto_trait.rs | 1 + .../data/parser/inline/0009_unsafe_auto_trait.txt | 15 +++ .../data/parser/inline/0010_unsafe_default_impl.rs | 1 + .../parser/inline/0010_unsafe_default_impl.txt | 18 +++ .../tests/data/parser/inline/0011_unsafe_fn.rs | 1 + .../tests/data/parser/inline/0011_unsafe_fn.txt | 16 +++ .../data/parser/inline/0012_unsafe_extern_fn.rs | 1 + .../data/parser/inline/0012_unsafe_extern_fn.txt | 21 ++++ .../data/parser/inline/0013_unsafe_block_in_mod.rs | 1 + .../parser/inline/0013_unsafe_block_in_mod.txt | 35 ++++++ .../parser/inline/0014_type_item_type_params.rs | 1 + .../parser/inline/0014_type_item_type_params.txt | 20 +++ .../tests/data/parser/inline/0015_type_item.rs | 1 + .../tests/data/parser/inline/0015_type_item.txt | 16 +++ .../parser/inline/0016_type_item_where_clause.rs | 1 + .../parser/inline/0016_type_item_where_clause.txt | 32 +++++ .../tests/data/parser/inline/0017_paren_type.rs | 1 + .../tests/data/parser/inline/0017_paren_type.txt | 19 +++ .../tests/data/parser/inline/0018_unit_type.rs | 1 + .../tests/data/parser/inline/0018_unit_type.txt | 14 +++ .../parser/inline/0019_singleton_tuple_type.rs | 1 + .../parser/inline/0019_singleton_tuple_type.txt | 20 +++ .../tests/data/parser/inline/0020_never_type.rs | 1 + .../tests/data/parser/inline/0020_never_type.txt | 13 ++ .../inline/0021_pointer_type_no_mutability.rs | 1 + .../inline/0021_pointer_type_no_mutability.txt | 17 +++ .../data/parser/inline/0022_pointer_type_mut.rs | 2 + .../data/parser/inline/0022_pointer_type_mut.txt | 35 ++++++ .../parser/inline/0023_array_type_missing_semi.rs | 1 + .../parser/inline/0023_array_type_missing_semi.txt | 27 +++++ .../tests/data/parser/inline/0024_array_type.rs | 1 + .../tests/data/parser/inline/0024_array_type.txt | 21 ++++ .../tests/data/parser/inline/0025_slice_type.rs | 1 + .../tests/data/parser/inline/0025_slice_type.txt | 17 +++ .../data/parser/inline/0026_reference_type;.rs | 3 + .../data/parser/inline/0026_reference_type;.txt | 50 ++++++++ .../data/parser/inline/0027_placeholder_type.rs | 1 + .../data/parser/inline/0027_placeholder_type.txt | 13 ++ .../data/parser/inline/0028_fn_pointer_type.rs | 3 + .../data/parser/inline/0028_fn_pointer_type.txt | 55 +++++++++ .../inline/0029_fn_pointer_type_missing_fn.rs | 1 + .../inline/0029_fn_pointer_type_missing_fn.txt | 23 ++++ .../parser/inline/0030_fn_pointer_type_with_ret.rs | 1 + .../inline/0030_fn_pointer_type_with_ret.txt | 23 ++++ .../tests/data/parser/inline/0031_for_type.rs | 1 + .../tests/data/parser/inline/0031_for_type.txt | 31 +++++ .../tests/data/parser/inline/0032_path_type.rs | 4 + .../tests/data/parser/inline/0032_path_type.txt | 70 +++++++++++ .../tests/data/parser/inline/0034_bind_pat.rs | 8 ++ .../tests/data/parser/inline/0034_bind_pat.txt | 127 +++++++++++++++++++ .../tests/data/parser/inline/0035_ref_pat.rs | 4 + .../tests/data/parser/inline/0035_ref_pat.txt | 49 ++++++++ .../data/parser/inline/0036_placeholder_pat.rs | 1 + .../data/parser/inline/0036_placeholder_pat.txt | 28 +++++ .../data/parser/inline/0037_crate_visibility.rs | 4 + .../data/parser/inline/0037_crate_visibility.txt | 53 ++++++++ .../data/parser/inline/0038_function_ret_type.rs | 2 + .../data/parser/inline/0038_function_ret_type.txt | 34 ++++++ .../tests/data/parser/inline/0039_path_expr.rs | 6 + .../tests/data/parser/inline/0039_path_expr.txt | 95 +++++++++++++++ .../tests/data/parser/inline/0040_expr_literals.rs | 12 ++ .../data/parser/inline/0040_expr_literals.txt | 135 +++++++++++++++++++++ .../data/parser/inline/0041_type_param_bounds.rs | 1 + .../data/parser/inline/0041_type_param_bounds.txt | 36 ++++++ .../data/parser/inline/0042_type_param_default.rs | 1 + .../data/parser/inline/0042_type_param_default.txt | 22 ++++ .../tests/data/parser/inline/0043_call_expr.rs | 4 + .../tests/data/parser/inline/0043_call_expr.txt | 70 +++++++++++ .../tests/data/parser/inline/0044_ref_expr.rs | 4 + .../tests/data/parser/inline/0044_ref_expr.txt | 54 +++++++++ .../tests/data/parser/inline/0045_block.rs | 4 + .../tests/data/parser/inline/0045_block.txt | 86 +++++++++++++ .../tests/data/parser/inline/0046_default_impl.rs | 1 + .../tests/data/parser/inline/0046_default_impl.txt | 16 +++ .../tests/data/parser/inline/0047_impl_item.rs | 1 + .../tests/data/parser/inline/0047_impl_item.txt | 14 +++ .../tests/data/parser/inline/0048_impl_item_neg.rs | 1 + .../data/parser/inline/0048_impl_item_neg.txt | 23 ++++ .../data/parser/inline/0049_trait_item_list.rs | 6 + .../data/parser/inline/0049_trait_item_list.txt | 69 +++++++++++ .../tests/data/parser/inline/0050_let_stmt;.rs | 6 + .../tests/data/parser/inline/0050_let_stmt;.txt | 71 +++++++++++ .../data/parser/inline/0051_method_call_expr.rs | 4 + .../data/parser/inline/0051_method_call_expr.txt | 62 ++++++++++ .../tests/data/parser/inline/0052_field_expr.rs | 4 + .../tests/data/parser/inline/0052_field_expr.txt | 42 +++++++ .../tests/data/parser/inline/0053_block_items.rs | 1 + .../tests/data/parser/inline/0053_block_items.txt | 28 +++++ .../data/parser/inline/0054_field_pat_list.rs | 6 + .../data/parser/inline/0054_field_pat_list.txt | 126 +++++++++++++++++++ .../tests/data/parser/inline/0055_self_param.rs | 7 ++ .../tests/data/parser/inline/0055_self_param.txt | 116 ++++++++++++++++++ .../tests/data/parser/inline/0056_trait_item.rs | 1 + .../tests/data/parser/inline/0056_trait_item.txt | 49 ++++++++ .../tests/data/parser/inline/0057_auto_trait.rs | 1 + .../tests/data/parser/inline/0057_auto_trait.txt | 13 ++ .../tests/data/parser/inline/0058_type_arg.rs | 1 + .../tests/data/parser/inline/0058_type_arg.txt | 40 ++++++ .../parser/inline/0059_function_where_clause.rs | 1 + .../parser/inline/0059_function_where_clause.txt | 37 ++++++ .../parser/inline/0060_function_type_params.rs | 1 + .../parser/inline/0060_function_type_params.txt | 34 ++++++ .../tests/data/parser/inline/0061_struct_lit.rs | 5 + .../tests/data/parser/inline/0061_struct_lit.txt | 97 +++++++++++++++ .../data/parser/inline/0063_impl_trait_type.rs | 1 + .../data/parser/inline/0063_impl_trait_type.txt | 40 ++++++ .../tests/data/parser/inline/0063_lambda_expr.txt | 91 ++++++++++++++ .../tests/data/parser/inline/0064_param_list.rs | 4 + .../tests/data/parser/inline/0064_param_list.txt | 99 +++++++++++++++ .../tests/data/parser/inline/0065_if_expr.rs | 6 + .../tests/data/parser/inline/0065_if_expr.txt | 95 +++++++++++++++ .../tests/data/parser/inline/0066_lambda_expr.rs | 6 + .../tests/data/parser/inline/0066_lambda_expr.txt | 95 +++++++++++++++ .../tests/data/parser/inline/0067_block_expr.rs | 5 + .../tests/data/parser/inline/0067_block_expr.txt | 42 +++++++ .../tests/data/parser/inline/0068_pub_expr.rs | 1 + .../tests/data/parser/inline/0068_pub_expr.txt | 25 ++++ .../tests/data/parser/inline/0068_return_expr.rs | 4 + .../tests/data/parser/inline/0068_return_expr.txt | 28 +++++ .../tests/data/parser/inline/0069_match_arm.rs | 6 + .../tests/data/parser/inline/0069_match_arm.txt | 66 ++++++++++ .../tests/data/parser/inline/0070_match_expr.rs | 4 + .../tests/data/parser/inline/0070_match_expr.txt | 44 +++++++ .../data/parser/inline/0071_tuple_pat_fields.rs | 6 + .../data/parser/inline/0071_tuple_pat_fields.txt | 103 ++++++++++++++++ .../tests/data/parser/inline/0072_path_part.rs | 6 + .../tests/data/parser/inline/0072_path_part.txt | 95 +++++++++++++++ .../data/parser/inline/0073_impl_item_list.rs | 6 + .../data/parser/inline/0073_impl_item_list.txt | 78 ++++++++++++ .../tests/data/parser/inline/0074_unary_expr.rs | 5 + .../tests/data/parser/inline/0074_unary_expr.txt | 44 +++++++ .../tests/data/parser/inline/0075_try_expr.rs | 3 + .../tests/data/parser/inline/0075_try_expr.txt | 25 ++++ .../tests/data/parser/inline/0076_cond.rs | 1 + .../tests/data/parser/inline/0076_cond.txt | 43 +++++++ .../tests/data/parser/inline/0077_while_expr.rs | 4 + .../tests/data/parser/inline/0077_while_expr.txt | 66 ++++++++++ .../tests/data/parser/inline/0078_mod_contents.rs | 5 + .../tests/data/parser/inline/0078_mod_contents.txt | 65 ++++++++++ .../tests/data/parser/inline/0079_cast_expr.rs | 3 + .../tests/data/parser/inline/0079_cast_expr.txt | 29 +++++ .../tests/data/parser/inline/0080_tuple_expr.rs | 5 + .../tests/data/parser/inline/0080_tuple_expr.txt | 38 ++++++ .../tests/data/parser/inline/0081_index_expr.rs | 3 + .../tests/data/parser/inline/0081_index_expr.txt | 33 +++++ .../tests/data/parser/inline/0082_tuple_pat.rs | 3 + .../tests/data/parser/inline/0082_tuple_pat.txt | 40 ++++++ .../tests/data/parser/inline/0083_postfix_range.rs | 1 + .../data/parser/inline/0083_postfix_range.txt | 30 +++++ .../tests/data/parser/inline/0084_loop_expr.rs | 3 + .../tests/data/parser/inline/0084_loop_expr.txt | 24 ++++ .../tests/data/parser/inline/0085_for_expr.rs | 3 + .../tests/data/parser/inline/0085_for_expr.txt | 34 ++++++ .../data/parser/inline/0085_match_arms_commas.rs | 7 ++ .../data/parser/inline/0085_match_arms_commas.txt | 59 +++++++++ .../tests/data/parser/inline/0086_array_expr.rs | 6 + .../tests/data/parser/inline/0086_array_expr.txt | 54 +++++++++ .../data/parser/inline/0086_no_semi_after_block.rs | 9 ++ .../parser/inline/0086_no_semi_after_block.txt | 87 +++++++++++++ .../inline/0087_stmt_postfix_expr_ambiguity.rs | 7 ++ .../inline/0087_stmt_postfix_expr_ambiguity.txt | 62 ++++++++++ .../parser/inline/0088_stmt_bin_expr_ambiguity.rs | 4 + .../parser/inline/0088_stmt_bin_expr_ambiguity.txt | 52 ++++++++ .../tests/data/parser/inline/0089_slice_pat.rs | 3 + .../tests/data/parser/inline/0089_slice_pat.txt | 40 ++++++ .../tests/data/parser/inline/0091_fn_decl.rs | 1 + .../tests/data/parser/inline/0091_fn_decl.txt | 22 ++++ .../data/parser/inline/0092_literal_pattern.rs | 7 ++ .../data/parser/inline/0092_literal_pattern.txt | 60 +++++++++ .../data/parser/inline/0093_path_fn_trait_args.rs | 1 + .../data/parser/inline/0093_path_fn_trait_args.txt | 46 +++++++ .../tests/data/parser/inline/0094_range_pat.rs | 3 + .../tests/data/parser/inline/0094_range_pat.txt | 42 +++++++ .../parser/inline/0095_path_type_with_bounds.rs | 1 + .../parser/inline/0095_path_type_with_bounds.txt | 36 ++++++ .../inline/0096_value_parameters_no_patterns.rs | 1 + .../inline/0096_value_parameters_no_patterns.txt | 81 +++++++++++++ .../parser/inline/0097_param_list_opt_patterns.rs | 1 + .../parser/inline/0097_param_list_opt_patterns.txt | 44 +++++++ .../tests/data/parser/inline/0098_where_clause.rs | 6 + .../tests/data/parser/inline/0098_where_clause.txt | 71 +++++++++++ .../data/parser/inline/0099_crate_keyword_vis.rs | 1 + .../data/parser/inline/0099_crate_keyword_vis.txt | 18 +++ .../data/parser/inline/0100_dyn_trait_type.rs | 1 + .../data/parser/inline/0100_dyn_trait_type.txt | 40 ++++++ .../tests/data/parser/inline/0101_qual_paths.rs | 2 + .../tests/data/parser/inline/0101_qual_paths.txt | 78 ++++++++++++ .../data/parser/inline/0102_full_range_expr.rs | 1 + .../data/parser/inline/0102_full_range_expr.txt | 28 +++++ .../tests/data/parser/inline/0103_field_attrs.rs | 4 + .../tests/data/parser/inline/0103_field_attrs.txt | 42 +++++++ .../data/parser/inline/0104_arb_self_types.rs | 4 + .../data/parser/inline/0104_arb_self_types.txt | 72 +++++++++++ .../tests/data/parser/inline/0105_continue_expr.rs | 6 + .../data/parser/inline/0105_continue_expr.txt | 35 ++++++ .../tests/data/parser/inline/0106_break_expr.rs | 8 ++ .../tests/data/parser/inline/0106_break_expr.txt | 53 ++++++++ .../tests/data/parser/inline/0107_label.rs | 5 + .../tests/data/parser/inline/0107_label.txt | 64 ++++++++++ .../data/parser/inline/0108_misplaced_label_err.rs | 3 + .../parser/inline/0108_misplaced_label_err.txt | 28 +++++ .../tests/data/parser/inline/0109_struct_items.rs | 8 ++ .../tests/data/parser/inline/0109_struct_items.txt | 87 +++++++++++++ .../tests/data/parser/inline/0110_union_items.rs | 5 + .../tests/data/parser/inline/0110_union_items.txt | 46 +++++++ 219 files changed, 5401 insertions(+) create mode 100644 crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0002_const_fn.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0002_const_fn.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0003_extern_block.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0003_extern_block.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0015_type_item.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0015_type_item.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0017_paren_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0017_paren_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0018_unit_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0018_unit_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0020_never_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0020_never_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0024_array_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0024_array_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0025_slice_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0025_slice_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0031_for_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0031_for_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0032_path_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0032_path_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0039_path_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0039_path_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0043_call_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0043_call_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0045_block.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0045_block.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0046_default_impl.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0046_default_impl.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0047_impl_item.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0047_impl_item.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0052_field_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0052_field_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0053_block_items.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0053_block_items.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0055_self_param.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0055_self_param.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0056_trait_item.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0056_trait_item.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0058_type_arg.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0064_param_list.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0064_param_list.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0065_if_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0065_if_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0067_block_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0067_block_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0068_return_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0068_return_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0069_match_arm.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0070_match_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0070_match_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0072_path_part.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0072_path_part.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0075_try_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0075_try_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0076_cond.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0076_cond.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0077_while_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0077_while_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0081_index_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0081_index_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0085_for_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0085_for_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0086_array_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0086_array_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0094_range_pat.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0094_range_pat.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0098_where_clause.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0098_where_clause.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0106_break_expr.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0106_break_expr.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0107_label.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0107_label.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0109_struct_items.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0109_struct_items.txt create mode 100644 crates/ra_syntax/tests/data/parser/inline/0110_union_items.rs create mode 100644 crates/ra_syntax/tests/data/parser/inline/0110_union_items.txt (limited to 'crates/ra_syntax/tests/data/parser/inline') diff --git a/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.rs b/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.rs new file mode 100644 index 000000000..31a1e435f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.rs @@ -0,0 +1 @@ +const unsafe fn foo() {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.txt b/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.txt new file mode 100644 index 000000000..956532981 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.txt @@ -0,0 +1,18 @@ +ROOT@[0; 25) + FN_DEF@[0; 24) + CONST_KW@[0; 5) + WHITESPACE@[5; 6) + UNSAFE_KW@[6; 12) + WHITESPACE@[12; 13) + FN_KW@[13; 15) + WHITESPACE@[15; 16) + NAME@[16; 19) + IDENT@[16; 19) "foo" + PARAM_LIST@[19; 21) + L_PAREN@[19; 20) + R_PAREN@[20; 21) + WHITESPACE@[21; 22) + BLOCK@[22; 24) + L_CURLY@[22; 23) + R_CURLY@[23; 24) + WHITESPACE@[24; 25) diff --git a/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.rs b/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.rs new file mode 100644 index 000000000..8c84d9cd7 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.rs @@ -0,0 +1 @@ +const fn foo() {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.txt b/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.txt new file mode 100644 index 000000000..bda875fc5 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.txt @@ -0,0 +1,16 @@ +ROOT@[0; 18) + FN_DEF@[0; 17) + CONST_KW@[0; 5) + WHITESPACE@[5; 6) + FN_KW@[6; 8) + WHITESPACE@[8; 9) + NAME@[9; 12) + IDENT@[9; 12) "foo" + PARAM_LIST@[12; 14) + L_PAREN@[12; 13) + R_PAREN@[13; 14) + WHITESPACE@[14; 15) + BLOCK@[15; 17) + L_CURLY@[15; 16) + R_CURLY@[16; 17) + WHITESPACE@[17; 18) diff --git a/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.rs b/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.rs new file mode 100644 index 000000000..26a9ccd1e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.rs @@ -0,0 +1 @@ +extern {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.txt b/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.txt new file mode 100644 index 000000000..2c2bbd035 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.txt @@ -0,0 +1,9 @@ +ROOT@[0; 10) + EXTERN_BLOCK@[0; 9) + ABI@[0; 6) + EXTERN_KW@[0; 6) + WHITESPACE@[6; 7) + EXTERN_ITEM_LIST@[7; 9) + L_CURLY@[7; 8) + R_CURLY@[8; 9) + WHITESPACE@[9; 10) diff --git a/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.rs b/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.rs new file mode 100644 index 000000000..394a049f0 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.rs @@ -0,0 +1 @@ +extern fn foo() {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.txt b/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.txt new file mode 100644 index 000000000..f6e769475 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.txt @@ -0,0 +1,17 @@ +ROOT@[0; 19) + FN_DEF@[0; 18) + ABI@[0; 6) + EXTERN_KW@[0; 6) + WHITESPACE@[6; 7) + FN_KW@[7; 9) + WHITESPACE@[9; 10) + NAME@[10; 13) + IDENT@[10; 13) "foo" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) + R_PAREN@[14; 15) + WHITESPACE@[15; 16) + BLOCK@[16; 18) + L_CURLY@[16; 17) + R_CURLY@[17; 18) + WHITESPACE@[18; 19) diff --git a/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.rs b/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.rs new file mode 100644 index 000000000..49af74e1b --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.rs @@ -0,0 +1 @@ +extern crate foo; diff --git a/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.txt b/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.txt new file mode 100644 index 000000000..fc025b0f3 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.txt @@ -0,0 +1,10 @@ +ROOT@[0; 18) + EXTERN_CRATE_ITEM@[0; 17) + EXTERN_KW@[0; 6) + WHITESPACE@[6; 7) + CRATE_KW@[7; 12) + WHITESPACE@[12; 13) + NAME@[13; 16) + IDENT@[13; 16) "foo" + SEMI@[16; 17) + WHITESPACE@[17; 18) diff --git a/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.rs b/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.rs new file mode 100644 index 000000000..04e021550 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.rs @@ -0,0 +1 @@ +unsafe trait T {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.txt b/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.txt new file mode 100644 index 000000000..fb97cc042 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.txt @@ -0,0 +1,13 @@ +ROOT@[0; 18) + TRAIT_DEF@[0; 17) + UNSAFE_KW@[0; 6) + WHITESPACE@[6; 7) + TRAIT_KW@[7; 12) + WHITESPACE@[12; 13) + NAME@[13; 14) + IDENT@[13; 14) "T" + WHITESPACE@[14; 15) + ITEM_LIST@[15; 17) + L_CURLY@[15; 16) + R_CURLY@[16; 17) + WHITESPACE@[17; 18) diff --git a/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.rs b/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.rs new file mode 100644 index 000000000..41055f41d --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.rs @@ -0,0 +1 @@ +unsafe impl Foo {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.txt b/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.txt new file mode 100644 index 000000000..fa596394f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.txt @@ -0,0 +1,16 @@ +ROOT@[0; 19) + IMPL_ITEM@[0; 18) + UNSAFE_KW@[0; 6) + WHITESPACE@[6; 7) + IMPL_KW@[7; 11) + WHITESPACE@[11; 12) + PATH_TYPE@[12; 15) + PATH@[12; 15) + PATH_SEGMENT@[12; 15) + NAME_REF@[12; 15) + IDENT@[12; 15) "Foo" + WHITESPACE@[15; 16) + ITEM_LIST@[16; 18) + L_CURLY@[16; 17) + R_CURLY@[17; 18) + WHITESPACE@[18; 19) diff --git a/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.rs b/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.rs new file mode 100644 index 000000000..03d29f324 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.rs @@ -0,0 +1 @@ +unsafe auto trait T {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.txt b/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.txt new file mode 100644 index 000000000..e642bbf80 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.txt @@ -0,0 +1,15 @@ +ROOT@[0; 23) + TRAIT_DEF@[0; 22) + UNSAFE_KW@[0; 6) + WHITESPACE@[6; 7) + AUTO_KW@[7; 11) + WHITESPACE@[11; 12) + TRAIT_KW@[12; 17) + WHITESPACE@[17; 18) + NAME@[18; 19) + IDENT@[18; 19) "T" + WHITESPACE@[19; 20) + ITEM_LIST@[20; 22) + L_CURLY@[20; 21) + R_CURLY@[21; 22) + WHITESPACE@[22; 23) diff --git a/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.rs b/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.rs new file mode 100644 index 000000000..9cd6c57bd --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.rs @@ -0,0 +1 @@ +unsafe default impl Foo {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.txt b/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.txt new file mode 100644 index 000000000..99d33a902 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.txt @@ -0,0 +1,18 @@ +ROOT@[0; 27) + IMPL_ITEM@[0; 26) + UNSAFE_KW@[0; 6) + WHITESPACE@[6; 7) + DEFAULT_KW@[7; 14) + WHITESPACE@[14; 15) + IMPL_KW@[15; 19) + WHITESPACE@[19; 20) + PATH_TYPE@[20; 23) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "Foo" + WHITESPACE@[23; 24) + ITEM_LIST@[24; 26) + L_CURLY@[24; 25) + R_CURLY@[25; 26) + WHITESPACE@[26; 27) diff --git a/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.rs b/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.rs new file mode 100644 index 000000000..33cfc4cd7 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.rs @@ -0,0 +1 @@ +unsafe fn foo() {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.txt b/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.txt new file mode 100644 index 000000000..39ec53b26 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.txt @@ -0,0 +1,16 @@ +ROOT@[0; 19) + FN_DEF@[0; 18) + UNSAFE_KW@[0; 6) + WHITESPACE@[6; 7) + FN_KW@[7; 9) + WHITESPACE@[9; 10) + NAME@[10; 13) + IDENT@[10; 13) "foo" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) + R_PAREN@[14; 15) + WHITESPACE@[15; 16) + BLOCK@[16; 18) + L_CURLY@[16; 17) + R_CURLY@[17; 18) + WHITESPACE@[18; 19) diff --git a/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.rs b/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.rs new file mode 100644 index 000000000..1295c2cd2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.rs @@ -0,0 +1 @@ +unsafe extern "C" fn foo() {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.txt new file mode 100644 index 000000000..54e296ed6 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.txt @@ -0,0 +1,21 @@ +ROOT@[0; 30) + FN_DEF@[0; 29) + UNSAFE_KW@[0; 6) + WHITESPACE@[6; 7) + ABI@[7; 17) + EXTERN_KW@[7; 13) + WHITESPACE@[13; 14) + STRING@[14; 17) + WHITESPACE@[17; 18) + FN_KW@[18; 20) + WHITESPACE@[20; 21) + NAME@[21; 24) + IDENT@[21; 24) "foo" + PARAM_LIST@[24; 26) + L_PAREN@[24; 25) + R_PAREN@[25; 26) + WHITESPACE@[26; 27) + BLOCK@[27; 29) + L_CURLY@[27; 28) + R_CURLY@[28; 29) + WHITESPACE@[29; 30) diff --git a/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.rs b/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.rs new file mode 100644 index 000000000..26141e904 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.rs @@ -0,0 +1 @@ +fn foo(){} unsafe { } fn bar(){} diff --git a/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.txt b/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.txt new file mode 100644 index 000000000..9825e5ace --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.txt @@ -0,0 +1,35 @@ +ROOT@[0; 33) + FN_DEF@[0; 10) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + BLOCK@[8; 10) + L_CURLY@[8; 9) + R_CURLY@[9; 10) + WHITESPACE@[10; 11) + err: `expected an item` + ERROR@[11; 17) + UNSAFE_KW@[11; 17) + WHITESPACE@[17; 18) + err: `expected an item` + ERROR@[18; 21) + L_CURLY@[18; 19) + WHITESPACE@[19; 20) + R_CURLY@[20; 21) + WHITESPACE@[21; 22) + FN_DEF@[22; 32) + FN_KW@[22; 24) + WHITESPACE@[24; 25) + NAME@[25; 28) + IDENT@[25; 28) "bar" + PARAM_LIST@[28; 30) + L_PAREN@[28; 29) + R_PAREN@[29; 30) + BLOCK@[30; 32) + L_CURLY@[30; 31) + R_CURLY@[31; 32) + WHITESPACE@[32; 33) diff --git a/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.rs b/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.rs new file mode 100644 index 000000000..defd110c4 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.rs @@ -0,0 +1 @@ +type Result = (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.txt b/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.txt new file mode 100644 index 000000000..bf65e8a37 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.txt @@ -0,0 +1,20 @@ +ROOT@[0; 21) + TYPE_DEF@[0; 20) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 11) + IDENT@[5; 11) "Result" + TYPE_PARAM_LIST@[11; 14) + L_ANGLE@[11; 12) + TYPE_PARAM@[12; 13) + NAME@[12; 13) + IDENT@[12; 13) "T" + R_ANGLE@[13; 14) + WHITESPACE@[14; 15) + EQ@[15; 16) + WHITESPACE@[16; 17) + TUPLE_TYPE@[17; 19) + L_PAREN@[17; 18) + R_PAREN@[18; 19) + SEMI@[19; 20) + WHITESPACE@[20; 21) diff --git a/crates/ra_syntax/tests/data/parser/inline/0015_type_item.rs b/crates/ra_syntax/tests/data/parser/inline/0015_type_item.rs new file mode 100644 index 000000000..04c0344fa --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0015_type_item.rs @@ -0,0 +1 @@ +type Foo = Bar; diff --git a/crates/ra_syntax/tests/data/parser/inline/0015_type_item.txt b/crates/ra_syntax/tests/data/parser/inline/0015_type_item.txt new file mode 100644 index 000000000..71048bcc5 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0015_type_item.txt @@ -0,0 +1,16 @@ +ROOT@[0; 16) + TYPE_DEF@[0; 15) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) + EQ@[9; 10) + WHITESPACE@[10; 11) + PATH_TYPE@[11; 14) + PATH@[11; 14) + PATH_SEGMENT@[11; 14) + NAME_REF@[11; 14) + IDENT@[11; 14) "Bar" + SEMI@[14; 15) + WHITESPACE@[15; 16) diff --git a/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.rs b/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.rs new file mode 100644 index 000000000..a602d07f0 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.rs @@ -0,0 +1 @@ +type Foo where Foo: Copy = (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.txt b/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.txt new file mode 100644 index 000000000..c3fca013e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.txt @@ -0,0 +1,32 @@ +ROOT@[0; 31) + TYPE_DEF@[0; 30) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) + WHERE_CLAUSE@[9; 24) + WHERE_KW@[9; 14) + WHITESPACE@[14; 15) + WHERE_PRED@[15; 24) + PATH_TYPE@[15; 18) + PATH@[15; 18) + PATH_SEGMENT@[15; 18) + NAME_REF@[15; 18) + IDENT@[15; 18) "Foo" + COLON@[18; 19) + WHITESPACE@[19; 20) + PATH_TYPE@[20; 24) + PATH@[20; 24) + PATH_SEGMENT@[20; 24) + NAME_REF@[20; 24) + IDENT@[20; 24) "Copy" + err: `expected COMMA` + WHITESPACE@[24; 25) + EQ@[25; 26) + WHITESPACE@[26; 27) + TUPLE_TYPE@[27; 29) + L_PAREN@[27; 28) + R_PAREN@[28; 29) + SEMI@[29; 30) + WHITESPACE@[30; 31) diff --git a/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.rs b/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.rs new file mode 100644 index 000000000..6e1b25101 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.rs @@ -0,0 +1 @@ +type T = (i32); diff --git a/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.txt b/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.txt new file mode 100644 index 000000000..97e73fea1 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.txt @@ -0,0 +1,19 @@ +ROOT@[0; 16) + TYPE_DEF@[0; 15) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + PAREN_TYPE@[9; 14) + L_PAREN@[9; 10) + PATH_TYPE@[10; 13) + PATH@[10; 13) + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "i32" + R_PAREN@[13; 14) + SEMI@[14; 15) + WHITESPACE@[15; 16) diff --git a/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.rs b/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.rs new file mode 100644 index 000000000..c039cf7d3 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.rs @@ -0,0 +1 @@ +type T = (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.txt b/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.txt new file mode 100644 index 000000000..5d04d42fc --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.txt @@ -0,0 +1,14 @@ +ROOT@[0; 13) + TYPE_DEF@[0; 12) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + TUPLE_TYPE@[9; 11) + L_PAREN@[9; 10) + R_PAREN@[10; 11) + SEMI@[11; 12) + WHITESPACE@[12; 13) diff --git a/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.rs b/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.rs new file mode 100644 index 000000000..cb66bad24 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.rs @@ -0,0 +1 @@ +type T = (i32,); diff --git a/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.txt b/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.txt new file mode 100644 index 000000000..2cd8be9ab --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.txt @@ -0,0 +1,20 @@ +ROOT@[0; 17) + TYPE_DEF@[0; 16) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + TUPLE_TYPE@[9; 15) + L_PAREN@[9; 10) + PATH_TYPE@[10; 13) + PATH@[10; 13) + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "i32" + COMMA@[13; 14) + R_PAREN@[14; 15) + SEMI@[15; 16) + WHITESPACE@[16; 17) diff --git a/crates/ra_syntax/tests/data/parser/inline/0020_never_type.rs b/crates/ra_syntax/tests/data/parser/inline/0020_never_type.rs new file mode 100644 index 000000000..de399fcf4 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0020_never_type.rs @@ -0,0 +1 @@ +type Never = !; diff --git a/crates/ra_syntax/tests/data/parser/inline/0020_never_type.txt b/crates/ra_syntax/tests/data/parser/inline/0020_never_type.txt new file mode 100644 index 000000000..6205d9669 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0020_never_type.txt @@ -0,0 +1,13 @@ +ROOT@[0; 16) + TYPE_DEF@[0; 15) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 10) + IDENT@[5; 10) "Never" + WHITESPACE@[10; 11) + EQ@[11; 12) + WHITESPACE@[12; 13) + NEVER_TYPE@[13; 14) + EXCL@[13; 14) + SEMI@[14; 15) + WHITESPACE@[15; 16) diff --git a/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.rs b/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.rs new file mode 100644 index 000000000..fae705131 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.rs @@ -0,0 +1 @@ +type T = *(); diff --git a/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.txt b/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.txt new file mode 100644 index 000000000..23e68557a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.txt @@ -0,0 +1,17 @@ +ROOT@[0; 14) + TYPE_DEF@[0; 13) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + POINTER_TYPE@[9; 12) + STAR@[9; 10) + err: `expected mut or const in raw pointer type (use `*mut T` or `*const T` as appropriate)` + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) + R_PAREN@[11; 12) + SEMI@[12; 13) + WHITESPACE@[13; 14) diff --git a/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.rs b/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.rs new file mode 100644 index 000000000..04b2bb9ba --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.rs @@ -0,0 +1,2 @@ +type M = *mut (); +type C = *mut (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.txt b/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.txt new file mode 100644 index 000000000..33f5ad8b4 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.txt @@ -0,0 +1,35 @@ +ROOT@[0; 36) + TYPE_DEF@[0; 17) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "M" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + POINTER_TYPE@[9; 16) + STAR@[9; 10) + MUT_KW@[10; 13) + WHITESPACE@[13; 14) + TUPLE_TYPE@[14; 16) + L_PAREN@[14; 15) + R_PAREN@[15; 16) + SEMI@[16; 17) + WHITESPACE@[17; 18) + TYPE_DEF@[18; 35) + TYPE_KW@[18; 22) + WHITESPACE@[22; 23) + NAME@[23; 24) + IDENT@[23; 24) "C" + WHITESPACE@[24; 25) + EQ@[25; 26) + WHITESPACE@[26; 27) + POINTER_TYPE@[27; 34) + STAR@[27; 28) + MUT_KW@[28; 31) + WHITESPACE@[31; 32) + TUPLE_TYPE@[32; 34) + L_PAREN@[32; 33) + R_PAREN@[33; 34) + SEMI@[34; 35) + WHITESPACE@[35; 36) diff --git a/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.rs b/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.rs new file mode 100644 index 000000000..a94851443 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.rs @@ -0,0 +1 @@ +type T = [() 92]; diff --git a/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.txt b/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.txt new file mode 100644 index 000000000..90bdc5d2e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.txt @@ -0,0 +1,27 @@ +ROOT@[0; 18) + TYPE_DEF@[0; 12) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + SLICE_TYPE@[9; 12) + L_BRACK@[9; 10) + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) + R_PAREN@[11; 12) + err: `expected `;` or `]`` + err: `expected SEMI` + WHITESPACE@[12; 13) + err: `expected an item` + ERROR@[13; 15) + INT_NUMBER@[13; 15) "92" + err: `expected an item` + ERROR@[15; 16) + R_BRACK@[15; 16) + err: `expected an item` + ERROR@[16; 17) + SEMI@[16; 17) + WHITESPACE@[17; 18) diff --git a/crates/ra_syntax/tests/data/parser/inline/0024_array_type.rs b/crates/ra_syntax/tests/data/parser/inline/0024_array_type.rs new file mode 100644 index 000000000..27eb22f22 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0024_array_type.rs @@ -0,0 +1 @@ +type T = [(); 92]; diff --git a/crates/ra_syntax/tests/data/parser/inline/0024_array_type.txt b/crates/ra_syntax/tests/data/parser/inline/0024_array_type.txt new file mode 100644 index 000000000..809c86974 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0024_array_type.txt @@ -0,0 +1,21 @@ +ROOT@[0; 19) + TYPE_DEF@[0; 18) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + ARRAY_TYPE@[9; 17) + L_BRACK@[9; 10) + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) + R_PAREN@[11; 12) + SEMI@[12; 13) + WHITESPACE@[13; 14) + LITERAL@[14; 16) + INT_NUMBER@[14; 16) "92" + R_BRACK@[16; 17) + SEMI@[17; 18) + WHITESPACE@[18; 19) diff --git a/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.rs b/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.rs new file mode 100644 index 000000000..4da1af827 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.rs @@ -0,0 +1 @@ +type T = [()]; diff --git a/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.txt b/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.txt new file mode 100644 index 000000000..978530a6a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.txt @@ -0,0 +1,17 @@ +ROOT@[0; 15) + TYPE_DEF@[0; 14) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + SLICE_TYPE@[9; 13) + L_BRACK@[9; 10) + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) + R_PAREN@[11; 12) + R_BRACK@[12; 13) + SEMI@[13; 14) + WHITESPACE@[14; 15) diff --git a/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.rs b/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.rs new file mode 100644 index 000000000..3ac0badab --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.rs @@ -0,0 +1,3 @@ +type A = &(); +type B = &'static (); +type C = &mut (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.txt b/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.txt new file mode 100644 index 000000000..ff27ce5dd --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.txt @@ -0,0 +1,50 @@ +ROOT@[0; 54) + TYPE_DEF@[0; 13) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + REFERENCE_TYPE@[9; 12) + AMP@[9; 10) + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) + R_PAREN@[11; 12) + SEMI@[12; 13) + WHITESPACE@[13; 14) + TYPE_DEF@[14; 35) + TYPE_KW@[14; 18) + WHITESPACE@[18; 19) + NAME@[19; 20) + IDENT@[19; 20) "B" + WHITESPACE@[20; 21) + EQ@[21; 22) + WHITESPACE@[22; 23) + REFERENCE_TYPE@[23; 34) + AMP@[23; 24) + LIFETIME@[24; 31) "'static" + WHITESPACE@[31; 32) + TUPLE_TYPE@[32; 34) + L_PAREN@[32; 33) + R_PAREN@[33; 34) + SEMI@[34; 35) + WHITESPACE@[35; 36) + TYPE_DEF@[36; 53) + TYPE_KW@[36; 40) + WHITESPACE@[40; 41) + NAME@[41; 42) + IDENT@[41; 42) "C" + WHITESPACE@[42; 43) + EQ@[43; 44) + WHITESPACE@[44; 45) + REFERENCE_TYPE@[45; 52) + AMP@[45; 46) + MUT_KW@[46; 49) + WHITESPACE@[49; 50) + TUPLE_TYPE@[50; 52) + L_PAREN@[50; 51) + R_PAREN@[51; 52) + SEMI@[52; 53) + WHITESPACE@[53; 54) diff --git a/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.rs b/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.rs new file mode 100644 index 000000000..7952dbd57 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.rs @@ -0,0 +1 @@ +type Placeholder = _; diff --git a/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.txt b/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.txt new file mode 100644 index 000000000..538e4e69c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.txt @@ -0,0 +1,13 @@ +ROOT@[0; 22) + TYPE_DEF@[0; 21) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 16) + IDENT@[5; 16) "Placeholder" + WHITESPACE@[16; 17) + EQ@[17; 18) + WHITESPACE@[18; 19) + PLACEHOLDER_TYPE@[19; 20) + UNDERSCORE@[19; 20) + SEMI@[20; 21) + WHITESPACE@[21; 22) diff --git a/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.rs b/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.rs new file mode 100644 index 000000000..c9bf3bdb4 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.rs @@ -0,0 +1,3 @@ +type A = fn(); +type B = unsafe fn(); +type C = unsafe extern "C" fn(); diff --git a/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.txt b/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.txt new file mode 100644 index 000000000..4dba83eb5 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.txt @@ -0,0 +1,55 @@ +ROOT@[0; 70) + TYPE_DEF@[0; 14) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + FN_POINTER_TYPE@[9; 13) + FN_KW@[9; 11) + PARAM_LIST@[11; 13) + L_PAREN@[11; 12) + R_PAREN@[12; 13) + SEMI@[13; 14) + WHITESPACE@[14; 15) + TYPE_DEF@[15; 36) + TYPE_KW@[15; 19) + WHITESPACE@[19; 20) + NAME@[20; 21) + IDENT@[20; 21) "B" + WHITESPACE@[21; 22) + EQ@[22; 23) + WHITESPACE@[23; 24) + FN_POINTER_TYPE@[24; 35) + UNSAFE_KW@[24; 30) + WHITESPACE@[30; 31) + FN_KW@[31; 33) + PARAM_LIST@[33; 35) + L_PAREN@[33; 34) + R_PAREN@[34; 35) + SEMI@[35; 36) + WHITESPACE@[36; 37) + TYPE_DEF@[37; 69) + TYPE_KW@[37; 41) + WHITESPACE@[41; 42) + NAME@[42; 43) + IDENT@[42; 43) "C" + WHITESPACE@[43; 44) + EQ@[44; 45) + WHITESPACE@[45; 46) + FN_POINTER_TYPE@[46; 68) + UNSAFE_KW@[46; 52) + WHITESPACE@[52; 53) + ABI@[53; 63) + EXTERN_KW@[53; 59) + WHITESPACE@[59; 60) + STRING@[60; 63) + WHITESPACE@[63; 64) + FN_KW@[64; 66) + PARAM_LIST@[66; 68) + L_PAREN@[66; 67) + R_PAREN@[67; 68) + SEMI@[68; 69) + WHITESPACE@[69; 70) diff --git a/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs b/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs new file mode 100644 index 000000000..f014914ff --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs @@ -0,0 +1 @@ +type F = unsafe (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt b/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt new file mode 100644 index 000000000..fa0771ab1 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt @@ -0,0 +1,23 @@ +ROOT@[0; 20) + TYPE_DEF@[0; 15) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + UNSAFE_KW@[9; 15) + err: `expected `fn`` + err: `expected SEMI` + WHITESPACE@[15; 16) + err: `expected an item` + ERROR@[16; 17) + L_PAREN@[16; 17) + err: `expected an item` + ERROR@[17; 18) + R_PAREN@[17; 18) + err: `expected an item` + ERROR@[18; 19) + SEMI@[18; 19) + WHITESPACE@[19; 20) diff --git a/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs b/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs new file mode 100644 index 000000000..e3ba5e87f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs @@ -0,0 +1 @@ +type F = fn() -> (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt b/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt new file mode 100644 index 000000000..203839636 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt @@ -0,0 +1,23 @@ +ROOT@[0; 21) + TYPE_DEF@[0; 20) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + FN_POINTER_TYPE@[9; 19) + FN_KW@[9; 11) + PARAM_LIST@[11; 13) + L_PAREN@[11; 12) + R_PAREN@[12; 13) + WHITESPACE@[13; 14) + RET_TYPE@[14; 19) + THIN_ARROW@[14; 16) + WHITESPACE@[16; 17) + TUPLE_TYPE@[17; 19) + L_PAREN@[17; 18) + R_PAREN@[18; 19) + SEMI@[19; 20) + WHITESPACE@[20; 21) diff --git a/crates/ra_syntax/tests/data/parser/inline/0031_for_type.rs b/crates/ra_syntax/tests/data/parser/inline/0031_for_type.rs new file mode 100644 index 000000000..4d6a18c6b --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0031_for_type.rs @@ -0,0 +1 @@ +type A = for<'a> fn() -> (); diff --git a/crates/ra_syntax/tests/data/parser/inline/0031_for_type.txt b/crates/ra_syntax/tests/data/parser/inline/0031_for_type.txt new file mode 100644 index 000000000..f6b962b2c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0031_for_type.txt @@ -0,0 +1,31 @@ +ROOT@[0; 29) + TYPE_DEF@[0; 28) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + FOR_TYPE@[9; 27) + FOR_KW@[9; 12) + TYPE_PARAM_LIST@[12; 16) + L_ANGLE@[12; 13) + LIFETIME_PARAM@[13; 15) + LIFETIME@[13; 15) "'a" + R_ANGLE@[15; 16) + WHITESPACE@[16; 17) + FN_POINTER_TYPE@[17; 27) + FN_KW@[17; 19) + PARAM_LIST@[19; 21) + L_PAREN@[19; 20) + R_PAREN@[20; 21) + WHITESPACE@[21; 22) + RET_TYPE@[22; 27) + THIN_ARROW@[22; 24) + WHITESPACE@[24; 25) + TUPLE_TYPE@[25; 27) + L_PAREN@[25; 26) + R_PAREN@[26; 27) + SEMI@[27; 28) + WHITESPACE@[28; 29) diff --git a/crates/ra_syntax/tests/data/parser/inline/0032_path_type.rs b/crates/ra_syntax/tests/data/parser/inline/0032_path_type.rs new file mode 100644 index 000000000..bf94f32e1 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0032_path_type.rs @@ -0,0 +1,4 @@ +type A = Foo; +type B = ::Foo; +type C = self::Foo; +type D = super::Foo; diff --git a/crates/ra_syntax/tests/data/parser/inline/0032_path_type.txt b/crates/ra_syntax/tests/data/parser/inline/0032_path_type.txt new file mode 100644 index 000000000..b0a110a2c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0032_path_type.txt @@ -0,0 +1,70 @@ +ROOT@[0; 71) + TYPE_DEF@[0; 13) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + PATH_TYPE@[9; 12) + PATH@[9; 12) + PATH_SEGMENT@[9; 12) + NAME_REF@[9; 12) + IDENT@[9; 12) "Foo" + SEMI@[12; 13) + WHITESPACE@[13; 14) + TYPE_DEF@[14; 29) + TYPE_KW@[14; 18) + WHITESPACE@[18; 19) + NAME@[19; 20) + IDENT@[19; 20) "B" + WHITESPACE@[20; 21) + EQ@[21; 22) + WHITESPACE@[22; 23) + PATH_TYPE@[23; 28) + PATH@[23; 28) + PATH_SEGMENT@[23; 28) + COLONCOLON@[23; 25) + NAME_REF@[25; 28) + IDENT@[25; 28) "Foo" + SEMI@[28; 29) + WHITESPACE@[29; 30) + TYPE_DEF@[30; 49) + TYPE_KW@[30; 34) + WHITESPACE@[34; 35) + NAME@[35; 36) + IDENT@[35; 36) "C" + WHITESPACE@[36; 37) + EQ@[37; 38) + WHITESPACE@[38; 39) + PATH_TYPE@[39; 48) + PATH@[39; 48) + PATH@[39; 43) + PATH_SEGMENT@[39; 43) + SELF_KW@[39; 43) + COLONCOLON@[43; 45) + PATH_SEGMENT@[45; 48) + NAME_REF@[45; 48) + IDENT@[45; 48) "Foo" + SEMI@[48; 49) + WHITESPACE@[49; 50) + TYPE_DEF@[50; 70) + TYPE_KW@[50; 54) + WHITESPACE@[54; 55) + NAME@[55; 56) + IDENT@[55; 56) "D" + WHITESPACE@[56; 57) + EQ@[57; 58) + WHITESPACE@[58; 59) + PATH_TYPE@[59; 69) + PATH@[59; 69) + PATH@[59; 64) + PATH_SEGMENT@[59; 64) + SUPER_KW@[59; 64) + COLONCOLON@[64; 66) + PATH_SEGMENT@[66; 69) + NAME_REF@[66; 69) + IDENT@[66; 69) "Foo" + SEMI@[69; 70) + WHITESPACE@[70; 71) diff --git a/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.rs b/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.rs new file mode 100644 index 000000000..820a9e72c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.rs @@ -0,0 +1,8 @@ +fn main() { + let a = (); + let mut b = (); + let ref c = (); + let ref mut d = (); + let e @ _ = (); + let ref mut f @ g @ _ = (); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.txt b/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.txt new file mode 100644 index 000000000..9adc89b7c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.txt @@ -0,0 +1,127 @@ +ROOT@[0; 146) + FN_DEF@[0; 145) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 145) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + LET_STMT@[16; 27) + LET_KW@[16; 19) + WHITESPACE@[19; 20) + BIND_PAT@[20; 21) + NAME@[20; 21) + IDENT@[20; 21) "a" + WHITESPACE@[21; 22) + EQ@[22; 23) + WHITESPACE@[23; 24) + TUPLE_EXPR@[24; 26) + L_PAREN@[24; 25) + R_PAREN@[25; 26) + SEMI@[26; 27) + WHITESPACE@[27; 32) + LET_STMT@[32; 47) + LET_KW@[32; 35) + WHITESPACE@[35; 36) + BIND_PAT@[36; 41) + MUT_KW@[36; 39) + WHITESPACE@[39; 40) + NAME@[40; 41) + IDENT@[40; 41) "b" + WHITESPACE@[41; 42) + EQ@[42; 43) + WHITESPACE@[43; 44) + TUPLE_EXPR@[44; 46) + L_PAREN@[44; 45) + R_PAREN@[45; 46) + SEMI@[46; 47) + WHITESPACE@[47; 52) + LET_STMT@[52; 67) + LET_KW@[52; 55) + WHITESPACE@[55; 56) + BIND_PAT@[56; 61) + REF_KW@[56; 59) + WHITESPACE@[59; 60) + NAME@[60; 61) + IDENT@[60; 61) "c" + WHITESPACE@[61; 62) + EQ@[62; 63) + WHITESPACE@[63; 64) + TUPLE_EXPR@[64; 66) + L_PAREN@[64; 65) + R_PAREN@[65; 66) + SEMI@[66; 67) + WHITESPACE@[67; 72) + LET_STMT@[72; 91) + LET_KW@[72; 75) + WHITESPACE@[75; 76) + BIND_PAT@[76; 85) + REF_KW@[76; 79) + WHITESPACE@[79; 80) + MUT_KW@[80; 83) + WHITESPACE@[83; 84) + NAME@[84; 85) + IDENT@[84; 85) "d" + WHITESPACE@[85; 86) + EQ@[86; 87) + WHITESPACE@[87; 88) + TUPLE_EXPR@[88; 90) + L_PAREN@[88; 89) + R_PAREN@[89; 90) + SEMI@[90; 91) + WHITESPACE@[91; 96) + LET_STMT@[96; 111) + LET_KW@[96; 99) + WHITESPACE@[99; 100) + BIND_PAT@[100; 105) + NAME@[100; 101) + IDENT@[100; 101) "e" + WHITESPACE@[101; 102) + AT@[102; 103) + WHITESPACE@[103; 104) + PLACEHOLDER_PAT@[104; 105) + UNDERSCORE@[104; 105) + WHITESPACE@[105; 106) + EQ@[106; 107) + WHITESPACE@[107; 108) + TUPLE_EXPR@[108; 110) + L_PAREN@[108; 109) + R_PAREN@[109; 110) + SEMI@[110; 111) + WHITESPACE@[111; 116) + LET_STMT@[116; 143) + LET_KW@[116; 119) + WHITESPACE@[119; 120) + BIND_PAT@[120; 137) + REF_KW@[120; 123) + WHITESPACE@[123; 124) + MUT_KW@[124; 127) + WHITESPACE@[127; 128) + NAME@[128; 129) + IDENT@[128; 129) "f" + WHITESPACE@[129; 130) + AT@[130; 131) + WHITESPACE@[131; 132) + BIND_PAT@[132; 137) + NAME@[132; 133) + IDENT@[132; 133) "g" + WHITESPACE@[133; 134) + AT@[134; 135) + WHITESPACE@[135; 136) + PLACEHOLDER_PAT@[136; 137) + UNDERSCORE@[136; 137) + WHITESPACE@[137; 138) + EQ@[138; 139) + WHITESPACE@[139; 140) + TUPLE_EXPR@[140; 142) + L_PAREN@[140; 141) + R_PAREN@[141; 142) + SEMI@[142; 143) + WHITESPACE@[143; 144) + R_CURLY@[144; 145) + WHITESPACE@[145; 146) diff --git a/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.rs b/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.rs new file mode 100644 index 000000000..de41f5cae --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.rs @@ -0,0 +1,4 @@ +fn main() { + let &a = (); + let &mut b = (); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.txt b/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.txt new file mode 100644 index 000000000..a625637cd --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.txt @@ -0,0 +1,49 @@ +ROOT@[0; 52) + FN_DEF@[0; 51) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 51) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + LET_STMT@[16; 28) + LET_KW@[16; 19) + WHITESPACE@[19; 20) + REF_PAT@[20; 22) + AMP@[20; 21) + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + WHITESPACE@[22; 23) + EQ@[23; 24) + WHITESPACE@[24; 25) + TUPLE_EXPR@[25; 27) + L_PAREN@[25; 26) + R_PAREN@[26; 27) + SEMI@[27; 28) + WHITESPACE@[28; 33) + LET_STMT@[33; 49) + LET_KW@[33; 36) + WHITESPACE@[36; 37) + REF_PAT@[37; 43) + AMP@[37; 38) + MUT_KW@[38; 41) + WHITESPACE@[41; 42) + BIND_PAT@[42; 43) + NAME@[42; 43) + IDENT@[42; 43) "b" + WHITESPACE@[43; 44) + EQ@[44; 45) + WHITESPACE@[45; 46) + TUPLE_EXPR@[46; 48) + L_PAREN@[46; 47) + R_PAREN@[47; 48) + SEMI@[48; 49) + WHITESPACE@[49; 50) + R_CURLY@[50; 51) + WHITESPACE@[51; 52) diff --git a/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.rs b/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.rs new file mode 100644 index 000000000..4d719c433 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.rs @@ -0,0 +1 @@ +fn main() { let _ = (); } diff --git a/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.txt b/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.txt new file mode 100644 index 000000000..e89ff4e7c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.txt @@ -0,0 +1,28 @@ +ROOT@[0; 26) + FN_DEF@[0; 25) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 25) + L_CURLY@[10; 11) + WHITESPACE@[11; 12) + LET_STMT@[12; 23) + LET_KW@[12; 15) + WHITESPACE@[15; 16) + PLACEHOLDER_PAT@[16; 17) + UNDERSCORE@[16; 17) + WHITESPACE@[17; 18) + EQ@[18; 19) + WHITESPACE@[19; 20) + TUPLE_EXPR@[20; 22) + L_PAREN@[20; 21) + R_PAREN@[21; 22) + SEMI@[22; 23) + WHITESPACE@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) diff --git a/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.rs b/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.rs new file mode 100644 index 000000000..faeefde94 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.rs @@ -0,0 +1,4 @@ +pub(crate) struct S; +pub(self) struct S; +pub(self) struct S; +pub(self) struct S; diff --git a/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.txt b/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.txt new file mode 100644 index 000000000..3b5fbf95d --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.txt @@ -0,0 +1,53 @@ +ROOT@[0; 81) + STRUCT_DEF@[0; 20) + VISIBILITY@[0; 10) + PUB_KW@[0; 3) + L_PAREN@[3; 4) + CRATE_KW@[4; 9) + R_PAREN@[9; 10) + WHITESPACE@[10; 11) + STRUCT_KW@[11; 17) + WHITESPACE@[17; 18) + NAME@[18; 19) + IDENT@[18; 19) "S" + SEMI@[19; 20) + WHITESPACE@[20; 21) + STRUCT_DEF@[21; 40) + VISIBILITY@[21; 30) + PUB_KW@[21; 24) + L_PAREN@[24; 25) + SELF_KW@[25; 29) + R_PAREN@[29; 30) + WHITESPACE@[30; 31) + STRUCT_KW@[31; 37) + WHITESPACE@[37; 38) + NAME@[38; 39) + IDENT@[38; 39) "S" + SEMI@[39; 40) + WHITESPACE@[40; 41) + STRUCT_DEF@[41; 60) + VISIBILITY@[41; 50) + PUB_KW@[41; 44) + L_PAREN@[44; 45) + SELF_KW@[45; 49) + R_PAREN@[49; 50) + WHITESPACE@[50; 51) + STRUCT_KW@[51; 57) + WHITESPACE@[57; 58) + NAME@[58; 59) + IDENT@[58; 59) "S" + SEMI@[59; 60) + WHITESPACE@[60; 61) + STRUCT_DEF@[61; 80) + VISIBILITY@[61; 70) + PUB_KW@[61; 64) + L_PAREN@[64; 65) + SELF_KW@[65; 69) + R_PAREN@[69; 70) + WHITESPACE@[70; 71) + STRUCT_KW@[71; 77) + WHITESPACE@[77; 78) + NAME@[78; 79) + IDENT@[78; 79) "S" + SEMI@[79; 80) + WHITESPACE@[80; 81) diff --git a/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.rs b/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.rs new file mode 100644 index 000000000..d22d8cada --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.rs @@ -0,0 +1,2 @@ +fn foo() {} +fn bar() -> () {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.txt b/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.txt new file mode 100644 index 000000000..a3d235ce1 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.txt @@ -0,0 +1,34 @@ +ROOT@[0; 30) + FN_DEF@[0; 11) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 11) + L_CURLY@[9; 10) + R_CURLY@[10; 11) + WHITESPACE@[11; 12) + FN_DEF@[12; 29) + FN_KW@[12; 14) + WHITESPACE@[14; 15) + NAME@[15; 18) + IDENT@[15; 18) "bar" + PARAM_LIST@[18; 20) + L_PAREN@[18; 19) + R_PAREN@[19; 20) + WHITESPACE@[20; 21) + RET_TYPE@[21; 26) + THIN_ARROW@[21; 23) + WHITESPACE@[23; 24) + TUPLE_TYPE@[24; 26) + L_PAREN@[24; 25) + R_PAREN@[25; 26) + WHITESPACE@[26; 27) + BLOCK@[27; 29) + L_CURLY@[27; 28) + R_CURLY@[28; 29) + WHITESPACE@[29; 30) diff --git a/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.rs new file mode 100644 index 000000000..333ebabef --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.rs @@ -0,0 +1,6 @@ +fn foo() { + let _ = a; + let _ = a::b; + let _ = ::a::; + let _ = format!(); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.txt new file mode 100644 index 000000000..618afc0a9 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.txt @@ -0,0 +1,95 @@ +ROOT@[0; 91) + FN_DEF@[0; 90) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 90) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 25) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) + WHITESPACE@[20; 21) + EQ@[21; 22) + WHITESPACE@[22; 23) + PATH_EXPR@[23; 24) + PATH@[23; 24) + PATH_SEGMENT@[23; 24) + NAME_REF@[23; 24) + IDENT@[23; 24) "a" + SEMI@[24; 25) + WHITESPACE@[25; 30) + LET_STMT@[30; 43) + LET_KW@[30; 33) + WHITESPACE@[33; 34) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) + WHITESPACE@[35; 36) + EQ@[36; 37) + WHITESPACE@[37; 38) + PATH_EXPR@[38; 42) + PATH@[38; 42) + PATH@[38; 39) + PATH_SEGMENT@[38; 39) + NAME_REF@[38; 39) + IDENT@[38; 39) "a" + COLONCOLON@[39; 41) + PATH_SEGMENT@[41; 42) + NAME_REF@[41; 42) + IDENT@[41; 42) "b" + SEMI@[42; 43) + WHITESPACE@[43; 48) + LET_STMT@[48; 65) + LET_KW@[48; 51) + WHITESPACE@[51; 52) + PLACEHOLDER_PAT@[52; 53) + UNDERSCORE@[52; 53) + WHITESPACE@[53; 54) + EQ@[54; 55) + WHITESPACE@[55; 56) + PATH_EXPR@[56; 64) + PATH@[56; 64) + PATH_SEGMENT@[56; 64) + COLONCOLON@[56; 58) + NAME_REF@[58; 59) + IDENT@[58; 59) "a" + TYPE_ARG_LIST@[59; 64) + COLONCOLON@[59; 61) + L_ANGLE@[61; 62) + TYPE_ARG@[62; 63) + PATH_TYPE@[62; 63) + PATH@[62; 63) + PATH_SEGMENT@[62; 63) + NAME_REF@[62; 63) + IDENT@[62; 63) "b" + R_ANGLE@[63; 64) + SEMI@[64; 65) + WHITESPACE@[65; 70) + LET_STMT@[70; 88) + LET_KW@[70; 73) + WHITESPACE@[73; 74) + PLACEHOLDER_PAT@[74; 75) + UNDERSCORE@[74; 75) + WHITESPACE@[75; 76) + EQ@[76; 77) + WHITESPACE@[77; 78) + MACRO_CALL@[78; 87) + PATH@[78; 84) + PATH_SEGMENT@[78; 84) + NAME_REF@[78; 84) + IDENT@[78; 84) "format" + EXCL@[84; 85) + TOKEN_TREE@[85; 87) + L_PAREN@[85; 86) + R_PAREN@[86; 87) + SEMI@[87; 88) + WHITESPACE@[88; 89) + R_CURLY@[89; 90) + WHITESPACE@[90; 91) diff --git a/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.rs b/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.rs new file mode 100644 index 000000000..2e11a5a6e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.rs @@ -0,0 +1,12 @@ +fn foo() { + let _ = true; + let _ = false; + let _ = 1; + let _ = 2.0; + let _ = b'a'; + let _ = 'b'; + let _ = "c"; + let _ = r"d"; + let _ = b"e"; + let _ = br"f"; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.txt b/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.txt new file mode 100644 index 000000000..8105ee25a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.txt @@ -0,0 +1,135 @@ +ROOT@[0; 189) + FN_DEF@[0; 188) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 188) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 28) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) + WHITESPACE@[20; 21) + EQ@[21; 22) + WHITESPACE@[22; 23) + LITERAL@[23; 27) + TRUE_KW@[23; 27) + SEMI@[27; 28) + WHITESPACE@[28; 33) + LET_STMT@[33; 47) + LET_KW@[33; 36) + WHITESPACE@[36; 37) + PLACEHOLDER_PAT@[37; 38) + UNDERSCORE@[37; 38) + WHITESPACE@[38; 39) + EQ@[39; 40) + WHITESPACE@[40; 41) + LITERAL@[41; 46) + FALSE_KW@[41; 46) + SEMI@[46; 47) + WHITESPACE@[47; 52) + LET_STMT@[52; 62) + LET_KW@[52; 55) + WHITESPACE@[55; 56) + PLACEHOLDER_PAT@[56; 57) + UNDERSCORE@[56; 57) + WHITESPACE@[57; 58) + EQ@[58; 59) + WHITESPACE@[59; 60) + LITERAL@[60; 61) + INT_NUMBER@[60; 61) "1" + SEMI@[61; 62) + WHITESPACE@[62; 67) + LET_STMT@[67; 79) + LET_KW@[67; 70) + WHITESPACE@[70; 71) + PLACEHOLDER_PAT@[71; 72) + UNDERSCORE@[71; 72) + WHITESPACE@[72; 73) + EQ@[73; 74) + WHITESPACE@[74; 75) + LITERAL@[75; 78) + FLOAT_NUMBER@[75; 78) "2.0" + SEMI@[78; 79) + WHITESPACE@[79; 84) + LET_STMT@[84; 97) + LET_KW@[84; 87) + WHITESPACE@[87; 88) + PLACEHOLDER_PAT@[88; 89) + UNDERSCORE@[88; 89) + WHITESPACE@[89; 90) + EQ@[90; 91) + WHITESPACE@[91; 92) + LITERAL@[92; 96) + BYTE@[92; 96) + SEMI@[96; 97) + WHITESPACE@[97; 102) + LET_STMT@[102; 114) + LET_KW@[102; 105) + WHITESPACE@[105; 106) + PLACEHOLDER_PAT@[106; 107) + UNDERSCORE@[106; 107) + WHITESPACE@[107; 108) + EQ@[108; 109) + WHITESPACE@[109; 110) + LITERAL@[110; 113) + CHAR@[110; 113) + SEMI@[113; 114) + WHITESPACE@[114; 119) + LET_STMT@[119; 131) + LET_KW@[119; 122) + WHITESPACE@[122; 123) + PLACEHOLDER_PAT@[123; 124) + UNDERSCORE@[123; 124) + WHITESPACE@[124; 125) + EQ@[125; 126) + WHITESPACE@[126; 127) + LITERAL@[127; 130) + STRING@[127; 130) + SEMI@[130; 131) + WHITESPACE@[131; 136) + LET_STMT@[136; 149) + LET_KW@[136; 139) + WHITESPACE@[139; 140) + PLACEHOLDER_PAT@[140; 141) + UNDERSCORE@[140; 141) + WHITESPACE@[141; 142) + EQ@[142; 143) + WHITESPACE@[143; 144) + LITERAL@[144; 148) + RAW_STRING@[144; 148) + SEMI@[148; 149) + WHITESPACE@[149; 154) + LET_STMT@[154; 167) + LET_KW@[154; 157) + WHITESPACE@[157; 158) + PLACEHOLDER_PAT@[158; 159) + UNDERSCORE@[158; 159) + WHITESPACE@[159; 160) + EQ@[160; 161) + WHITESPACE@[161; 162) + LITERAL@[162; 166) + BYTE_STRING@[162; 166) + SEMI@[166; 167) + WHITESPACE@[167; 172) + LET_STMT@[172; 186) + LET_KW@[172; 175) + WHITESPACE@[175; 176) + PLACEHOLDER_PAT@[176; 177) + UNDERSCORE@[176; 177) + WHITESPACE@[177; 178) + EQ@[178; 179) + WHITESPACE@[179; 180) + LITERAL@[180; 185) + RAW_BYTE_STRING@[180; 185) + SEMI@[185; 186) + WHITESPACE@[186; 187) + R_CURLY@[187; 188) + WHITESPACE@[188; 189) diff --git a/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.rs b/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.rs new file mode 100644 index 000000000..919bde0ee --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.rs @@ -0,0 +1 @@ +struct S; diff --git a/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.txt b/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.txt new file mode 100644 index 000000000..549b571c2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.txt @@ -0,0 +1,36 @@ +ROOT@[0; 35) + STRUCT_DEF@[0; 34) + STRUCT_KW@[0; 6) + WHITESPACE@[6; 7) + NAME@[7; 8) + IDENT@[7; 8) "S" + TYPE_PARAM_LIST@[8; 33) + L_ANGLE@[8; 9) + TYPE_PARAM@[9; 32) + NAME@[9; 10) + IDENT@[9; 10) "T" + COLON@[10; 11) + WHITESPACE@[11; 12) + LIFETIME@[12; 14) "'a" + WHITESPACE@[14; 15) + PLUS@[15; 16) + WHITESPACE@[16; 17) + QUESTION@[17; 18) + PATH_TYPE@[18; 32) + PATH@[18; 23) + PATH_SEGMENT@[18; 23) + NAME_REF@[18; 23) + IDENT@[18; 23) "Sized" + WHITESPACE@[23; 24) + PLUS@[24; 25) + WHITESPACE@[25; 26) + L_PAREN@[26; 27) + PATH_TYPE@[27; 31) + PATH@[27; 31) + PATH_SEGMENT@[27; 31) + NAME_REF@[27; 31) + IDENT@[27; 31) "Copy" + R_PAREN@[31; 32) + R_ANGLE@[32; 33) + SEMI@[33; 34) + WHITESPACE@[34; 35) diff --git a/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.rs b/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.rs new file mode 100644 index 000000000..540eacb02 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.rs @@ -0,0 +1 @@ +struct S; diff --git a/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.txt b/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.txt new file mode 100644 index 000000000..a75b7ed0a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.txt @@ -0,0 +1,22 @@ +ROOT@[0; 19) + STRUCT_DEF@[0; 18) + STRUCT_KW@[0; 6) + WHITESPACE@[6; 7) + NAME@[7; 8) + IDENT@[7; 8) "S" + TYPE_PARAM_LIST@[8; 17) + L_ANGLE@[8; 9) + TYPE_PARAM@[9; 16) + NAME@[9; 10) + IDENT@[9; 10) "T" + WHITESPACE@[10; 11) + EQ@[11; 12) + WHITESPACE@[12; 13) + PATH_TYPE@[13; 16) + PATH@[13; 16) + PATH_SEGMENT@[13; 16) + NAME_REF@[13; 16) + IDENT@[13; 16) "i32" + R_ANGLE@[16; 17) + SEMI@[17; 18) + WHITESPACE@[18; 19) diff --git a/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.rs new file mode 100644 index 000000000..0c9a20718 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.rs @@ -0,0 +1,4 @@ +fn foo() { + let _ = f(); + let _ = f()(1)(1, 2,); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.txt new file mode 100644 index 000000000..f8e31045a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.txt @@ -0,0 +1,70 @@ +ROOT@[0; 57) + FN_DEF@[0; 56) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 56) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 27) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) + WHITESPACE@[20; 21) + EQ@[21; 22) + WHITESPACE@[22; 23) + CALL_EXPR@[23; 26) + PATH_EXPR@[23; 24) + PATH@[23; 24) + PATH_SEGMENT@[23; 24) + NAME_REF@[23; 24) + IDENT@[23; 24) "f" + ARG_LIST@[24; 26) + L_PAREN@[24; 25) + R_PAREN@[25; 26) + SEMI@[26; 27) + WHITESPACE@[27; 32) + LET_STMT@[32; 54) + LET_KW@[32; 35) + WHITESPACE@[35; 36) + PLACEHOLDER_PAT@[36; 37) + UNDERSCORE@[36; 37) + WHITESPACE@[37; 38) + EQ@[38; 39) + WHITESPACE@[39; 40) + CALL_EXPR@[40; 53) + CALL_EXPR@[40; 46) + CALL_EXPR@[40; 43) + PATH_EXPR@[40; 41) + PATH@[40; 41) + PATH_SEGMENT@[40; 41) + NAME_REF@[40; 41) + IDENT@[40; 41) "f" + ARG_LIST@[41; 43) + L_PAREN@[41; 42) + R_PAREN@[42; 43) + ARG_LIST@[43; 46) + L_PAREN@[43; 44) + LITERAL@[44; 45) + INT_NUMBER@[44; 45) "1" + R_PAREN@[45; 46) + ARG_LIST@[46; 53) + L_PAREN@[46; 47) + LITERAL@[47; 48) + INT_NUMBER@[47; 48) "1" + COMMA@[48; 49) + WHITESPACE@[49; 50) + LITERAL@[50; 51) + INT_NUMBER@[50; 51) "2" + COMMA@[51; 52) + R_PAREN@[52; 53) + SEMI@[53; 54) + WHITESPACE@[54; 55) + R_CURLY@[55; 56) + WHITESPACE@[56; 57) diff --git a/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.rs new file mode 100644 index 000000000..2dac6be95 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.rs @@ -0,0 +1,4 @@ +fn foo() { + let _ = &1; + let _ = &mut &f(); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.txt new file mode 100644 index 000000000..77f2ca22c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.txt @@ -0,0 +1,54 @@ +ROOT@[0; 52) + FN_DEF@[0; 51) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 51) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 26) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) + WHITESPACE@[20; 21) + EQ@[21; 22) + WHITESPACE@[22; 23) + REF_EXPR@[23; 25) + AMP@[23; 24) + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + SEMI@[25; 26) + WHITESPACE@[26; 31) + LET_STMT@[31; 49) + LET_KW@[31; 34) + WHITESPACE@[34; 35) + PLACEHOLDER_PAT@[35; 36) + UNDERSCORE@[35; 36) + WHITESPACE@[36; 37) + EQ@[37; 38) + WHITESPACE@[38; 39) + REF_EXPR@[39; 48) + AMP@[39; 40) + MUT_KW@[40; 43) + WHITESPACE@[43; 44) + REF_EXPR@[44; 48) + AMP@[44; 45) + CALL_EXPR@[45; 48) + PATH_EXPR@[45; 46) + PATH@[45; 46) + PATH_SEGMENT@[45; 46) + NAME_REF@[45; 46) + IDENT@[45; 46) "f" + ARG_LIST@[46; 48) + L_PAREN@[46; 47) + R_PAREN@[47; 48) + SEMI@[48; 49) + WHITESPACE@[49; 50) + R_CURLY@[50; 51) + WHITESPACE@[51; 52) diff --git a/crates/ra_syntax/tests/data/parser/inline/0045_block.rs b/crates/ra_syntax/tests/data/parser/inline/0045_block.rs new file mode 100644 index 000000000..81f44c533 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0045_block.rs @@ -0,0 +1,4 @@ +fn a() {} +fn b() { let _ = 1; } +fn c() { 1; 2; } +fn d() { 1; 2 } diff --git a/crates/ra_syntax/tests/data/parser/inline/0045_block.txt b/crates/ra_syntax/tests/data/parser/inline/0045_block.txt new file mode 100644 index 000000000..e6c841f21 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0045_block.txt @@ -0,0 +1,86 @@ +ROOT@[0; 65) + FN_DEF@[0; 9) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 4) + IDENT@[3; 4) "a" + PARAM_LIST@[4; 6) + L_PAREN@[4; 5) + R_PAREN@[5; 6) + WHITESPACE@[6; 7) + BLOCK@[7; 9) + L_CURLY@[7; 8) + R_CURLY@[8; 9) + WHITESPACE@[9; 10) + FN_DEF@[10; 31) + FN_KW@[10; 12) + WHITESPACE@[12; 13) + NAME@[13; 14) + IDENT@[13; 14) "b" + PARAM_LIST@[14; 16) + L_PAREN@[14; 15) + R_PAREN@[15; 16) + WHITESPACE@[16; 17) + BLOCK@[17; 31) + L_CURLY@[17; 18) + WHITESPACE@[18; 19) + LET_STMT@[19; 29) + LET_KW@[19; 22) + WHITESPACE@[22; 23) + PLACEHOLDER_PAT@[23; 24) + UNDERSCORE@[23; 24) + WHITESPACE@[24; 25) + EQ@[25; 26) + WHITESPACE@[26; 27) + LITERAL@[27; 28) + INT_NUMBER@[27; 28) "1" + SEMI@[28; 29) + WHITESPACE@[29; 30) + R_CURLY@[30; 31) + WHITESPACE@[31; 32) + FN_DEF@[32; 48) + FN_KW@[32; 34) + WHITESPACE@[34; 35) + NAME@[35; 36) + IDENT@[35; 36) "c" + PARAM_LIST@[36; 38) + L_PAREN@[36; 37) + R_PAREN@[37; 38) + WHITESPACE@[38; 39) + BLOCK@[39; 48) + L_CURLY@[39; 40) + WHITESPACE@[40; 41) + EXPR_STMT@[41; 43) + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "1" + SEMI@[42; 43) + WHITESPACE@[43; 44) + EXPR_STMT@[44; 46) + LITERAL@[44; 45) + INT_NUMBER@[44; 45) "2" + SEMI@[45; 46) + WHITESPACE@[46; 47) + R_CURLY@[47; 48) + WHITESPACE@[48; 49) + FN_DEF@[49; 64) + FN_KW@[49; 51) + WHITESPACE@[51; 52) + NAME@[52; 53) + IDENT@[52; 53) "d" + PARAM_LIST@[53; 55) + L_PAREN@[53; 54) + R_PAREN@[54; 55) + WHITESPACE@[55; 56) + BLOCK@[56; 64) + L_CURLY@[56; 57) + WHITESPACE@[57; 58) + EXPR_STMT@[58; 60) + LITERAL@[58; 59) + INT_NUMBER@[58; 59) "1" + SEMI@[59; 60) + WHITESPACE@[60; 61) + LITERAL@[61; 62) + INT_NUMBER@[61; 62) "2" + WHITESPACE@[62; 63) + R_CURLY@[63; 64) + WHITESPACE@[64; 65) diff --git a/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.rs b/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.rs new file mode 100644 index 000000000..ef6aa84a2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.rs @@ -0,0 +1 @@ +default impl Foo {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.txt b/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.txt new file mode 100644 index 000000000..19fe5ca85 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.txt @@ -0,0 +1,16 @@ +ROOT@[0; 20) + IMPL_ITEM@[0; 19) + DEFAULT_KW@[0; 7) + WHITESPACE@[7; 8) + IMPL_KW@[8; 12) + WHITESPACE@[12; 13) + PATH_TYPE@[13; 16) + PATH@[13; 16) + PATH_SEGMENT@[13; 16) + NAME_REF@[13; 16) + IDENT@[13; 16) "Foo" + WHITESPACE@[16; 17) + ITEM_LIST@[17; 19) + L_CURLY@[17; 18) + R_CURLY@[18; 19) + WHITESPACE@[19; 20) diff --git a/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.rs b/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.rs new file mode 100644 index 000000000..d6337f6b3 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.rs @@ -0,0 +1 @@ +impl Foo {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.txt b/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.txt new file mode 100644 index 000000000..6419243e2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.txt @@ -0,0 +1,14 @@ +ROOT@[0; 12) + IMPL_ITEM@[0; 11) + IMPL_KW@[0; 4) + WHITESPACE@[4; 5) + PATH_TYPE@[5; 8) + PATH@[5; 8) + PATH_SEGMENT@[5; 8) + NAME_REF@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) + ITEM_LIST@[9; 11) + L_CURLY@[9; 10) + R_CURLY@[10; 11) + WHITESPACE@[11; 12) diff --git a/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.rs b/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.rs new file mode 100644 index 000000000..b7527c870 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.rs @@ -0,0 +1 @@ +impl !Send for X {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.txt b/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.txt new file mode 100644 index 000000000..6739f9c55 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.txt @@ -0,0 +1,23 @@ +ROOT@[0; 20) + IMPL_ITEM@[0; 19) + IMPL_KW@[0; 4) + WHITESPACE@[4; 5) + EXCL@[5; 6) + PATH_TYPE@[6; 10) + PATH@[6; 10) + PATH_SEGMENT@[6; 10) + NAME_REF@[6; 10) + IDENT@[6; 10) "Send" + WHITESPACE@[10; 11) + FOR_KW@[11; 14) + WHITESPACE@[14; 15) + PATH_TYPE@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "X" + WHITESPACE@[16; 17) + ITEM_LIST@[17; 19) + L_CURLY@[17; 18) + R_CURLY@[18; 19) + WHITESPACE@[19; 20) diff --git a/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.rs b/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.rs new file mode 100644 index 000000000..a5ec3239f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.rs @@ -0,0 +1,6 @@ +impl F { + type A: Clone; + const B: i32; + fn foo() {} + fn bar(&self); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.txt b/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.txt new file mode 100644 index 000000000..72d9220e8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.txt @@ -0,0 +1,69 @@ +ROOT@[0; 83) + IMPL_ITEM@[0; 82) + IMPL_KW@[0; 4) + WHITESPACE@[4; 5) + PATH_TYPE@[5; 6) + PATH@[5; 6) + PATH_SEGMENT@[5; 6) + NAME_REF@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) + ITEM_LIST@[7; 82) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + TYPE_DEF@[13; 27) + TYPE_KW@[13; 17) + WHITESPACE@[17; 18) + NAME@[18; 19) + IDENT@[18; 19) "A" + COLON@[19; 20) + WHITESPACE@[20; 21) + PATH_TYPE@[21; 26) + PATH@[21; 26) + PATH_SEGMENT@[21; 26) + NAME_REF@[21; 26) + IDENT@[21; 26) "Clone" + SEMI@[26; 27) + WHITESPACE@[27; 32) + CONST_DEF@[32; 45) + CONST_KW@[32; 37) + WHITESPACE@[37; 38) + NAME@[38; 39) + IDENT@[38; 39) "B" + COLON@[39; 40) + WHITESPACE@[40; 41) + PATH_TYPE@[41; 44) + PATH@[41; 44) + PATH_SEGMENT@[41; 44) + NAME_REF@[41; 44) + IDENT@[41; 44) "i32" + SEMI@[44; 45) + WHITESPACE@[45; 50) + FN_DEF@[50; 61) + FN_KW@[50; 52) + WHITESPACE@[52; 53) + NAME@[53; 56) + IDENT@[53; 56) "foo" + PARAM_LIST@[56; 58) + L_PAREN@[56; 57) + R_PAREN@[57; 58) + WHITESPACE@[58; 59) + BLOCK@[59; 61) + L_CURLY@[59; 60) + R_CURLY@[60; 61) + WHITESPACE@[61; 66) + FN_DEF@[66; 80) + FN_KW@[66; 68) + WHITESPACE@[68; 69) + NAME@[69; 72) + IDENT@[69; 72) "bar" + PARAM_LIST@[72; 79) + L_PAREN@[72; 73) + SELF_PARAM@[73; 78) + AMP@[73; 74) + SELF_KW@[74; 78) + R_PAREN@[78; 79) + SEMI@[79; 80) + WHITESPACE@[80; 81) + R_CURLY@[81; 82) + WHITESPACE@[82; 83) diff --git a/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.rs b/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.rs new file mode 100644 index 000000000..0a9af907f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.rs @@ -0,0 +1,6 @@ +fn foo() { + let a; + let b: i32; + let c = 92; + let d: i32 = 92; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.txt b/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.txt new file mode 100644 index 000000000..30dc83454 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.txt @@ -0,0 +1,71 @@ +ROOT@[0; 77) + FN_DEF@[0; 76) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 76) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 21) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + BIND_PAT@[19; 20) + NAME@[19; 20) + IDENT@[19; 20) "a" + SEMI@[20; 21) + WHITESPACE@[21; 26) + LET_STMT@[26; 37) + LET_KW@[26; 29) + WHITESPACE@[29; 30) + BIND_PAT@[30; 31) + NAME@[30; 31) + IDENT@[30; 31) "b" + COLON@[31; 32) + WHITESPACE@[32; 33) + PATH_TYPE@[33; 36) + PATH@[33; 36) + PATH_SEGMENT@[33; 36) + NAME_REF@[33; 36) + IDENT@[33; 36) "i32" + SEMI@[36; 37) + WHITESPACE@[37; 42) + LET_STMT@[42; 53) + LET_KW@[42; 45) + WHITESPACE@[45; 46) + BIND_PAT@[46; 47) + NAME@[46; 47) + IDENT@[46; 47) "c" + WHITESPACE@[47; 48) + EQ@[48; 49) + WHITESPACE@[49; 50) + LITERAL@[50; 52) + INT_NUMBER@[50; 52) "92" + SEMI@[52; 53) + WHITESPACE@[53; 58) + LET_STMT@[58; 74) + LET_KW@[58; 61) + WHITESPACE@[61; 62) + BIND_PAT@[62; 63) + NAME@[62; 63) + IDENT@[62; 63) "d" + COLON@[63; 64) + WHITESPACE@[64; 65) + PATH_TYPE@[65; 68) + PATH@[65; 68) + PATH_SEGMENT@[65; 68) + NAME_REF@[65; 68) + IDENT@[65; 68) "i32" + WHITESPACE@[68; 69) + EQ@[69; 70) + WHITESPACE@[70; 71) + LITERAL@[71; 73) + INT_NUMBER@[71; 73) "92" + SEMI@[73; 74) + WHITESPACE@[74; 75) + R_CURLY@[75; 76) + WHITESPACE@[76; 77) diff --git a/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.rs new file mode 100644 index 000000000..1a3aa35ae --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.rs @@ -0,0 +1,4 @@ +fn foo() { + x.foo(); + y.bar::(1, 2,); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.txt new file mode 100644 index 000000000..530c80fa8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.txt @@ -0,0 +1,62 @@ +ROOT@[0; 49) + FN_DEF@[0; 48) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 48) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 23) + METHOD_CALL_EXPR@[15; 22) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + DOT@[16; 17) + NAME_REF@[17; 20) + IDENT@[17; 20) "foo" + ARG_LIST@[20; 22) + L_PAREN@[20; 21) + R_PAREN@[21; 22) + SEMI@[22; 23) + WHITESPACE@[23; 28) + EXPR_STMT@[28; 46) + METHOD_CALL_EXPR@[28; 45) + PATH_EXPR@[28; 29) + PATH@[28; 29) + PATH_SEGMENT@[28; 29) + NAME_REF@[28; 29) + IDENT@[28; 29) "y" + DOT@[29; 30) + NAME_REF@[30; 33) + IDENT@[30; 33) "bar" + TYPE_ARG_LIST@[33; 38) + COLONCOLON@[33; 35) + L_ANGLE@[35; 36) + TYPE_ARG@[36; 37) + PATH_TYPE@[36; 37) + PATH@[36; 37) + PATH_SEGMENT@[36; 37) + NAME_REF@[36; 37) + IDENT@[36; 37) "T" + R_ANGLE@[37; 38) + ARG_LIST@[38; 45) + L_PAREN@[38; 39) + LITERAL@[39; 40) + INT_NUMBER@[39; 40) "1" + COMMA@[40; 41) + WHITESPACE@[41; 42) + LITERAL@[42; 43) + INT_NUMBER@[42; 43) "2" + COMMA@[43; 44) + R_PAREN@[44; 45) + SEMI@[45; 46) + WHITESPACE@[46; 47) + R_CURLY@[47; 48) + WHITESPACE@[48; 49) diff --git a/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.rs new file mode 100644 index 000000000..3e69538e5 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.rs @@ -0,0 +1,4 @@ +fn foo() { + x.foo; + x.0.bar; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.txt new file mode 100644 index 000000000..9086219ca --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.txt @@ -0,0 +1,42 @@ +ROOT@[0; 37) + FN_DEF@[0; 36) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 36) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 21) + FIELD_EXPR@[15; 20) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + DOT@[16; 17) + NAME_REF@[17; 20) + IDENT@[17; 20) "foo" + SEMI@[20; 21) + WHITESPACE@[21; 26) + EXPR_STMT@[26; 34) + FIELD_EXPR@[26; 33) + FIELD_EXPR@[26; 29) + PATH_EXPR@[26; 27) + PATH@[26; 27) + PATH_SEGMENT@[26; 27) + NAME_REF@[26; 27) + IDENT@[26; 27) "x" + DOT@[27; 28) + INT_NUMBER@[28; 29) "0" + DOT@[29; 30) + NAME_REF@[30; 33) + IDENT@[30; 33) "bar" + SEMI@[33; 34) + WHITESPACE@[34; 35) + R_CURLY@[35; 36) + WHITESPACE@[36; 37) diff --git a/crates/ra_syntax/tests/data/parser/inline/0053_block_items.rs b/crates/ra_syntax/tests/data/parser/inline/0053_block_items.rs new file mode 100644 index 000000000..d9868718c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0053_block_items.rs @@ -0,0 +1 @@ +fn a() { fn b() {} } diff --git a/crates/ra_syntax/tests/data/parser/inline/0053_block_items.txt b/crates/ra_syntax/tests/data/parser/inline/0053_block_items.txt new file mode 100644 index 000000000..20122d763 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0053_block_items.txt @@ -0,0 +1,28 @@ +ROOT@[0; 21) + FN_DEF@[0; 20) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 4) + IDENT@[3; 4) "a" + PARAM_LIST@[4; 6) + L_PAREN@[4; 5) + R_PAREN@[5; 6) + WHITESPACE@[6; 7) + BLOCK@[7; 20) + L_CURLY@[7; 8) + WHITESPACE@[8; 9) + FN_DEF@[9; 18) + FN_KW@[9; 11) + WHITESPACE@[11; 12) + NAME@[12; 13) + IDENT@[12; 13) "b" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) + R_PAREN@[14; 15) + WHITESPACE@[15; 16) + BLOCK@[16; 18) + L_CURLY@[16; 17) + R_CURLY@[17; 18) + WHITESPACE@[18; 19) + R_CURLY@[19; 20) + WHITESPACE@[20; 21) diff --git a/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.rs b/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.rs new file mode 100644 index 000000000..da3412fa8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.rs @@ -0,0 +1,6 @@ +fn foo() { + let S {} = (); + let S { f, ref mut g } = (); + let S { h: _, ..} = (); + let S { h: _, } = (); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.txt b/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.txt new file mode 100644 index 000000000..4df4ca35b --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.txt @@ -0,0 +1,126 @@ +ROOT@[0; 119) + FN_DEF@[0; 118) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 118) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 29) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + STRUCT_PAT@[19; 23) + PATH@[19; 20) + PATH_SEGMENT@[19; 20) + NAME_REF@[19; 20) + IDENT@[19; 20) "S" + WHITESPACE@[20; 21) + FIELD_PAT_LIST@[21; 23) + L_CURLY@[21; 22) + R_CURLY@[22; 23) + WHITESPACE@[23; 24) + EQ@[24; 25) + WHITESPACE@[25; 26) + TUPLE_EXPR@[26; 28) + L_PAREN@[26; 27) + R_PAREN@[27; 28) + SEMI@[28; 29) + WHITESPACE@[29; 34) + LET_STMT@[34; 62) + LET_KW@[34; 37) + WHITESPACE@[37; 38) + STRUCT_PAT@[38; 56) + PATH@[38; 39) + PATH_SEGMENT@[38; 39) + NAME_REF@[38; 39) + IDENT@[38; 39) "S" + WHITESPACE@[39; 40) + FIELD_PAT_LIST@[40; 56) + L_CURLY@[40; 41) + WHITESPACE@[41; 42) + BIND_PAT@[42; 43) + NAME@[42; 43) + IDENT@[42; 43) "f" + COMMA@[43; 44) + WHITESPACE@[44; 45) + BIND_PAT@[45; 54) + REF_KW@[45; 48) + WHITESPACE@[48; 49) + MUT_KW@[49; 52) + WHITESPACE@[52; 53) + NAME@[53; 54) + IDENT@[53; 54) "g" + WHITESPACE@[54; 55) + R_CURLY@[55; 56) + WHITESPACE@[56; 57) + EQ@[57; 58) + WHITESPACE@[58; 59) + TUPLE_EXPR@[59; 61) + L_PAREN@[59; 60) + R_PAREN@[60; 61) + SEMI@[61; 62) + WHITESPACE@[62; 67) + LET_STMT@[67; 90) + LET_KW@[67; 70) + WHITESPACE@[70; 71) + STRUCT_PAT@[71; 84) + PATH@[71; 72) + PATH_SEGMENT@[71; 72) + NAME_REF@[71; 72) + IDENT@[71; 72) "S" + WHITESPACE@[72; 73) + FIELD_PAT_LIST@[73; 84) + L_CURLY@[73; 74) + WHITESPACE@[74; 75) + IDENT@[75; 76) "h" + COLON@[76; 77) + WHITESPACE@[77; 78) + PLACEHOLDER_PAT@[78; 79) + UNDERSCORE@[78; 79) + COMMA@[79; 80) + WHITESPACE@[80; 81) + DOTDOT@[81; 83) + R_CURLY@[83; 84) + WHITESPACE@[84; 85) + EQ@[85; 86) + WHITESPACE@[86; 87) + TUPLE_EXPR@[87; 89) + L_PAREN@[87; 88) + R_PAREN@[88; 89) + SEMI@[89; 90) + WHITESPACE@[90; 95) + LET_STMT@[95; 116) + LET_KW@[95; 98) + WHITESPACE@[98; 99) + STRUCT_PAT@[99; 110) + PATH@[99; 100) + PATH_SEGMENT@[99; 100) + NAME_REF@[99; 100) + IDENT@[99; 100) "S" + WHITESPACE@[100; 101) + FIELD_PAT_LIST@[101; 110) + L_CURLY@[101; 102) + WHITESPACE@[102; 103) + IDENT@[103; 104) "h" + COLON@[104; 105) + WHITESPACE@[105; 106) + PLACEHOLDER_PAT@[106; 107) + UNDERSCORE@[106; 107) + COMMA@[107; 108) + WHITESPACE@[108; 109) + R_CURLY@[109; 110) + WHITESPACE@[110; 111) + EQ@[111; 112) + WHITESPACE@[112; 113) + TUPLE_EXPR@[113; 115) + L_PAREN@[113; 114) + R_PAREN@[114; 115) + SEMI@[115; 116) + WHITESPACE@[116; 117) + R_CURLY@[117; 118) + WHITESPACE@[118; 119) diff --git a/crates/ra_syntax/tests/data/parser/inline/0055_self_param.rs b/crates/ra_syntax/tests/data/parser/inline/0055_self_param.rs new file mode 100644 index 000000000..80c0a43f5 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0055_self_param.rs @@ -0,0 +1,7 @@ +impl S { + fn a(self) {} + fn b(&self,) {} + fn c(&'a self,) {} + fn d(&'a mut self, x: i32) {} + fn e(mut self) {} +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0055_self_param.txt b/crates/ra_syntax/tests/data/parser/inline/0055_self_param.txt new file mode 100644 index 000000000..f0e47c2dc --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0055_self_param.txt @@ -0,0 +1,116 @@ +ROOT@[0; 128) + IMPL_ITEM@[0; 127) + IMPL_KW@[0; 4) + WHITESPACE@[4; 5) + PATH_TYPE@[5; 6) + PATH@[5; 6) + PATH_SEGMENT@[5; 6) + NAME_REF@[5; 6) + IDENT@[5; 6) "S" + WHITESPACE@[6; 7) + ITEM_LIST@[7; 127) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + FN_DEF@[13; 26) + FN_KW@[13; 15) + WHITESPACE@[15; 16) + NAME@[16; 17) + IDENT@[16; 17) "a" + PARAM_LIST@[17; 23) + L_PAREN@[17; 18) + SELF_PARAM@[18; 22) + SELF_KW@[18; 22) + R_PAREN@[22; 23) + WHITESPACE@[23; 24) + BLOCK@[24; 26) + L_CURLY@[24; 25) + R_CURLY@[25; 26) + WHITESPACE@[26; 31) + FN_DEF@[31; 46) + FN_KW@[31; 33) + WHITESPACE@[33; 34) + NAME@[34; 35) + IDENT@[34; 35) "b" + PARAM_LIST@[35; 43) + L_PAREN@[35; 36) + SELF_PARAM@[36; 41) + AMP@[36; 37) + SELF_KW@[37; 41) + COMMA@[41; 42) + R_PAREN@[42; 43) + WHITESPACE@[43; 44) + BLOCK@[44; 46) + L_CURLY@[44; 45) + R_CURLY@[45; 46) + WHITESPACE@[46; 51) + FN_DEF@[51; 69) + FN_KW@[51; 53) + WHITESPACE@[53; 54) + NAME@[54; 55) + IDENT@[54; 55) "c" + PARAM_LIST@[55; 66) + L_PAREN@[55; 56) + SELF_PARAM@[56; 64) + AMP@[56; 57) + LIFETIME@[57; 59) "'a" + WHITESPACE@[59; 60) + SELF_KW@[60; 64) + COMMA@[64; 65) + R_PAREN@[65; 66) + WHITESPACE@[66; 67) + BLOCK@[67; 69) + L_CURLY@[67; 68) + R_CURLY@[68; 69) + WHITESPACE@[69; 74) + FN_DEF@[74; 103) + FN_KW@[74; 76) + WHITESPACE@[76; 77) + NAME@[77; 78) + IDENT@[77; 78) "d" + PARAM_LIST@[78; 100) + L_PAREN@[78; 79) + SELF_PARAM@[79; 91) + AMP@[79; 80) + LIFETIME@[80; 82) "'a" + WHITESPACE@[82; 83) + MUT_KW@[83; 86) + WHITESPACE@[86; 87) + SELF_KW@[87; 91) + COMMA@[91; 92) + WHITESPACE@[92; 93) + PARAM@[93; 99) + BIND_PAT@[93; 94) + NAME@[93; 94) + IDENT@[93; 94) "x" + COLON@[94; 95) + WHITESPACE@[95; 96) + PATH_TYPE@[96; 99) + PATH@[96; 99) + PATH_SEGMENT@[96; 99) + NAME_REF@[96; 99) + IDENT@[96; 99) "i32" + R_PAREN@[99; 100) + WHITESPACE@[100; 101) + BLOCK@[101; 103) + L_CURLY@[101; 102) + R_CURLY@[102; 103) + WHITESPACE@[103; 108) + FN_DEF@[108; 125) + FN_KW@[108; 110) + WHITESPACE@[110; 111) + NAME@[111; 112) + IDENT@[111; 112) "e" + PARAM_LIST@[112; 122) + L_PAREN@[112; 113) + SELF_PARAM@[113; 121) + MUT_KW@[113; 116) + WHITESPACE@[116; 117) + SELF_KW@[117; 121) + R_PAREN@[121; 122) + WHITESPACE@[122; 123) + BLOCK@[123; 125) + L_CURLY@[123; 124) + R_CURLY@[124; 125) + WHITESPACE@[125; 126) + R_CURLY@[126; 127) + WHITESPACE@[127; 128) diff --git a/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.rs b/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.rs new file mode 100644 index 000000000..4385afca9 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.rs @@ -0,0 +1 @@ +trait T: Hash + Clone where U: Copy {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.txt b/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.txt new file mode 100644 index 000000000..40c77db4b --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.txt @@ -0,0 +1,49 @@ +ROOT@[0; 42) + TRAIT_DEF@[0; 41) + TRAIT_KW@[0; 5) + WHITESPACE@[5; 6) + NAME@[6; 7) + IDENT@[6; 7) "T" + TYPE_PARAM_LIST@[7; 10) + L_ANGLE@[7; 8) + TYPE_PARAM@[8; 9) + NAME@[8; 9) + IDENT@[8; 9) "U" + R_ANGLE@[9; 10) + COLON@[10; 11) + WHITESPACE@[11; 12) + PATH_TYPE@[12; 24) + PATH@[12; 16) + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "Hash" + WHITESPACE@[16; 17) + PLUS@[17; 18) + WHITESPACE@[18; 19) + PATH_TYPE@[19; 24) + PATH@[19; 24) + PATH_SEGMENT@[19; 24) + NAME_REF@[19; 24) + IDENT@[19; 24) "Clone" + WHITESPACE@[24; 25) + WHERE_CLAUSE@[25; 38) + WHERE_KW@[25; 30) + WHITESPACE@[30; 31) + WHERE_PRED@[31; 38) + PATH_TYPE@[31; 32) + PATH@[31; 32) + PATH_SEGMENT@[31; 32) + NAME_REF@[31; 32) + IDENT@[31; 32) "U" + COLON@[32; 33) + WHITESPACE@[33; 34) + PATH_TYPE@[34; 38) + PATH@[34; 38) + PATH_SEGMENT@[34; 38) + NAME_REF@[34; 38) + IDENT@[34; 38) "Copy" + WHITESPACE@[38; 39) + ITEM_LIST@[39; 41) + L_CURLY@[39; 40) + R_CURLY@[40; 41) + WHITESPACE@[41; 42) diff --git a/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.rs b/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.rs new file mode 100644 index 000000000..72adf6035 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.rs @@ -0,0 +1 @@ +auto trait T {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.txt b/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.txt new file mode 100644 index 000000000..0303d76bd --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.txt @@ -0,0 +1,13 @@ +ROOT@[0; 16) + TRAIT_DEF@[0; 15) + AUTO_KW@[0; 4) + WHITESPACE@[4; 5) + TRAIT_KW@[5; 10) + WHITESPACE@[10; 11) + NAME@[11; 12) + IDENT@[11; 12) "T" + WHITESPACE@[12; 13) + ITEM_LIST@[13; 15) + L_CURLY@[13; 14) + R_CURLY@[14; 15) + WHITESPACE@[15; 16) diff --git a/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs b/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs new file mode 100644 index 000000000..f0c8cc3a8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs @@ -0,0 +1 @@ +type A = B<'static, i32, Item=u64> diff --git a/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.txt b/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.txt new file mode 100644 index 000000000..aaf2924ba --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.txt @@ -0,0 +1,40 @@ +ROOT@[0; 35) + TYPE_DEF@[0; 34) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + PATH_TYPE@[9; 34) + PATH@[9; 34) + PATH_SEGMENT@[9; 34) + NAME_REF@[9; 10) + IDENT@[9; 10) "B" + TYPE_ARG_LIST@[10; 34) + L_ANGLE@[10; 11) + LIFETIME_ARG@[11; 18) + LIFETIME@[11; 18) "'static" + COMMA@[18; 19) + WHITESPACE@[19; 20) + TYPE_ARG@[20; 23) + PATH_TYPE@[20; 23) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "i32" + COMMA@[23; 24) + WHITESPACE@[24; 25) + ASSOC_TYPE_ARG@[25; 33) + NAME_REF@[25; 29) + IDENT@[25; 29) "Item" + EQ@[29; 30) + PATH_TYPE@[30; 33) + PATH@[30; 33) + PATH_SEGMENT@[30; 33) + NAME_REF@[30; 33) + IDENT@[30; 33) "u64" + R_ANGLE@[33; 34) + err: `expected SEMI` + WHITESPACE@[34; 35) diff --git a/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.rs b/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.rs new file mode 100644 index 000000000..f0920b2a8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.rs @@ -0,0 +1 @@ +fn foo() where T: Copy {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.txt b/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.txt new file mode 100644 index 000000000..281e79deb --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.txt @@ -0,0 +1,37 @@ +ROOT@[0; 29) + FN_DEF@[0; 28) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 9) + L_ANGLE@[6; 7) + TYPE_PARAM@[7; 8) + NAME@[7; 8) + IDENT@[7; 8) "T" + R_ANGLE@[8; 9) + PARAM_LIST@[9; 11) + L_PAREN@[9; 10) + R_PAREN@[10; 11) + WHITESPACE@[11; 12) + WHERE_CLAUSE@[12; 25) + WHERE_KW@[12; 17) + WHITESPACE@[17; 18) + WHERE_PRED@[18; 25) + PATH_TYPE@[18; 19) + PATH@[18; 19) + PATH_SEGMENT@[18; 19) + NAME_REF@[18; 19) + IDENT@[18; 19) "T" + COLON@[19; 20) + WHITESPACE@[20; 21) + PATH_TYPE@[21; 25) + PATH@[21; 25) + PATH_SEGMENT@[21; 25) + NAME_REF@[21; 25) + IDENT@[21; 25) "Copy" + WHITESPACE@[25; 26) + BLOCK@[26; 28) + L_CURLY@[26; 27) + R_CURLY@[27; 28) + WHITESPACE@[28; 29) diff --git a/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.rs b/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.rs new file mode 100644 index 000000000..9df40ed39 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.rs @@ -0,0 +1 @@ +fn foo(){} diff --git a/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.txt b/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.txt new file mode 100644 index 000000000..b6fea5ab2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.txt @@ -0,0 +1,34 @@ +ROOT@[0; 28) + FN_DEF@[0; 27) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 23) + L_ANGLE@[6; 7) + TYPE_PARAM@[7; 22) + NAME@[7; 8) + IDENT@[7; 8) "T" + COLON@[8; 9) + WHITESPACE@[9; 10) + PATH_TYPE@[10; 22) + PATH@[10; 15) + PATH_SEGMENT@[10; 15) + NAME_REF@[10; 15) + IDENT@[10; 15) "Clone" + WHITESPACE@[15; 16) + PLUS@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 22) + PATH@[18; 22) + PATH_SEGMENT@[18; 22) + NAME_REF@[18; 22) + IDENT@[18; 22) "Copy" + R_ANGLE@[22; 23) + PARAM_LIST@[23; 25) + L_PAREN@[23; 24) + R_PAREN@[24; 25) + BLOCK@[25; 27) + L_CURLY@[25; 26) + R_CURLY@[26; 27) + WHITESPACE@[27; 28) diff --git a/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.rs b/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.rs new file mode 100644 index 000000000..eb711f68a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.rs @@ -0,0 +1,5 @@ +fn foo() { + S {}; + S { x, y: 32, }; + S { x, y: 32, ..Default::default() }; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.txt b/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.txt new file mode 100644 index 000000000..cf6e881b2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.txt @@ -0,0 +1,97 @@ +ROOT@[0; 86) + FN_DEF@[0; 85) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 85) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 20) + STRUCT_LIT@[15; 19) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "S" + WHITESPACE@[16; 17) + NAMED_FIELD_LIST@[17; 19) + L_CURLY@[17; 18) + R_CURLY@[18; 19) + SEMI@[19; 20) + WHITESPACE@[20; 25) + EXPR_STMT@[25; 41) + STRUCT_LIT@[25; 40) + PATH@[25; 26) + PATH_SEGMENT@[25; 26) + NAME_REF@[25; 26) + IDENT@[25; 26) "S" + WHITESPACE@[26; 27) + NAMED_FIELD_LIST@[27; 40) + L_CURLY@[27; 28) + WHITESPACE@[28; 29) + NAMED_FIELD@[29; 30) + NAME_REF@[29; 30) + IDENT@[29; 30) "x" + COMMA@[30; 31) + WHITESPACE@[31; 32) + NAMED_FIELD@[32; 37) + NAME_REF@[32; 33) + IDENT@[32; 33) "y" + COLON@[33; 34) + WHITESPACE@[34; 35) + LITERAL@[35; 37) + INT_NUMBER@[35; 37) "32" + COMMA@[37; 38) + WHITESPACE@[38; 39) + R_CURLY@[39; 40) + SEMI@[40; 41) + WHITESPACE@[41; 46) + EXPR_STMT@[46; 83) + STRUCT_LIT@[46; 82) + PATH@[46; 47) + PATH_SEGMENT@[46; 47) + NAME_REF@[46; 47) + IDENT@[46; 47) "S" + WHITESPACE@[47; 48) + NAMED_FIELD_LIST@[48; 82) + L_CURLY@[48; 49) + WHITESPACE@[49; 50) + NAMED_FIELD@[50; 51) + NAME_REF@[50; 51) + IDENT@[50; 51) "x" + COMMA@[51; 52) + WHITESPACE@[52; 53) + NAMED_FIELD@[53; 58) + NAME_REF@[53; 54) + IDENT@[53; 54) "y" + COLON@[54; 55) + WHITESPACE@[55; 56) + LITERAL@[56; 58) + INT_NUMBER@[56; 58) "32" + COMMA@[58; 59) + WHITESPACE@[59; 60) + DOTDOT@[60; 62) + CALL_EXPR@[62; 80) + PATH_EXPR@[62; 78) + PATH@[62; 78) + PATH@[62; 69) + PATH_SEGMENT@[62; 69) + NAME_REF@[62; 69) + IDENT@[62; 69) "Default" + COLONCOLON@[69; 71) + PATH_SEGMENT@[71; 78) + NAME_REF@[71; 78) + IDENT@[71; 78) "default" + ARG_LIST@[78; 80) + L_PAREN@[78; 79) + R_PAREN@[79; 80) + WHITESPACE@[80; 81) + R_CURLY@[81; 82) + SEMI@[82; 83) + WHITESPACE@[83; 84) + R_CURLY@[84; 85) + WHITESPACE@[85; 86) diff --git a/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.rs b/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.rs new file mode 100644 index 000000000..54c5a7c46 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.rs @@ -0,0 +1 @@ +type A = impl Iterator> + 'a; diff --git a/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.txt b/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.txt new file mode 100644 index 000000000..68fce58ee --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.txt @@ -0,0 +1,40 @@ +ROOT@[0; 43) + TYPE_DEF@[0; 42) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + IMPL_TRAIT_TYPE@[9; 41) + IMPL_KW@[9; 13) + WHITESPACE@[13; 14) + PATH_TYPE@[14; 41) + PATH@[14; 36) + PATH_SEGMENT@[14; 36) + NAME_REF@[14; 22) + IDENT@[14; 22) "Iterator" + TYPE_ARG_LIST@[22; 36) + L_ANGLE@[22; 23) + ASSOC_TYPE_ARG@[23; 35) + NAME_REF@[23; 27) + IDENT@[23; 27) "Item" + EQ@[27; 28) + PATH_TYPE@[28; 35) + PATH@[28; 35) + PATH_SEGMENT@[28; 35) + NAME_REF@[28; 31) + IDENT@[28; 31) "Foo" + TYPE_ARG_LIST@[31; 35) + L_ANGLE@[31; 32) + LIFETIME_ARG@[32; 34) + LIFETIME@[32; 34) "'a" + R_ANGLE@[34; 35) + R_ANGLE@[35; 36) + WHITESPACE@[36; 37) + PLUS@[37; 38) + WHITESPACE@[38; 39) + LIFETIME@[39; 41) "'a" + SEMI@[41; 42) + WHITESPACE@[42; 43) diff --git a/crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt new file mode 100644 index 000000000..93f6285ac --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt @@ -0,0 +1,91 @@ +ROOT@[0; 74) + FN_DEF@[0; 74) + FN_KW@[0; 2) + NAME@[2; 6) + WHITESPACE@[2; 3) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 9) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK_EXPR@[9; 74) + L_CURLY@[9; 10) + EXPR_STMT@[10; 26) + LAMBDA_EXPR@[10; 20) + PARAM_LIST@[10; 18) + WHITESPACE@[10; 15) + PIPE@[15; 16) + PIPE@[16; 17) + WHITESPACE@[17; 18) + TUPLE_EXPR@[18; 20) + L_PAREN@[18; 19) + R_PAREN@[19; 20) + SEMI@[20; 21) + WHITESPACE@[21; 26) + EXPR_STMT@[26; 48) + LAMBDA_EXPR@[26; 42) + PARAM_LIST@[26; 29) + PIPE@[26; 27) + PIPE@[27; 28) + WHITESPACE@[28; 29) + THIN_ARROW@[29; 31) + PATH_TYPE@[31; 36) + PATH@[31; 36) + PATH_SEGMENT@[31; 36) + NAME_REF@[31; 36) + WHITESPACE@[31; 32) + IDENT@[32; 35) "i32" + WHITESPACE@[35; 36) + BLOCK_EXPR@[36; 42) + L_CURLY@[36; 37) + LITERAL@[37; 41) + WHITESPACE@[37; 38) + INT_NUMBER@[38; 40) "92" + WHITESPACE@[40; 41) + R_CURLY@[41; 42) + SEMI@[42; 43) + WHITESPACE@[43; 48) + EXPR_STMT@[48; 59) + LAMBDA_EXPR@[48; 53) + PARAM_LIST@[48; 52) + PIPE@[48; 49) + PARAM@[49; 50) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + PIPE@[50; 51) + WHITESPACE@[51; 52) + PATH_EXPR@[52; 53) + PATH@[52; 53) + PATH_SEGMENT@[52; 53) + NAME_REF@[52; 53) + IDENT@[52; 53) "x" + SEMI@[53; 54) + WHITESPACE@[54; 59) + EXPR_STMT@[59; 72) + LAMBDA_EXPR@[59; 70) + PARAM_LIST@[59; 69) + PIPE@[59; 60) + PARAM@[60; 66) + BIND_PAT@[60; 61) + NAME@[60; 61) + IDENT@[60; 61) "x" + COLON@[61; 62) + PATH_TYPE@[62; 66) + PATH@[62; 66) + PATH_SEGMENT@[62; 66) + NAME_REF@[62; 66) + WHITESPACE@[62; 63) + IDENT@[63; 66) "i32" + COMMA@[66; 67) + PIPE@[67; 68) + WHITESPACE@[68; 69) + PATH_EXPR@[69; 70) + PATH@[69; 70) + PATH_SEGMENT@[69; 70) + NAME_REF@[69; 70) + IDENT@[69; 70) "x" + SEMI@[70; 71) + WHITESPACE@[71; 72) + R_CURLY@[72; 73) + WHITESPACE@[73; 74) diff --git a/crates/ra_syntax/tests/data/parser/inline/0064_param_list.rs b/crates/ra_syntax/tests/data/parser/inline/0064_param_list.rs new file mode 100644 index 000000000..9d55bedbb --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0064_param_list.rs @@ -0,0 +1,4 @@ +fn a() {} +fn b(x: i32) {} +fn c(x: i32, ) {} +fn d(x: i32, y: ()) {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0064_param_list.txt b/crates/ra_syntax/tests/data/parser/inline/0064_param_list.txt new file mode 100644 index 000000000..de547d699 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0064_param_list.txt @@ -0,0 +1,99 @@ +ROOT@[0; 67) + FN_DEF@[0; 9) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 4) + IDENT@[3; 4) "a" + PARAM_LIST@[4; 6) + L_PAREN@[4; 5) + R_PAREN@[5; 6) + WHITESPACE@[6; 7) + BLOCK@[7; 9) + L_CURLY@[7; 8) + R_CURLY@[8; 9) + WHITESPACE@[9; 10) + FN_DEF@[10; 25) + FN_KW@[10; 12) + WHITESPACE@[12; 13) + NAME@[13; 14) + IDENT@[13; 14) "b" + PARAM_LIST@[14; 22) + L_PAREN@[14; 15) + PARAM@[15; 21) + BIND_PAT@[15; 16) + NAME@[15; 16) + IDENT@[15; 16) "x" + COLON@[16; 17) + WHITESPACE@[17; 18) + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "i32" + R_PAREN@[21; 22) + WHITESPACE@[22; 23) + BLOCK@[23; 25) + L_CURLY@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) + FN_DEF@[26; 43) + FN_KW@[26; 28) + WHITESPACE@[28; 29) + NAME@[29; 30) + IDENT@[29; 30) "c" + PARAM_LIST@[30; 40) + L_PAREN@[30; 31) + PARAM@[31; 37) + BIND_PAT@[31; 32) + NAME@[31; 32) + IDENT@[31; 32) "x" + COLON@[32; 33) + WHITESPACE@[33; 34) + PATH_TYPE@[34; 37) + PATH@[34; 37) + PATH_SEGMENT@[34; 37) + NAME_REF@[34; 37) + IDENT@[34; 37) "i32" + COMMA@[37; 38) + WHITESPACE@[38; 39) + R_PAREN@[39; 40) + WHITESPACE@[40; 41) + BLOCK@[41; 43) + L_CURLY@[41; 42) + R_CURLY@[42; 43) + WHITESPACE@[43; 44) + FN_DEF@[44; 66) + FN_KW@[44; 46) + WHITESPACE@[46; 47) + NAME@[47; 48) + IDENT@[47; 48) "d" + PARAM_LIST@[48; 63) + L_PAREN@[48; 49) + PARAM@[49; 55) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + COLON@[50; 51) + WHITESPACE@[51; 52) + PATH_TYPE@[52; 55) + PATH@[52; 55) + PATH_SEGMENT@[52; 55) + NAME_REF@[52; 55) + IDENT@[52; 55) "i32" + COMMA@[55; 56) + WHITESPACE@[56; 57) + PARAM@[57; 62) + BIND_PAT@[57; 58) + NAME@[57; 58) + IDENT@[57; 58) "y" + COLON@[58; 59) + WHITESPACE@[59; 60) + TUPLE_TYPE@[60; 62) + L_PAREN@[60; 61) + R_PAREN@[61; 62) + R_PAREN@[62; 63) + WHITESPACE@[63; 64) + BLOCK@[64; 66) + L_CURLY@[64; 65) + R_CURLY@[65; 66) + WHITESPACE@[66; 67) diff --git a/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.rs new file mode 100644 index 000000000..4b0d9af89 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.rs @@ -0,0 +1,6 @@ +fn foo() { + if true {}; + if true {} else {}; + if true {} else if false {} else {}; + if S {}; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.txt new file mode 100644 index 000000000..ae1a8101e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.txt @@ -0,0 +1,95 @@ +ROOT@[0; 107) + FN_DEF@[0; 106) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 106) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 26) + IF_EXPR@[15; 25) + IF_KW@[15; 17) + WHITESPACE@[17; 18) + CONDITION@[18; 22) + LITERAL@[18; 22) + TRUE_KW@[18; 22) + WHITESPACE@[22; 23) + BLOCK@[23; 25) + L_CURLY@[23; 24) + R_CURLY@[24; 25) + SEMI@[25; 26) + WHITESPACE@[26; 31) + EXPR_STMT@[31; 50) + IF_EXPR@[31; 49) + IF_KW@[31; 33) + WHITESPACE@[33; 34) + CONDITION@[34; 38) + LITERAL@[34; 38) + TRUE_KW@[34; 38) + WHITESPACE@[38; 39) + BLOCK@[39; 41) + L_CURLY@[39; 40) + R_CURLY@[40; 41) + WHITESPACE@[41; 42) + ELSE_KW@[42; 46) + WHITESPACE@[46; 47) + BLOCK@[47; 49) + L_CURLY@[47; 48) + R_CURLY@[48; 49) + SEMI@[49; 50) + WHITESPACE@[50; 55) + EXPR_STMT@[55; 91) + IF_EXPR@[55; 90) + IF_KW@[55; 57) + WHITESPACE@[57; 58) + CONDITION@[58; 62) + LITERAL@[58; 62) + TRUE_KW@[58; 62) + WHITESPACE@[62; 63) + BLOCK@[63; 65) + L_CURLY@[63; 64) + R_CURLY@[64; 65) + WHITESPACE@[65; 66) + ELSE_KW@[66; 70) + WHITESPACE@[70; 71) + IF_EXPR@[71; 90) + IF_KW@[71; 73) + WHITESPACE@[73; 74) + CONDITION@[74; 79) + LITERAL@[74; 79) + FALSE_KW@[74; 79) + WHITESPACE@[79; 80) + BLOCK@[80; 82) + L_CURLY@[80; 81) + R_CURLY@[81; 82) + WHITESPACE@[82; 83) + ELSE_KW@[83; 87) + WHITESPACE@[87; 88) + BLOCK@[88; 90) + L_CURLY@[88; 89) + R_CURLY@[89; 90) + SEMI@[90; 91) + WHITESPACE@[91; 96) + EXPR_STMT@[96; 104) + IF_EXPR@[96; 103) + IF_KW@[96; 98) + WHITESPACE@[98; 99) + CONDITION@[99; 100) + PATH_EXPR@[99; 100) + PATH@[99; 100) + PATH_SEGMENT@[99; 100) + NAME_REF@[99; 100) + IDENT@[99; 100) "S" + WHITESPACE@[100; 101) + BLOCK@[101; 103) + L_CURLY@[101; 102) + R_CURLY@[102; 103) + SEMI@[103; 104) + WHITESPACE@[104; 105) + R_CURLY@[105; 106) + WHITESPACE@[106; 107) diff --git a/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.rs new file mode 100644 index 000000000..c20d29751 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.rs @@ -0,0 +1,6 @@ +fn foo() { + || (); + || -> i32 { 92 }; + |x| x; + move |x: i32,| x; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.txt new file mode 100644 index 000000000..82aaf3897 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.txt @@ -0,0 +1,95 @@ +ROOT@[0; 79) + FN_DEF@[0; 78) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 78) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 21) + LAMBDA_EXPR@[15; 20) + PARAM_LIST@[15; 17) + PIPE@[15; 16) + PIPE@[16; 17) + WHITESPACE@[17; 18) + TUPLE_EXPR@[18; 20) + L_PAREN@[18; 19) + R_PAREN@[19; 20) + SEMI@[20; 21) + WHITESPACE@[21; 26) + EXPR_STMT@[26; 43) + LAMBDA_EXPR@[26; 42) + PARAM_LIST@[26; 28) + PIPE@[26; 27) + PIPE@[27; 28) + WHITESPACE@[28; 29) + RET_TYPE@[29; 35) + THIN_ARROW@[29; 31) + WHITESPACE@[31; 32) + PATH_TYPE@[32; 35) + PATH@[32; 35) + PATH_SEGMENT@[32; 35) + NAME_REF@[32; 35) + IDENT@[32; 35) "i32" + WHITESPACE@[35; 36) + BLOCK_EXPR@[36; 42) + BLOCK@[36; 42) + L_CURLY@[36; 37) + WHITESPACE@[37; 38) + LITERAL@[38; 40) + INT_NUMBER@[38; 40) "92" + WHITESPACE@[40; 41) + R_CURLY@[41; 42) + SEMI@[42; 43) + WHITESPACE@[43; 48) + EXPR_STMT@[48; 54) + LAMBDA_EXPR@[48; 53) + PARAM_LIST@[48; 51) + PIPE@[48; 49) + PARAM@[49; 50) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + PIPE@[50; 51) + WHITESPACE@[51; 52) + PATH_EXPR@[52; 53) + PATH@[52; 53) + PATH_SEGMENT@[52; 53) + NAME_REF@[52; 53) + IDENT@[52; 53) "x" + SEMI@[53; 54) + WHITESPACE@[54; 59) + EXPR_STMT@[59; 76) + LAMBDA_EXPR@[59; 75) + MOVE_KW@[59; 63) + WHITESPACE@[63; 64) + PARAM_LIST@[64; 73) + PIPE@[64; 65) + PARAM@[65; 71) + BIND_PAT@[65; 66) + NAME@[65; 66) + IDENT@[65; 66) "x" + COLON@[66; 67) + WHITESPACE@[67; 68) + PATH_TYPE@[68; 71) + PATH@[68; 71) + PATH_SEGMENT@[68; 71) + NAME_REF@[68; 71) + IDENT@[68; 71) "i32" + COMMA@[71; 72) + PIPE@[72; 73) + WHITESPACE@[73; 74) + PATH_EXPR@[74; 75) + PATH@[74; 75) + PATH_SEGMENT@[74; 75) + NAME_REF@[74; 75) + IDENT@[74; 75) "x" + SEMI@[75; 76) + WHITESPACE@[76; 77) + R_CURLY@[77; 78) + WHITESPACE@[78; 79) diff --git a/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.rs new file mode 100644 index 000000000..2fed74c5e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.rs @@ -0,0 +1,5 @@ +fn foo() { + {}; + unsafe {}; + 'label: {}; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.txt new file mode 100644 index 000000000..12a1ff49a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.txt @@ -0,0 +1,42 @@ +ROOT@[0; 52) + FN_DEF@[0; 51) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 51) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 18) + BLOCK_EXPR@[15; 17) + BLOCK@[15; 17) + L_CURLY@[15; 16) + R_CURLY@[16; 17) + SEMI@[17; 18) + WHITESPACE@[18; 23) + EXPR_STMT@[23; 33) + BLOCK_EXPR@[23; 32) + UNSAFE_KW@[23; 29) + WHITESPACE@[29; 30) + BLOCK@[30; 32) + L_CURLY@[30; 31) + R_CURLY@[31; 32) + SEMI@[32; 33) + WHITESPACE@[33; 38) + EXPR_STMT@[38; 49) + BLOCK_EXPR@[38; 48) + LABEL@[38; 45) + LIFETIME@[38; 44) "'label" + COLON@[44; 45) + WHITESPACE@[45; 46) + BLOCK@[46; 48) + L_CURLY@[46; 47) + R_CURLY@[47; 48) + SEMI@[48; 49) + WHITESPACE@[49; 50) + R_CURLY@[50; 51) + WHITESPACE@[51; 52) diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.rs new file mode 100644 index 000000000..d9d99d2d3 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.rs @@ -0,0 +1 @@ +fn foo() { pub 92; } //FIXME diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.txt new file mode 100644 index 000000000..5f179c3ca --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.txt @@ -0,0 +1,25 @@ +ROOT@[0; 29) + FN_DEF@[0; 20) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 20) + L_CURLY@[9; 10) + WHITESPACE@[10; 11) + EXPR_STMT@[11; 18) + VISIBILITY@[11; 14) + PUB_KW@[11; 14) + WHITESPACE@[14; 15) + LITERAL@[15; 17) + INT_NUMBER@[15; 17) "92" + SEMI@[17; 18) + WHITESPACE@[18; 19) + R_CURLY@[19; 20) + WHITESPACE@[20; 21) + COMMENT@[21; 28) + WHITESPACE@[28; 29) diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.rs new file mode 100644 index 000000000..5733666b6 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.rs @@ -0,0 +1,4 @@ +fn foo() { + return; + return 92; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.txt new file mode 100644 index 000000000..ead1ada96 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.txt @@ -0,0 +1,28 @@ +ROOT@[0; 40) + FN_DEF@[0; 39) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 39) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 22) + RETURN_EXPR@[15; 21) + RETURN_KW@[15; 21) + SEMI@[21; 22) + WHITESPACE@[22; 27) + EXPR_STMT@[27; 37) + RETURN_EXPR@[27; 36) + RETURN_KW@[27; 33) + WHITESPACE@[33; 34) + LITERAL@[34; 36) + INT_NUMBER@[34; 36) "92" + SEMI@[36; 37) + WHITESPACE@[37; 38) + R_CURLY@[38; 39) + WHITESPACE@[39; 40) diff --git a/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.rs b/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.rs new file mode 100644 index 000000000..2c0e88414 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.rs @@ -0,0 +1,6 @@ +fn foo() { + match () { + _ => (), + X | Y if Z => (), + }; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt b/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt new file mode 100644 index 000000000..013d1716a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt @@ -0,0 +1,66 @@ +ROOT@[0; 78) + FN_DEF@[0; 77) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 77) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 75) + MATCH_EXPR@[15; 74) + MATCH_KW@[15; 20) + WHITESPACE@[20; 21) + TUPLE_EXPR@[21; 23) + L_PAREN@[21; 22) + R_PAREN@[22; 23) + WHITESPACE@[23; 24) + MATCH_ARM_LIST@[24; 74) + L_CURLY@[24; 25) + WHITESPACE@[25; 34) + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) + WHITESPACE@[35; 36) + FAT_ARROW@[36; 38) + WHITESPACE@[38; 39) + TUPLE_EXPR@[39; 41) + L_PAREN@[39; 40) + R_PAREN@[40; 41) + COMMA@[41; 42) + WHITESPACE@[42; 51) + MATCH_ARM@[51; 67) + BIND_PAT@[51; 52) + NAME@[51; 52) + IDENT@[51; 52) "X" + WHITESPACE@[52; 53) + PIPE@[53; 54) + WHITESPACE@[54; 55) + BIND_PAT@[55; 56) + NAME@[55; 56) + IDENT@[55; 56) "Y" + WHITESPACE@[56; 57) + IF_KW@[57; 59) + WHITESPACE@[59; 60) + PATH_EXPR@[60; 61) + PATH@[60; 61) + PATH_SEGMENT@[60; 61) + NAME_REF@[60; 61) + IDENT@[60; 61) "Z" + WHITESPACE@[61; 62) + FAT_ARROW@[62; 64) + WHITESPACE@[64; 65) + TUPLE_EXPR@[65; 67) + L_PAREN@[65; 66) + R_PAREN@[66; 67) + COMMA@[67; 68) + WHITESPACE@[68; 73) + R_CURLY@[73; 74) + SEMI@[74; 75) + WHITESPACE@[75; 76) + R_CURLY@[76; 77) + WHITESPACE@[77; 78) diff --git a/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.rs new file mode 100644 index 000000000..c9205dfa3 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.rs @@ -0,0 +1,4 @@ +fn foo() { + match () { }; + match S {}; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.txt new file mode 100644 index 000000000..d7740e3cc --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.txt @@ -0,0 +1,44 @@ +ROOT@[0; 47) + FN_DEF@[0; 46) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 46) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 28) + MATCH_EXPR@[15; 27) + MATCH_KW@[15; 20) + WHITESPACE@[20; 21) + TUPLE_EXPR@[21; 23) + L_PAREN@[21; 22) + R_PAREN@[22; 23) + WHITESPACE@[23; 24) + MATCH_ARM_LIST@[24; 27) + L_CURLY@[24; 25) + WHITESPACE@[25; 26) + R_CURLY@[26; 27) + SEMI@[27; 28) + WHITESPACE@[28; 33) + EXPR_STMT@[33; 44) + MATCH_EXPR@[33; 43) + MATCH_KW@[33; 38) + WHITESPACE@[38; 39) + PATH_EXPR@[39; 40) + PATH@[39; 40) + PATH_SEGMENT@[39; 40) + NAME_REF@[39; 40) + IDENT@[39; 40) "S" + WHITESPACE@[40; 41) + MATCH_ARM_LIST@[41; 43) + L_CURLY@[41; 42) + R_CURLY@[42; 43) + SEMI@[43; 44) + WHITESPACE@[44; 45) + R_CURLY@[45; 46) + WHITESPACE@[46; 47) diff --git a/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.rs b/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.rs new file mode 100644 index 000000000..0dfe63629 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.rs @@ -0,0 +1,6 @@ +fn foo() { + let S() = (); + let S(_) = (); + let S(_,) = (); + let S(_, .. , x) = (); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.txt b/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.txt new file mode 100644 index 000000000..734e0726c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.txt @@ -0,0 +1,103 @@ +ROOT@[0; 97) + FN_DEF@[0; 96) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 96) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 28) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + TUPLE_STRUCT_PAT@[19; 22) + PATH@[19; 20) + PATH_SEGMENT@[19; 20) + NAME_REF@[19; 20) + IDENT@[19; 20) "S" + L_PAREN@[20; 21) + R_PAREN@[21; 22) + WHITESPACE@[22; 23) + EQ@[23; 24) + WHITESPACE@[24; 25) + TUPLE_EXPR@[25; 27) + L_PAREN@[25; 26) + R_PAREN@[26; 27) + SEMI@[27; 28) + WHITESPACE@[28; 33) + LET_STMT@[33; 47) + LET_KW@[33; 36) + WHITESPACE@[36; 37) + TUPLE_STRUCT_PAT@[37; 41) + PATH@[37; 38) + PATH_SEGMENT@[37; 38) + NAME_REF@[37; 38) + IDENT@[37; 38) "S" + L_PAREN@[38; 39) + PLACEHOLDER_PAT@[39; 40) + UNDERSCORE@[39; 40) + R_PAREN@[40; 41) + WHITESPACE@[41; 42) + EQ@[42; 43) + WHITESPACE@[43; 44) + TUPLE_EXPR@[44; 46) + L_PAREN@[44; 45) + R_PAREN@[45; 46) + SEMI@[46; 47) + WHITESPACE@[47; 52) + LET_STMT@[52; 67) + LET_KW@[52; 55) + WHITESPACE@[55; 56) + TUPLE_STRUCT_PAT@[56; 61) + PATH@[56; 57) + PATH_SEGMENT@[56; 57) + NAME_REF@[56; 57) + IDENT@[56; 57) "S" + L_PAREN@[57; 58) + PLACEHOLDER_PAT@[58; 59) + UNDERSCORE@[58; 59) + COMMA@[59; 60) + R_PAREN@[60; 61) + WHITESPACE@[61; 62) + EQ@[62; 63) + WHITESPACE@[63; 64) + TUPLE_EXPR@[64; 66) + L_PAREN@[64; 65) + R_PAREN@[65; 66) + SEMI@[66; 67) + WHITESPACE@[67; 72) + LET_STMT@[72; 94) + LET_KW@[72; 75) + WHITESPACE@[75; 76) + TUPLE_STRUCT_PAT@[76; 88) + PATH@[76; 77) + PATH_SEGMENT@[76; 77) + NAME_REF@[76; 77) + IDENT@[76; 77) "S" + L_PAREN@[77; 78) + PLACEHOLDER_PAT@[78; 79) + UNDERSCORE@[78; 79) + COMMA@[79; 80) + WHITESPACE@[80; 81) + DOTDOT@[81; 83) + WHITESPACE@[83; 84) + COMMA@[84; 85) + WHITESPACE@[85; 86) + BIND_PAT@[86; 87) + NAME@[86; 87) + IDENT@[86; 87) "x" + R_PAREN@[87; 88) + WHITESPACE@[88; 89) + EQ@[89; 90) + WHITESPACE@[90; 91) + TUPLE_EXPR@[91; 93) + L_PAREN@[91; 92) + R_PAREN@[92; 93) + SEMI@[93; 94) + WHITESPACE@[94; 95) + R_CURLY@[95; 96) + WHITESPACE@[96; 97) diff --git a/crates/ra_syntax/tests/data/parser/inline/0072_path_part.rs b/crates/ra_syntax/tests/data/parser/inline/0072_path_part.rs new file mode 100644 index 000000000..f6e32c7c1 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0072_path_part.rs @@ -0,0 +1,6 @@ +fn foo() { + let foo::Bar = (); + let ::Bar = (); + let Bar { .. } = (); + let Bar(..) = (); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0072_path_part.txt b/crates/ra_syntax/tests/data/parser/inline/0072_path_part.txt new file mode 100644 index 000000000..1a8d1546d --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0072_path_part.txt @@ -0,0 +1,95 @@ +ROOT@[0; 103) + FN_DEF@[0; 102) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 102) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 33) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + PATH_PAT@[19; 27) + PATH@[19; 27) + PATH@[19; 22) + PATH_SEGMENT@[19; 22) + NAME_REF@[19; 22) + IDENT@[19; 22) "foo" + COLONCOLON@[22; 24) + PATH_SEGMENT@[24; 27) + NAME_REF@[24; 27) + IDENT@[24; 27) "Bar" + WHITESPACE@[27; 28) + EQ@[28; 29) + WHITESPACE@[29; 30) + TUPLE_EXPR@[30; 32) + L_PAREN@[30; 31) + R_PAREN@[31; 32) + SEMI@[32; 33) + WHITESPACE@[33; 38) + LET_STMT@[38; 53) + LET_KW@[38; 41) + WHITESPACE@[41; 42) + PATH_PAT@[42; 47) + PATH@[42; 47) + PATH_SEGMENT@[42; 47) + COLONCOLON@[42; 44) + NAME_REF@[44; 47) + IDENT@[44; 47) "Bar" + WHITESPACE@[47; 48) + EQ@[48; 49) + WHITESPACE@[49; 50) + TUPLE_EXPR@[50; 52) + L_PAREN@[50; 51) + R_PAREN@[51; 52) + SEMI@[52; 53) + WHITESPACE@[53; 58) + LET_STMT@[58; 78) + LET_KW@[58; 61) + WHITESPACE@[61; 62) + STRUCT_PAT@[62; 72) + PATH@[62; 65) + PATH_SEGMENT@[62; 65) + NAME_REF@[62; 65) + IDENT@[62; 65) "Bar" + WHITESPACE@[65; 66) + FIELD_PAT_LIST@[66; 72) + L_CURLY@[66; 67) + WHITESPACE@[67; 68) + DOTDOT@[68; 70) + WHITESPACE@[70; 71) + R_CURLY@[71; 72) + WHITESPACE@[72; 73) + EQ@[73; 74) + WHITESPACE@[74; 75) + TUPLE_EXPR@[75; 77) + L_PAREN@[75; 76) + R_PAREN@[76; 77) + SEMI@[77; 78) + WHITESPACE@[78; 83) + LET_STMT@[83; 100) + LET_KW@[83; 86) + WHITESPACE@[86; 87) + TUPLE_STRUCT_PAT@[87; 94) + PATH@[87; 90) + PATH_SEGMENT@[87; 90) + NAME_REF@[87; 90) + IDENT@[87; 90) "Bar" + L_PAREN@[90; 91) + DOTDOT@[91; 93) + R_PAREN@[93; 94) + WHITESPACE@[94; 95) + EQ@[95; 96) + WHITESPACE@[96; 97) + TUPLE_EXPR@[97; 99) + L_PAREN@[97; 98) + R_PAREN@[98; 99) + SEMI@[99; 100) + WHITESPACE@[100; 101) + R_CURLY@[101; 102) + WHITESPACE@[102; 103) diff --git a/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.rs b/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.rs new file mode 100644 index 000000000..f10851487 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.rs @@ -0,0 +1,6 @@ +impl F { + type A = i32; + const B: i32 = 92; + fn foo() {} + fn bar(&self) {} +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.txt b/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.txt new file mode 100644 index 000000000..1f524f34a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.txt @@ -0,0 +1,78 @@ +ROOT@[0; 89) + IMPL_ITEM@[0; 88) + IMPL_KW@[0; 4) + WHITESPACE@[4; 5) + PATH_TYPE@[5; 6) + PATH@[5; 6) + PATH_SEGMENT@[5; 6) + NAME_REF@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) + ITEM_LIST@[7; 88) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + TYPE_DEF@[13; 26) + TYPE_KW@[13; 17) + WHITESPACE@[17; 18) + NAME@[18; 19) + IDENT@[18; 19) "A" + WHITESPACE@[19; 20) + EQ@[20; 21) + WHITESPACE@[21; 22) + PATH_TYPE@[22; 25) + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "i32" + SEMI@[25; 26) + WHITESPACE@[26; 31) + CONST_DEF@[31; 49) + CONST_KW@[31; 36) + WHITESPACE@[36; 37) + NAME@[37; 38) + IDENT@[37; 38) "B" + COLON@[38; 39) + WHITESPACE@[39; 40) + PATH_TYPE@[40; 43) + PATH@[40; 43) + PATH_SEGMENT@[40; 43) + NAME_REF@[40; 43) + IDENT@[40; 43) "i32" + WHITESPACE@[43; 44) + EQ@[44; 45) + WHITESPACE@[45; 46) + LITERAL@[46; 48) + INT_NUMBER@[46; 48) "92" + SEMI@[48; 49) + WHITESPACE@[49; 54) + FN_DEF@[54; 65) + FN_KW@[54; 56) + WHITESPACE@[56; 57) + NAME@[57; 60) + IDENT@[57; 60) "foo" + PARAM_LIST@[60; 62) + L_PAREN@[60; 61) + R_PAREN@[61; 62) + WHITESPACE@[62; 63) + BLOCK@[63; 65) + L_CURLY@[63; 64) + R_CURLY@[64; 65) + WHITESPACE@[65; 70) + FN_DEF@[70; 86) + FN_KW@[70; 72) + WHITESPACE@[72; 73) + NAME@[73; 76) + IDENT@[73; 76) "bar" + PARAM_LIST@[76; 83) + L_PAREN@[76; 77) + SELF_PARAM@[77; 82) + AMP@[77; 78) + SELF_KW@[78; 82) + R_PAREN@[82; 83) + WHITESPACE@[83; 84) + BLOCK@[84; 86) + L_CURLY@[84; 85) + R_CURLY@[85; 86) + WHITESPACE@[86; 87) + R_CURLY@[87; 88) + WHITESPACE@[88; 89) diff --git a/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.rs new file mode 100644 index 000000000..f1c3f7118 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.rs @@ -0,0 +1,5 @@ +fn foo() { + **&1; + !!true; + --1; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.txt new file mode 100644 index 000000000..4d77c8c11 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.txt @@ -0,0 +1,44 @@ +ROOT@[0; 44) + FN_DEF@[0; 43) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 43) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 20) + PREFIX_EXPR@[15; 19) + STAR@[15; 16) + PREFIX_EXPR@[16; 19) + STAR@[16; 17) + REF_EXPR@[17; 19) + AMP@[17; 18) + LITERAL@[18; 19) + INT_NUMBER@[18; 19) "1" + SEMI@[19; 20) + WHITESPACE@[20; 25) + EXPR_STMT@[25; 32) + PREFIX_EXPR@[25; 31) + EXCL@[25; 26) + PREFIX_EXPR@[26; 31) + EXCL@[26; 27) + LITERAL@[27; 31) + TRUE_KW@[27; 31) + SEMI@[31; 32) + WHITESPACE@[32; 37) + EXPR_STMT@[37; 41) + PREFIX_EXPR@[37; 40) + MINUS@[37; 38) + PREFIX_EXPR@[38; 40) + MINUS@[38; 39) + LITERAL@[39; 40) + INT_NUMBER@[39; 40) "1" + SEMI@[40; 41) + WHITESPACE@[41; 42) + R_CURLY@[42; 43) + WHITESPACE@[43; 44) diff --git a/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.rs new file mode 100644 index 000000000..8b74f7bc8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.rs @@ -0,0 +1,3 @@ +fn foo() { + x?; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.txt new file mode 100644 index 000000000..b80235146 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.txt @@ -0,0 +1,25 @@ +ROOT@[0; 21) + FN_DEF@[0; 20) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 20) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 18) + TRY_EXPR@[15; 17) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + QUESTION@[16; 17) + SEMI@[17; 18) + WHITESPACE@[18; 19) + R_CURLY@[19; 20) + WHITESPACE@[20; 21) diff --git a/crates/ra_syntax/tests/data/parser/inline/0076_cond.rs b/crates/ra_syntax/tests/data/parser/inline/0076_cond.rs new file mode 100644 index 000000000..fdb37ee6f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0076_cond.rs @@ -0,0 +1 @@ +fn foo() { if let Some(_) = None {} } diff --git a/crates/ra_syntax/tests/data/parser/inline/0076_cond.txt b/crates/ra_syntax/tests/data/parser/inline/0076_cond.txt new file mode 100644 index 000000000..1808f10fb --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0076_cond.txt @@ -0,0 +1,43 @@ +ROOT@[0; 38) + FN_DEF@[0; 37) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 37) + L_CURLY@[9; 10) + WHITESPACE@[10; 11) + IF_EXPR@[11; 35) + IF_KW@[11; 13) + WHITESPACE@[13; 14) + CONDITION@[14; 32) + LET_KW@[14; 17) + WHITESPACE@[17; 18) + TUPLE_STRUCT_PAT@[18; 25) + PATH@[18; 22) + PATH_SEGMENT@[18; 22) + NAME_REF@[18; 22) + IDENT@[18; 22) "Some" + L_PAREN@[22; 23) + PLACEHOLDER_PAT@[23; 24) + UNDERSCORE@[23; 24) + R_PAREN@[24; 25) + WHITESPACE@[25; 26) + EQ@[26; 27) + WHITESPACE@[27; 28) + PATH_EXPR@[28; 32) + PATH@[28; 32) + PATH_SEGMENT@[28; 32) + NAME_REF@[28; 32) + IDENT@[28; 32) "None" + WHITESPACE@[32; 33) + BLOCK@[33; 35) + L_CURLY@[33; 34) + R_CURLY@[34; 35) + WHITESPACE@[35; 36) + R_CURLY@[36; 37) + WHITESPACE@[37; 38) diff --git a/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.rs new file mode 100644 index 000000000..293046a04 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.rs @@ -0,0 +1,4 @@ +fn foo() { + while true {}; + while let Some(x) = it.next() {}; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.txt new file mode 100644 index 000000000..c73157c04 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.txt @@ -0,0 +1,66 @@ +ROOT@[0; 70) + FN_DEF@[0; 69) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 69) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 29) + WHILE_EXPR@[15; 28) + WHILE_KW@[15; 20) + WHITESPACE@[20; 21) + CONDITION@[21; 25) + LITERAL@[21; 25) + TRUE_KW@[21; 25) + WHITESPACE@[25; 26) + BLOCK@[26; 28) + L_CURLY@[26; 27) + R_CURLY@[27; 28) + SEMI@[28; 29) + WHITESPACE@[29; 34) + EXPR_STMT@[34; 67) + WHILE_EXPR@[34; 66) + WHILE_KW@[34; 39) + WHITESPACE@[39; 40) + CONDITION@[40; 63) + LET_KW@[40; 43) + WHITESPACE@[43; 44) + TUPLE_STRUCT_PAT@[44; 51) + PATH@[44; 48) + PATH_SEGMENT@[44; 48) + NAME_REF@[44; 48) + IDENT@[44; 48) "Some" + L_PAREN@[48; 49) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + R_PAREN@[50; 51) + WHITESPACE@[51; 52) + EQ@[52; 53) + WHITESPACE@[53; 54) + METHOD_CALL_EXPR@[54; 63) + PATH_EXPR@[54; 56) + PATH@[54; 56) + PATH_SEGMENT@[54; 56) + NAME_REF@[54; 56) + IDENT@[54; 56) "it" + DOT@[56; 57) + NAME_REF@[57; 61) + IDENT@[57; 61) "next" + ARG_LIST@[61; 63) + L_PAREN@[61; 62) + R_PAREN@[62; 63) + WHITESPACE@[63; 64) + BLOCK@[64; 66) + L_CURLY@[64; 65) + R_CURLY@[65; 66) + SEMI@[66; 67) + WHITESPACE@[67; 68) + R_CURLY@[68; 69) + WHITESPACE@[69; 70) diff --git a/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.rs b/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.rs new file mode 100644 index 000000000..24a15c5c5 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.rs @@ -0,0 +1,5 @@ +fn foo() {} +macro_rules! foo {} +foo::bar!(); +super::baz! {} +struct S; diff --git a/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.txt b/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.txt new file mode 100644 index 000000000..57b2b9372 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.txt @@ -0,0 +1,65 @@ +ROOT@[0; 70) + FN_DEF@[0; 11) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 11) + L_CURLY@[9; 10) + R_CURLY@[10; 11) + WHITESPACE@[11; 12) + MACRO_CALL@[12; 31) + PATH@[12; 23) + PATH_SEGMENT@[12; 23) + NAME_REF@[12; 23) + IDENT@[12; 23) "macro_rules" + EXCL@[23; 24) + WHITESPACE@[24; 25) + IDENT@[25; 28) "foo" + WHITESPACE@[28; 29) + TOKEN_TREE@[29; 31) + L_CURLY@[29; 30) + R_CURLY@[30; 31) + WHITESPACE@[31; 32) + MACRO_CALL@[32; 44) + PATH@[32; 40) + PATH@[32; 35) + PATH_SEGMENT@[32; 35) + NAME_REF@[32; 35) + IDENT@[32; 35) "foo" + COLONCOLON@[35; 37) + PATH_SEGMENT@[37; 40) + NAME_REF@[37; 40) + IDENT@[37; 40) "bar" + EXCL@[40; 41) + TOKEN_TREE@[41; 43) + L_PAREN@[41; 42) + R_PAREN@[42; 43) + SEMI@[43; 44) + WHITESPACE@[44; 45) + MACRO_CALL@[45; 59) + PATH@[45; 55) + PATH@[45; 50) + PATH_SEGMENT@[45; 50) + SUPER_KW@[45; 50) + COLONCOLON@[50; 52) + PATH_SEGMENT@[52; 55) + NAME_REF@[52; 55) + IDENT@[52; 55) "baz" + EXCL@[55; 56) + WHITESPACE@[56; 57) + TOKEN_TREE@[57; 59) + L_CURLY@[57; 58) + R_CURLY@[58; 59) + WHITESPACE@[59; 60) + STRUCT_DEF@[60; 69) + STRUCT_KW@[60; 66) + WHITESPACE@[66; 67) + NAME@[67; 68) + IDENT@[67; 68) "S" + SEMI@[68; 69) + WHITESPACE@[69; 70) diff --git a/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.rs new file mode 100644 index 000000000..3e53d56d6 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.rs @@ -0,0 +1,3 @@ +fn foo() { + 82 as i32; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.txt new file mode 100644 index 000000000..6d57078b3 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.txt @@ -0,0 +1,29 @@ +ROOT@[0; 28) + FN_DEF@[0; 27) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 27) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 25) + CAST_EXPR@[15; 24) + LITERAL@[15; 17) + INT_NUMBER@[15; 17) "82" + WHITESPACE@[17; 18) + AS_KW@[18; 20) + WHITESPACE@[20; 21) + PATH_TYPE@[21; 24) + PATH@[21; 24) + PATH_SEGMENT@[21; 24) + NAME_REF@[21; 24) + IDENT@[21; 24) "i32" + SEMI@[24; 25) + WHITESPACE@[25; 26) + R_CURLY@[26; 27) + WHITESPACE@[27; 28) diff --git a/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.rs new file mode 100644 index 000000000..e4f774280 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.rs @@ -0,0 +1,5 @@ +fn foo() { + (); + (1); + (1,); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.txt new file mode 100644 index 000000000..cf541411f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.txt @@ -0,0 +1,38 @@ +ROOT@[0; 40) + FN_DEF@[0; 39) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 39) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 18) + TUPLE_EXPR@[15; 17) + L_PAREN@[15; 16) + R_PAREN@[16; 17) + SEMI@[17; 18) + WHITESPACE@[18; 23) + EXPR_STMT@[23; 27) + PAREN_EXPR@[23; 26) + L_PAREN@[23; 24) + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + R_PAREN@[25; 26) + SEMI@[26; 27) + WHITESPACE@[27; 32) + EXPR_STMT@[32; 37) + TUPLE_EXPR@[32; 36) + L_PAREN@[32; 33) + LITERAL@[33; 34) + INT_NUMBER@[33; 34) "1" + COMMA@[34; 35) + R_PAREN@[35; 36) + SEMI@[36; 37) + WHITESPACE@[37; 38) + R_CURLY@[38; 39) + WHITESPACE@[39; 40) diff --git a/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.rs new file mode 100644 index 000000000..b9ba78a6c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.rs @@ -0,0 +1,3 @@ +fn foo() { + x[1][2]; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.txt new file mode 100644 index 000000000..4624aab23 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.txt @@ -0,0 +1,33 @@ +ROOT@[0; 26) + FN_DEF@[0; 25) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 25) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 23) + INDEX_EXPR@[15; 22) + INDEX_EXPR@[15; 19) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + L_BRACK@[16; 17) + LITERAL@[17; 18) + INT_NUMBER@[17; 18) "1" + R_BRACK@[18; 19) + L_BRACK@[19; 20) + LITERAL@[20; 21) + INT_NUMBER@[20; 21) "2" + R_BRACK@[21; 22) + SEMI@[22; 23) + WHITESPACE@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) diff --git a/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.rs b/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.rs new file mode 100644 index 000000000..f785acd36 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.rs @@ -0,0 +1,3 @@ +fn main() { + let (a, b, ..) = (); +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.txt b/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.txt new file mode 100644 index 000000000..2d68a5ff2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.txt @@ -0,0 +1,40 @@ +ROOT@[0; 39) + FN_DEF@[0; 38) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 38) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + LET_STMT@[16; 36) + LET_KW@[16; 19) + WHITESPACE@[19; 20) + TUPLE_PAT@[20; 30) + L_PAREN@[20; 21) + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + COMMA@[22; 23) + WHITESPACE@[23; 24) + BIND_PAT@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "b" + COMMA@[25; 26) + WHITESPACE@[26; 27) + DOTDOT@[27; 29) + R_PAREN@[29; 30) + WHITESPACE@[30; 31) + EQ@[31; 32) + WHITESPACE@[32; 33) + TUPLE_EXPR@[33; 35) + L_PAREN@[33; 34) + R_PAREN@[34; 35) + SEMI@[35; 36) + WHITESPACE@[36; 37) + R_CURLY@[37; 38) + WHITESPACE@[38; 39) diff --git a/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.rs b/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.rs new file mode 100644 index 000000000..c39fe8e68 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.rs @@ -0,0 +1 @@ +fn foo() { let x = 1..; } diff --git a/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.txt b/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.txt new file mode 100644 index 000000000..475251ea7 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.txt @@ -0,0 +1,30 @@ +ROOT@[0; 26) + FN_DEF@[0; 25) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 25) + L_CURLY@[9; 10) + WHITESPACE@[10; 11) + LET_STMT@[11; 23) + LET_KW@[11; 14) + WHITESPACE@[14; 15) + BIND_PAT@[15; 16) + NAME@[15; 16) + IDENT@[15; 16) "x" + WHITESPACE@[16; 17) + EQ@[17; 18) + WHITESPACE@[18; 19) + RANGE_EXPR@[19; 22) + LITERAL@[19; 20) + INT_NUMBER@[19; 20) "1" + DOTDOT@[20; 22) + SEMI@[22; 23) + WHITESPACE@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) diff --git a/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.rs new file mode 100644 index 000000000..9f078fa48 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.rs @@ -0,0 +1,3 @@ +fn foo() { + loop {}; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.txt new file mode 100644 index 000000000..5321fade9 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.txt @@ -0,0 +1,24 @@ +ROOT@[0; 26) + FN_DEF@[0; 25) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 25) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 23) + LOOP_EXPR@[15; 22) + LOOP_KW@[15; 19) + WHITESPACE@[19; 20) + BLOCK@[20; 22) + L_CURLY@[20; 21) + R_CURLY@[21; 22) + SEMI@[22; 23) + WHITESPACE@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.rs new file mode 100644 index 000000000..972197d2a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.rs @@ -0,0 +1,3 @@ +fn foo() { + for x in [] {}; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.txt new file mode 100644 index 000000000..7ddf8122f --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.txt @@ -0,0 +1,34 @@ +ROOT@[0; 33) + FN_DEF@[0; 32) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 32) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 30) + FOR_EXPR@[15; 29) + FOR_KW@[15; 18) + WHITESPACE@[18; 19) + BIND_PAT@[19; 20) + NAME@[19; 20) + IDENT@[19; 20) "x" + WHITESPACE@[20; 21) + IN_KW@[21; 23) + WHITESPACE@[23; 24) + ARRAY_EXPR@[24; 26) + L_BRACK@[24; 25) + R_BRACK@[25; 26) + WHITESPACE@[26; 27) + BLOCK@[27; 29) + L_CURLY@[27; 28) + R_CURLY@[28; 29) + SEMI@[29; 30) + WHITESPACE@[30; 31) + R_CURLY@[31; 32) + WHITESPACE@[32; 33) diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.rs b/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.rs new file mode 100644 index 000000000..1f25d577a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.rs @@ -0,0 +1,7 @@ +fn foo() { + match () { + _ => (), + _ => {} + _ => () + } +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.txt b/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.txt new file mode 100644 index 000000000..560931645 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.txt @@ -0,0 +1,59 @@ +ROOT@[0; 83) + FN_DEF@[0; 82) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 82) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + MATCH_EXPR@[15; 80) + MATCH_KW@[15; 20) + WHITESPACE@[20; 21) + TUPLE_EXPR@[21; 23) + L_PAREN@[21; 22) + R_PAREN@[22; 23) + WHITESPACE@[23; 24) + MATCH_ARM_LIST@[24; 80) + L_CURLY@[24; 25) + WHITESPACE@[25; 34) + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) + WHITESPACE@[35; 36) + FAT_ARROW@[36; 38) + WHITESPACE@[38; 39) + TUPLE_EXPR@[39; 41) + L_PAREN@[39; 40) + R_PAREN@[40; 41) + COMMA@[41; 42) + WHITESPACE@[42; 51) + MATCH_ARM@[51; 58) + PLACEHOLDER_PAT@[51; 52) + UNDERSCORE@[51; 52) + WHITESPACE@[52; 53) + FAT_ARROW@[53; 55) + WHITESPACE@[55; 56) + BLOCK_EXPR@[56; 58) + BLOCK@[56; 58) + L_CURLY@[56; 57) + R_CURLY@[57; 58) + WHITESPACE@[58; 67) + MATCH_ARM@[67; 74) + PLACEHOLDER_PAT@[67; 68) + UNDERSCORE@[67; 68) + WHITESPACE@[68; 69) + FAT_ARROW@[69; 71) + WHITESPACE@[71; 72) + TUPLE_EXPR@[72; 74) + L_PAREN@[72; 73) + R_PAREN@[73; 74) + WHITESPACE@[74; 79) + R_CURLY@[79; 80) + WHITESPACE@[80; 81) + R_CURLY@[81; 82) + WHITESPACE@[82; 83) diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.rs new file mode 100644 index 000000000..4dc1999d1 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.rs @@ -0,0 +1,6 @@ +fn foo() { + []; + [1]; + [1, 2,]; + [1; 2]; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.txt new file mode 100644 index 000000000..dcdeff609 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.txt @@ -0,0 +1,54 @@ +ROOT@[0; 55) + FN_DEF@[0; 54) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 54) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 18) + ARRAY_EXPR@[15; 17) + L_BRACK@[15; 16) + R_BRACK@[16; 17) + SEMI@[17; 18) + WHITESPACE@[18; 23) + EXPR_STMT@[23; 27) + ARRAY_EXPR@[23; 26) + L_BRACK@[23; 24) + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + R_BRACK@[25; 26) + SEMI@[26; 27) + WHITESPACE@[27; 32) + EXPR_STMT@[32; 40) + ARRAY_EXPR@[32; 39) + L_BRACK@[32; 33) + LITERAL@[33; 34) + INT_NUMBER@[33; 34) "1" + COMMA@[34; 35) + WHITESPACE@[35; 36) + LITERAL@[36; 37) + INT_NUMBER@[36; 37) "2" + COMMA@[37; 38) + R_BRACK@[38; 39) + SEMI@[39; 40) + WHITESPACE@[40; 45) + EXPR_STMT@[45; 52) + ARRAY_EXPR@[45; 51) + L_BRACK@[45; 46) + LITERAL@[46; 47) + INT_NUMBER@[46; 47) "1" + SEMI@[47; 48) + WHITESPACE@[48; 49) + LITERAL@[49; 50) + INT_NUMBER@[49; 50) "2" + R_BRACK@[50; 51) + SEMI@[51; 52) + WHITESPACE@[52; 53) + R_CURLY@[53; 54) + WHITESPACE@[54; 55) diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.rs b/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.rs new file mode 100644 index 000000000..d769da43d --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.rs @@ -0,0 +1,9 @@ +fn foo() { + if true {} + loop {} + match () {} + while true {} + for _ in () {} + {} + {} +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.txt b/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.txt new file mode 100644 index 000000000..f1b0e2787 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.txt @@ -0,0 +1,87 @@ +ROOT@[0; 107) + FN_DEF@[0; 106) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 106) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 25) + IF_EXPR@[15; 25) + IF_KW@[15; 17) + WHITESPACE@[17; 18) + CONDITION@[18; 22) + LITERAL@[18; 22) + TRUE_KW@[18; 22) + WHITESPACE@[22; 23) + BLOCK@[23; 25) + L_CURLY@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 30) + EXPR_STMT@[30; 37) + LOOP_EXPR@[30; 37) + LOOP_KW@[30; 34) + WHITESPACE@[34; 35) + BLOCK@[35; 37) + L_CURLY@[35; 36) + R_CURLY@[36; 37) + WHITESPACE@[37; 42) + EXPR_STMT@[42; 53) + MATCH_EXPR@[42; 53) + MATCH_KW@[42; 47) + WHITESPACE@[47; 48) + TUPLE_EXPR@[48; 50) + L_PAREN@[48; 49) + R_PAREN@[49; 50) + WHITESPACE@[50; 51) + MATCH_ARM_LIST@[51; 53) + L_CURLY@[51; 52) + R_CURLY@[52; 53) + WHITESPACE@[53; 58) + EXPR_STMT@[58; 71) + WHILE_EXPR@[58; 71) + WHILE_KW@[58; 63) + WHITESPACE@[63; 64) + CONDITION@[64; 68) + LITERAL@[64; 68) + TRUE_KW@[64; 68) + WHITESPACE@[68; 69) + BLOCK@[69; 71) + L_CURLY@[69; 70) + R_CURLY@[70; 71) + WHITESPACE@[71; 76) + EXPR_STMT@[76; 90) + FOR_EXPR@[76; 90) + FOR_KW@[76; 79) + WHITESPACE@[79; 80) + PLACEHOLDER_PAT@[80; 81) + UNDERSCORE@[80; 81) + WHITESPACE@[81; 82) + IN_KW@[82; 84) + WHITESPACE@[84; 85) + TUPLE_EXPR@[85; 87) + L_PAREN@[85; 86) + R_PAREN@[86; 87) + WHITESPACE@[87; 88) + BLOCK@[88; 90) + L_CURLY@[88; 89) + R_CURLY@[89; 90) + WHITESPACE@[90; 95) + EXPR_STMT@[95; 97) + BLOCK_EXPR@[95; 97) + BLOCK@[95; 97) + L_CURLY@[95; 96) + R_CURLY@[96; 97) + WHITESPACE@[97; 102) + BLOCK_EXPR@[102; 104) + BLOCK@[102; 104) + L_CURLY@[102; 103) + R_CURLY@[103; 104) + WHITESPACE@[104; 105) + R_CURLY@[105; 106) + WHITESPACE@[106; 107) diff --git a/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.rs b/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.rs new file mode 100644 index 000000000..2edd578f9 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.rs @@ -0,0 +1,7 @@ +fn foo() { + match () { + _ => {} + () => {} + [] => {} + } +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt b/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt new file mode 100644 index 000000000..91edf3f84 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt @@ -0,0 +1,62 @@ +ROOT@[0; 84) + FN_DEF@[0; 83) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 83) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + MATCH_EXPR@[15; 81) + MATCH_KW@[15; 20) + WHITESPACE@[20; 21) + TUPLE_EXPR@[21; 23) + L_PAREN@[21; 22) + R_PAREN@[22; 23) + WHITESPACE@[23; 24) + MATCH_ARM_LIST@[24; 81) + L_CURLY@[24; 25) + WHITESPACE@[25; 34) + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) + WHITESPACE@[35; 36) + FAT_ARROW@[36; 38) + WHITESPACE@[38; 39) + BLOCK_EXPR@[39; 41) + BLOCK@[39; 41) + L_CURLY@[39; 40) + R_CURLY@[40; 41) + WHITESPACE@[41; 50) + MATCH_ARM@[50; 58) + TUPLE_PAT@[50; 52) + L_PAREN@[50; 51) + R_PAREN@[51; 52) + WHITESPACE@[52; 53) + FAT_ARROW@[53; 55) + WHITESPACE@[55; 56) + BLOCK_EXPR@[56; 58) + BLOCK@[56; 58) + L_CURLY@[56; 57) + R_CURLY@[57; 58) + WHITESPACE@[58; 67) + MATCH_ARM@[67; 75) + SLICE_PAT@[67; 69) + L_BRACK@[67; 68) + R_BRACK@[68; 69) + WHITESPACE@[69; 70) + FAT_ARROW@[70; 72) + WHITESPACE@[72; 73) + BLOCK_EXPR@[73; 75) + BLOCK@[73; 75) + L_CURLY@[73; 74) + R_CURLY@[74; 75) + WHITESPACE@[75; 80) + R_CURLY@[80; 81) + WHITESPACE@[81; 82) + R_CURLY@[82; 83) + WHITESPACE@[83; 84) diff --git a/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.rs b/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.rs new file mode 100644 index 000000000..37b843742 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.rs @@ -0,0 +1,4 @@ +fn foo() { + let _ = {1} & 2; + {1} &2; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt b/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt new file mode 100644 index 000000000..ff1298acb --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt @@ -0,0 +1,52 @@ +ROOT@[0; 46) + FN_DEF@[0; 45) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 45) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LET_STMT@[15; 31) + LET_KW@[15; 18) + WHITESPACE@[18; 19) + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) + WHITESPACE@[20; 21) + EQ@[21; 22) + WHITESPACE@[22; 23) + BIN_EXPR@[23; 30) + BLOCK_EXPR@[23; 26) + BLOCK@[23; 26) + L_CURLY@[23; 24) + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + R_CURLY@[25; 26) + WHITESPACE@[26; 27) + AMP@[27; 28) + WHITESPACE@[28; 29) + LITERAL@[29; 30) + INT_NUMBER@[29; 30) "2" + SEMI@[30; 31) + WHITESPACE@[31; 36) + EXPR_STMT@[36; 39) + BLOCK_EXPR@[36; 39) + BLOCK@[36; 39) + L_CURLY@[36; 37) + LITERAL@[37; 38) + INT_NUMBER@[37; 38) "1" + R_CURLY@[38; 39) + WHITESPACE@[39; 40) + EXPR_STMT@[40; 43) + REF_EXPR@[40; 42) + AMP@[40; 41) + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "2" + SEMI@[42; 43) + WHITESPACE@[43; 44) + R_CURLY@[44; 45) + WHITESPACE@[45; 46) diff --git a/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.rs b/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.rs new file mode 100644 index 000000000..7955973b9 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.rs @@ -0,0 +1,3 @@ +fn main() { + let [a, b, ..] = []; +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.txt b/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.txt new file mode 100644 index 000000000..99e8dd427 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.txt @@ -0,0 +1,40 @@ +ROOT@[0; 39) + FN_DEF@[0; 38) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 38) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + LET_STMT@[16; 36) + LET_KW@[16; 19) + WHITESPACE@[19; 20) + SLICE_PAT@[20; 30) + L_BRACK@[20; 21) + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + COMMA@[22; 23) + WHITESPACE@[23; 24) + BIND_PAT@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "b" + COMMA@[25; 26) + WHITESPACE@[26; 27) + DOTDOT@[27; 29) + R_BRACK@[29; 30) + WHITESPACE@[30; 31) + EQ@[31; 32) + WHITESPACE@[32; 33) + ARRAY_EXPR@[33; 35) + L_BRACK@[33; 34) + R_BRACK@[34; 35) + SEMI@[35; 36) + WHITESPACE@[36; 37) + R_CURLY@[37; 38) + WHITESPACE@[38; 39) diff --git a/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.rs b/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.rs new file mode 100644 index 000000000..c9f74f7f5 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.rs @@ -0,0 +1 @@ +trait T { fn foo(); } diff --git a/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.txt b/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.txt new file mode 100644 index 000000000..c35bc8428 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.txt @@ -0,0 +1,22 @@ +ROOT@[0; 22) + TRAIT_DEF@[0; 21) + TRAIT_KW@[0; 5) + WHITESPACE@[5; 6) + NAME@[6; 7) + IDENT@[6; 7) "T" + WHITESPACE@[7; 8) + ITEM_LIST@[8; 21) + L_CURLY@[8; 9) + WHITESPACE@[9; 10) + FN_DEF@[10; 19) + FN_KW@[10; 12) + WHITESPACE@[12; 13) + NAME@[13; 16) + IDENT@[13; 16) "foo" + PARAM_LIST@[16; 18) + L_PAREN@[16; 17) + R_PAREN@[17; 18) + SEMI@[18; 19) + WHITESPACE@[19; 20) + R_CURLY@[20; 21) + WHITESPACE@[21; 22) diff --git a/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.rs b/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.rs new file mode 100644 index 000000000..16f674d9d --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.rs @@ -0,0 +1,7 @@ +fn main() { + match () { + 92 => (), + 'c' => (), + "hello" => (), + } +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.txt b/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.txt new file mode 100644 index 000000000..3128bfd7d --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.txt @@ -0,0 +1,60 @@ +ROOT@[0; 95) + FN_DEF@[0; 94) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 94) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + MATCH_EXPR@[16; 92) + MATCH_KW@[16; 21) + WHITESPACE@[21; 22) + TUPLE_EXPR@[22; 24) + L_PAREN@[22; 23) + R_PAREN@[23; 24) + WHITESPACE@[24; 25) + MATCH_ARM_LIST@[25; 92) + L_CURLY@[25; 26) + WHITESPACE@[26; 35) + MATCH_ARM@[35; 43) + LITERAL@[35; 37) + INT_NUMBER@[35; 37) "92" + WHITESPACE@[37; 38) + FAT_ARROW@[38; 40) + WHITESPACE@[40; 41) + TUPLE_EXPR@[41; 43) + L_PAREN@[41; 42) + R_PAREN@[42; 43) + COMMA@[43; 44) + WHITESPACE@[44; 53) + MATCH_ARM@[53; 62) + LITERAL@[53; 56) + CHAR@[53; 56) + WHITESPACE@[56; 57) + FAT_ARROW@[57; 59) + WHITESPACE@[59; 60) + TUPLE_EXPR@[60; 62) + L_PAREN@[60; 61) + R_PAREN@[61; 62) + COMMA@[62; 63) + WHITESPACE@[63; 72) + MATCH_ARM@[72; 85) + LITERAL@[72; 79) + STRING@[72; 79) + WHITESPACE@[79; 80) + FAT_ARROW@[80; 82) + WHITESPACE@[82; 83) + TUPLE_EXPR@[83; 85) + L_PAREN@[83; 84) + R_PAREN@[84; 85) + COMMA@[85; 86) + WHITESPACE@[86; 91) + R_CURLY@[91; 92) + WHITESPACE@[92; 93) + R_CURLY@[93; 94) + WHITESPACE@[94; 95) diff --git a/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.rs b/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.rs new file mode 100644 index 000000000..aef45e561 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.rs @@ -0,0 +1 @@ +type F = Box ()>; diff --git a/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.txt b/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.txt new file mode 100644 index 000000000..26a690d3a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.txt @@ -0,0 +1,46 @@ +ROOT@[0; 32) + TYPE_DEF@[0; 31) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + PATH_TYPE@[9; 30) + PATH@[9; 30) + PATH_SEGMENT@[9; 30) + NAME_REF@[9; 12) + IDENT@[9; 12) "Box" + TYPE_ARG_LIST@[12; 30) + L_ANGLE@[12; 13) + TYPE_ARG@[13; 29) + PATH_TYPE@[13; 29) + PATH@[13; 29) + PATH_SEGMENT@[13; 29) + NAME_REF@[13; 15) + IDENT@[13; 15) "Fn" + PARAM_LIST@[15; 23) + L_PAREN@[15; 16) + PARAM@[16; 22) + BIND_PAT@[16; 17) + NAME@[16; 17) + IDENT@[16; 17) "x" + COLON@[17; 18) + WHITESPACE@[18; 19) + PATH_TYPE@[19; 22) + PATH@[19; 22) + PATH_SEGMENT@[19; 22) + NAME_REF@[19; 22) + IDENT@[19; 22) "i32" + R_PAREN@[22; 23) + WHITESPACE@[23; 24) + RET_TYPE@[24; 29) + THIN_ARROW@[24; 26) + WHITESPACE@[26; 27) + TUPLE_TYPE@[27; 29) + L_PAREN@[27; 28) + R_PAREN@[28; 29) + R_ANGLE@[29; 30) + SEMI@[30; 31) + WHITESPACE@[31; 32) diff --git a/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.rs b/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.rs new file mode 100644 index 000000000..657467e75 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.rs @@ -0,0 +1,3 @@ +fn main() { + match 92 { 0 ... 100 => () } +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.txt b/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.txt new file mode 100644 index 000000000..4f14d5431 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.txt @@ -0,0 +1,42 @@ +ROOT@[0; 47) + FN_DEF@[0; 46) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 46) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + MATCH_EXPR@[16; 44) + MATCH_KW@[16; 21) + WHITESPACE@[21; 22) + LITERAL@[22; 24) + INT_NUMBER@[22; 24) "92" + WHITESPACE@[24; 25) + MATCH_ARM_LIST@[25; 44) + L_CURLY@[25; 26) + WHITESPACE@[26; 27) + MATCH_ARM@[27; 42) + RANGE_PAT@[27; 36) + LITERAL@[27; 28) + INT_NUMBER@[27; 28) "0" + WHITESPACE@[28; 29) + DOTDOTDOT@[29; 32) + WHITESPACE@[32; 33) + LITERAL@[33; 36) + INT_NUMBER@[33; 36) "100" + WHITESPACE@[36; 37) + FAT_ARROW@[37; 39) + WHITESPACE@[39; 40) + TUPLE_EXPR@[40; 42) + L_PAREN@[40; 41) + R_PAREN@[41; 42) + WHITESPACE@[42; 43) + R_CURLY@[43; 44) + WHITESPACE@[44; 45) + R_CURLY@[45; 46) + WHITESPACE@[46; 47) diff --git a/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.rs b/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.rs new file mode 100644 index 000000000..215210e27 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.rs @@ -0,0 +1 @@ +fn foo() -> Box {} diff --git a/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.txt b/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.txt new file mode 100644 index 000000000..4b864f741 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.txt @@ -0,0 +1,36 @@ +ROOT@[0; 27) + FN_DEF@[0; 26) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + RET_TYPE@[9; 23) + THIN_ARROW@[9; 11) + WHITESPACE@[11; 12) + PATH_TYPE@[12; 23) + PATH@[12; 23) + PATH_SEGMENT@[12; 23) + NAME_REF@[12; 15) + IDENT@[12; 15) "Box" + TYPE_ARG_LIST@[15; 23) + L_ANGLE@[15; 16) + TYPE_ARG@[16; 22) + PATH_TYPE@[16; 22) + PATH@[16; 17) + PATH_SEGMENT@[16; 17) + NAME_REF@[16; 17) + IDENT@[16; 17) "T" + WHITESPACE@[17; 18) + PLUS@[18; 19) + WHITESPACE@[19; 20) + LIFETIME@[20; 22) "'f" + R_ANGLE@[22; 23) + WHITESPACE@[23; 24) + BLOCK@[24; 26) + L_CURLY@[24; 25) + R_CURLY@[25; 26) + WHITESPACE@[26; 27) diff --git a/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.rs b/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.rs new file mode 100644 index 000000000..d8c23c76a --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.rs @@ -0,0 +1 @@ +type F = Box; diff --git a/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.txt b/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.txt new file mode 100644 index 000000000..3c8352067 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.txt @@ -0,0 +1,81 @@ +ROOT@[0; 54) + TYPE_DEF@[0; 53) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + PATH_TYPE@[9; 52) + PATH@[9; 52) + PATH_SEGMENT@[9; 52) + NAME_REF@[9; 12) + IDENT@[9; 12) "Box" + TYPE_ARG_LIST@[12; 52) + L_ANGLE@[12; 13) + TYPE_ARG@[13; 51) + PATH_TYPE@[13; 51) + PATH@[13; 51) + PATH_SEGMENT@[13; 51) + NAME_REF@[13; 15) + IDENT@[13; 15) "Fn" + PARAM_LIST@[15; 51) + L_PAREN@[15; 16) + PARAM@[16; 22) + BIND_PAT@[16; 17) + NAME@[16; 17) + IDENT@[16; 17) "a" + COLON@[17; 18) + WHITESPACE@[18; 19) + PATH_TYPE@[19; 22) + PATH@[19; 22) + PATH_SEGMENT@[19; 22) + NAME_REF@[19; 22) + IDENT@[19; 22) "i32" + COMMA@[22; 23) + WHITESPACE@[23; 24) + PARAM@[24; 32) + REF_PAT@[24; 26) + AMP@[24; 25) + BIND_PAT@[25; 26) + NAME@[25; 26) + IDENT@[25; 26) "b" + COLON@[26; 27) + WHITESPACE@[27; 28) + REFERENCE_TYPE@[28; 32) + AMP@[28; 29) + PATH_TYPE@[29; 32) + PATH@[29; 32) + PATH_SEGMENT@[29; 32) + NAME_REF@[29; 32) + IDENT@[29; 32) "i32" + COMMA@[32; 33) + WHITESPACE@[33; 34) + PARAM@[34; 46) + REF_PAT@[34; 40) + AMP@[34; 35) + MUT_KW@[35; 38) + WHITESPACE@[38; 39) + BIND_PAT@[39; 40) + NAME@[39; 40) + IDENT@[39; 40) "c" + COLON@[40; 41) + WHITESPACE@[41; 42) + REFERENCE_TYPE@[42; 46) + AMP@[42; 43) + PATH_TYPE@[43; 46) + PATH@[43; 46) + PATH_SEGMENT@[43; 46) + NAME_REF@[43; 46) + IDENT@[43; 46) "i32" + COMMA@[46; 47) + WHITESPACE@[47; 48) + PARAM@[48; 50) + TUPLE_TYPE@[48; 50) + L_PAREN@[48; 49) + R_PAREN@[49; 50) + R_PAREN@[50; 51) + R_ANGLE@[51; 52) + SEMI@[52; 53) + WHITESPACE@[53; 54) diff --git a/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.rs b/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.rs new file mode 100644 index 000000000..9b93442c0 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.rs @@ -0,0 +1 @@ +fn foo)>(){} diff --git a/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.txt b/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.txt new file mode 100644 index 000000000..39bab8dd2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.txt @@ -0,0 +1,44 @@ +ROOT@[0; 35) + FN_DEF@[0; 34) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 30) + L_ANGLE@[6; 7) + TYPE_PARAM@[7; 29) + NAME@[7; 8) + IDENT@[7; 8) "F" + COLON@[8; 9) + WHITESPACE@[9; 10) + PATH_TYPE@[10; 29) + PATH@[10; 29) + PATH_SEGMENT@[10; 29) + NAME_REF@[10; 15) + IDENT@[10; 15) "FnMut" + PARAM_LIST@[15; 29) + L_PAREN@[15; 16) + PARAM@[16; 28) + REFERENCE_TYPE@[16; 28) + AMP@[16; 17) + MUT_KW@[17; 20) + WHITESPACE@[20; 21) + PATH_TYPE@[21; 28) + PATH@[21; 28) + PATH_SEGMENT@[21; 28) + NAME_REF@[21; 24) + IDENT@[21; 24) "Foo" + TYPE_ARG_LIST@[24; 28) + L_ANGLE@[24; 25) + LIFETIME_ARG@[25; 27) + LIFETIME@[25; 27) "'a" + R_ANGLE@[27; 28) + R_PAREN@[28; 29) + R_ANGLE@[29; 30) + PARAM_LIST@[30; 32) + L_PAREN@[30; 31) + R_PAREN@[31; 32) + BLOCK@[32; 34) + L_CURLY@[32; 33) + R_CURLY@[33; 34) + WHITESPACE@[34; 35) diff --git a/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.rs b/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.rs new file mode 100644 index 000000000..592a005f9 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.rs @@ -0,0 +1,6 @@ +fn foo() +where + 'a: 'b + 'c, + T: Clone + Copy + 'static, + Iterator::Item: 'a, +{} diff --git a/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.txt b/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.txt new file mode 100644 index 000000000..9fe803554 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.txt @@ -0,0 +1,71 @@ +ROOT@[0; 87) + FN_DEF@[0; 86) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + WHERE_CLAUSE@[9; 83) + WHERE_KW@[9; 14) + WHITESPACE@[14; 18) + WHERE_PRED@[18; 29) + LIFETIME@[18; 20) "'a" + COLON@[20; 21) + WHITESPACE@[21; 22) + LIFETIME@[22; 24) "'b" + WHITESPACE@[24; 25) + PLUS@[25; 26) + WHITESPACE@[26; 27) + LIFETIME@[27; 29) "'c" + COMMA@[29; 30) + WHITESPACE@[30; 34) + WHERE_PRED@[34; 59) + PATH_TYPE@[34; 35) + PATH@[34; 35) + PATH_SEGMENT@[34; 35) + NAME_REF@[34; 35) + IDENT@[34; 35) "T" + COLON@[35; 36) + WHITESPACE@[36; 37) + PATH_TYPE@[37; 59) + PATH@[37; 42) + PATH_SEGMENT@[37; 42) + NAME_REF@[37; 42) + IDENT@[37; 42) "Clone" + WHITESPACE@[42; 43) + PLUS@[43; 44) + WHITESPACE@[44; 45) + PATH_TYPE@[45; 59) + PATH@[45; 49) + PATH_SEGMENT@[45; 49) + NAME_REF@[45; 49) + IDENT@[45; 49) "Copy" + WHITESPACE@[49; 50) + PLUS@[50; 51) + WHITESPACE@[51; 52) + LIFETIME@[52; 59) "'static" + COMMA@[59; 60) + WHITESPACE@[60; 64) + WHERE_PRED@[64; 82) + PATH_TYPE@[64; 78) + PATH@[64; 78) + PATH@[64; 72) + PATH_SEGMENT@[64; 72) + NAME_REF@[64; 72) + IDENT@[64; 72) "Iterator" + COLONCOLON@[72; 74) + PATH_SEGMENT@[74; 78) + NAME_REF@[74; 78) + IDENT@[74; 78) "Item" + COLON@[78; 79) + WHITESPACE@[79; 80) + LIFETIME@[80; 82) "'a" + COMMA@[82; 83) + WHITESPACE@[83; 84) + BLOCK@[84; 86) + L_CURLY@[84; 85) + R_CURLY@[85; 86) + WHITESPACE@[86; 87) diff --git a/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.rs b/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.rs new file mode 100644 index 000000000..660d927cf --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.rs @@ -0,0 +1 @@ +crate fn main() { } diff --git a/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.txt b/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.txt new file mode 100644 index 000000000..96a4e9162 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.txt @@ -0,0 +1,18 @@ +ROOT@[0; 20) + FN_DEF@[0; 19) + VISIBILITY@[0; 5) + CRATE_KW@[0; 5) + WHITESPACE@[5; 6) + FN_KW@[6; 8) + WHITESPACE@[8; 9) + NAME@[9; 13) + IDENT@[9; 13) "main" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) + R_PAREN@[14; 15) + WHITESPACE@[15; 16) + BLOCK@[16; 19) + L_CURLY@[16; 17) + WHITESPACE@[17; 18) + R_CURLY@[18; 19) + WHITESPACE@[19; 20) diff --git a/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.rs b/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.rs new file mode 100644 index 000000000..c3ecabb99 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.rs @@ -0,0 +1 @@ +type A = dyn Iterator> + 'a; diff --git a/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.txt b/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.txt new file mode 100644 index 000000000..c81ae5545 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.txt @@ -0,0 +1,40 @@ +ROOT@[0; 42) + TYPE_DEF@[0; 41) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + DYN_TRAIT_TYPE@[9; 40) + DYN_KW@[9; 12) + WHITESPACE@[12; 13) + PATH_TYPE@[13; 40) + PATH@[13; 35) + PATH_SEGMENT@[13; 35) + NAME_REF@[13; 21) + IDENT@[13; 21) "Iterator" + TYPE_ARG_LIST@[21; 35) + L_ANGLE@[21; 22) + ASSOC_TYPE_ARG@[22; 34) + NAME_REF@[22; 26) + IDENT@[22; 26) "Item" + EQ@[26; 27) + PATH_TYPE@[27; 34) + PATH@[27; 34) + PATH_SEGMENT@[27; 34) + NAME_REF@[27; 30) + IDENT@[27; 30) "Foo" + TYPE_ARG_LIST@[30; 34) + L_ANGLE@[30; 31) + LIFETIME_ARG@[31; 33) + LIFETIME@[31; 33) "'a" + R_ANGLE@[33; 34) + R_ANGLE@[34; 35) + WHITESPACE@[35; 36) + PLUS@[36; 37) + WHITESPACE@[37; 38) + LIFETIME@[38; 40) "'a" + SEMI@[40; 41) + WHITESPACE@[41; 42) diff --git a/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.rs b/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.rs new file mode 100644 index 000000000..d140692e2 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.rs @@ -0,0 +1,2 @@ +type X = ::Output; +fn foo() { ::default(); } diff --git a/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.txt b/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.txt new file mode 100644 index 000000000..99516bf15 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.txt @@ -0,0 +1,78 @@ +ROOT@[0; 71) + TYPE_DEF@[0; 26) + TYPE_KW@[0; 4) + WHITESPACE@[4; 5) + NAME@[5; 6) + IDENT@[5; 6) "X" + WHITESPACE@[6; 7) + EQ@[7; 8) + WHITESPACE@[8; 9) + PATH_TYPE@[9; 25) + PATH@[9; 25) + PATH@[9; 17) + PATH_SEGMENT@[9; 17) + L_ANGLE@[9; 10) + PATH_TYPE@[10; 11) + PATH@[10; 11) + PATH_SEGMENT@[10; 11) + NAME_REF@[10; 11) + IDENT@[10; 11) "A" + WHITESPACE@[11; 12) + AS_KW@[12; 14) + WHITESPACE@[14; 15) + PATH_TYPE@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "B" + R_ANGLE@[16; 17) + COLONCOLON@[17; 19) + PATH_SEGMENT@[19; 25) + NAME_REF@[19; 25) + IDENT@[19; 25) "Output" + SEMI@[25; 26) + WHITESPACE@[26; 27) + FN_DEF@[27; 70) + FN_KW@[27; 29) + WHITESPACE@[29; 30) + NAME@[30; 33) + IDENT@[30; 33) "foo" + PARAM_LIST@[33; 35) + L_PAREN@[33; 34) + R_PAREN@[34; 35) + WHITESPACE@[35; 36) + BLOCK@[36; 70) + L_CURLY@[36; 37) + WHITESPACE@[37; 38) + EXPR_STMT@[38; 68) + CALL_EXPR@[38; 67) + PATH_EXPR@[38; 65) + PATH@[38; 65) + PATH@[38; 56) + PATH_SEGMENT@[38; 56) + L_ANGLE@[38; 39) + PATH_TYPE@[39; 44) + PATH@[39; 44) + PATH_SEGMENT@[39; 44) + NAME_REF@[39; 44) + IDENT@[39; 44) "usize" + WHITESPACE@[44; 45) + AS_KW@[45; 47) + WHITESPACE@[47; 48) + PATH_TYPE@[48; 55) + PATH@[48; 55) + PATH_SEGMENT@[48; 55) + NAME_REF@[48; 55) + IDENT@[48; 55) "Default" + R_ANGLE@[55; 56) + COLONCOLON@[56; 58) + PATH_SEGMENT@[58; 65) + NAME_REF@[58; 65) + IDENT@[58; 65) "default" + ARG_LIST@[65; 67) + L_PAREN@[65; 66) + R_PAREN@[66; 67) + SEMI@[67; 68) + WHITESPACE@[68; 69) + R_CURLY@[69; 70) + WHITESPACE@[70; 71) diff --git a/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.rs new file mode 100644 index 000000000..ae21ad94c --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.rs @@ -0,0 +1 @@ +fn foo() { xs[..]; } diff --git a/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.txt new file mode 100644 index 000000000..19f77fb73 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.txt @@ -0,0 +1,28 @@ +ROOT@[0; 21) + FN_DEF@[0; 20) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 20) + L_CURLY@[9; 10) + WHITESPACE@[10; 11) + EXPR_STMT@[11; 18) + INDEX_EXPR@[11; 17) + PATH_EXPR@[11; 13) + PATH@[11; 13) + PATH_SEGMENT@[11; 13) + NAME_REF@[11; 13) + IDENT@[11; 13) "xs" + L_BRACK@[13; 14) + RANGE_EXPR@[14; 16) + DOTDOT@[14; 16) + R_BRACK@[16; 17) + SEMI@[17; 18) + WHITESPACE@[18; 19) + R_CURLY@[19; 20) + WHITESPACE@[20; 21) diff --git a/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.rs b/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.rs new file mode 100644 index 000000000..4744d8ac0 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.rs @@ -0,0 +1,4 @@ +struct S { + #[serde(with = "url_serde")] + pub uri: Uri, +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.txt b/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.txt new file mode 100644 index 000000000..420712e89 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.txt @@ -0,0 +1,42 @@ +ROOT@[0; 64) + STRUCT_DEF@[0; 63) + STRUCT_KW@[0; 6) + WHITESPACE@[6; 7) + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) + NAMED_FIELD_DEF_LIST@[9; 63) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + NAMED_FIELD_DEF@[15; 60) + ATTR@[15; 43) + POUND@[15; 16) + TOKEN_TREE@[16; 43) + L_BRACK@[16; 17) + IDENT@[17; 22) "serde" + TOKEN_TREE@[22; 42) + L_PAREN@[22; 23) + IDENT@[23; 27) "with" + WHITESPACE@[27; 28) + EQ@[28; 29) + WHITESPACE@[29; 30) + STRING@[30; 41) + R_PAREN@[41; 42) + R_BRACK@[42; 43) + WHITESPACE@[43; 48) + VISIBILITY@[48; 51) + PUB_KW@[48; 51) + WHITESPACE@[51; 52) + NAME@[52; 55) + IDENT@[52; 55) "uri" + COLON@[55; 56) + WHITESPACE@[56; 57) + PATH_TYPE@[57; 60) + PATH@[57; 60) + PATH_SEGMENT@[57; 60) + NAME_REF@[57; 60) + IDENT@[57; 60) "Uri" + COMMA@[60; 61) + WHITESPACE@[61; 62) + R_CURLY@[62; 63) + WHITESPACE@[63; 64) diff --git a/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.rs b/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.rs new file mode 100644 index 000000000..6a170d5ac --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.rs @@ -0,0 +1,4 @@ +impl S { + fn a(self: &Self) {} + fn b(mut self: Box) {} +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.txt b/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.txt new file mode 100644 index 000000000..9a306921e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.txt @@ -0,0 +1,72 @@ +ROOT@[0; 69) + IMPL_ITEM@[0; 68) + IMPL_KW@[0; 4) + WHITESPACE@[4; 5) + PATH_TYPE@[5; 6) + PATH@[5; 6) + PATH_SEGMENT@[5; 6) + NAME_REF@[5; 6) + IDENT@[5; 6) "S" + WHITESPACE@[6; 7) + ITEM_LIST@[7; 68) + L_CURLY@[7; 8) + WHITESPACE@[8; 13) + FN_DEF@[13; 33) + FN_KW@[13; 15) + WHITESPACE@[15; 16) + NAME@[16; 17) + IDENT@[16; 17) "a" + PARAM_LIST@[17; 30) + L_PAREN@[17; 18) + SELF_PARAM@[18; 29) + SELF_KW@[18; 22) + COLON@[22; 23) + WHITESPACE@[23; 24) + REFERENCE_TYPE@[24; 29) + AMP@[24; 25) + PATH_TYPE@[25; 29) + PATH@[25; 29) + PATH_SEGMENT@[25; 29) + NAME_REF@[25; 29) + IDENT@[25; 29) "Self" + R_PAREN@[29; 30) + WHITESPACE@[30; 31) + BLOCK@[31; 33) + L_CURLY@[31; 32) + R_CURLY@[32; 33) + WHITESPACE@[33; 38) + FN_DEF@[38; 66) + FN_KW@[38; 40) + WHITESPACE@[40; 41) + NAME@[41; 42) + IDENT@[41; 42) "b" + PARAM_LIST@[42; 63) + L_PAREN@[42; 43) + SELF_PARAM@[43; 62) + MUT_KW@[43; 46) + WHITESPACE@[46; 47) + SELF_KW@[47; 51) + COLON@[51; 52) + WHITESPACE@[52; 53) + PATH_TYPE@[53; 62) + PATH@[53; 62) + PATH_SEGMENT@[53; 62) + NAME_REF@[53; 56) + IDENT@[53; 56) "Box" + TYPE_ARG_LIST@[56; 62) + L_ANGLE@[56; 57) + TYPE_ARG@[57; 61) + PATH_TYPE@[57; 61) + PATH@[57; 61) + PATH_SEGMENT@[57; 61) + NAME_REF@[57; 61) + IDENT@[57; 61) "Self" + R_ANGLE@[61; 62) + R_PAREN@[62; 63) + WHITESPACE@[63; 64) + BLOCK@[64; 66) + L_CURLY@[64; 65) + R_CURLY@[65; 66) + WHITESPACE@[66; 67) + R_CURLY@[67; 68) + WHITESPACE@[68; 69) diff --git a/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.rs new file mode 100644 index 000000000..474cc3f0e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.rs @@ -0,0 +1,6 @@ +fn foo() { + loop { + continue; + continue 'l; + } +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.txt new file mode 100644 index 000000000..1c78704fa --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.txt @@ -0,0 +1,35 @@ +ROOT@[0; 69) + FN_DEF@[0; 68) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 68) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LOOP_EXPR@[15; 66) + LOOP_KW@[15; 19) + WHITESPACE@[19; 20) + BLOCK@[20; 66) + L_CURLY@[20; 21) + WHITESPACE@[21; 30) + EXPR_STMT@[30; 39) + CONTINUE_EXPR@[30; 38) + CONTINUE_KW@[30; 38) + SEMI@[38; 39) + WHITESPACE@[39; 48) + EXPR_STMT@[48; 60) + CONTINUE_EXPR@[48; 59) + CONTINUE_KW@[48; 56) + WHITESPACE@[56; 57) + LIFETIME@[57; 59) "'l" + SEMI@[59; 60) + WHITESPACE@[60; 65) + R_CURLY@[65; 66) + WHITESPACE@[66; 67) + R_CURLY@[67; 68) + WHITESPACE@[68; 69) diff --git a/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.rs b/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.rs new file mode 100644 index 000000000..1b4094636 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.rs @@ -0,0 +1,8 @@ +fn foo() { + loop { + break; + break 'l; + break 92; + break 'l 92; + } +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.txt new file mode 100644 index 000000000..92b6b8bea --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.txt @@ -0,0 +1,53 @@ +ROOT@[0; 102) + FN_DEF@[0; 101) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 101) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + LOOP_EXPR@[15; 99) + LOOP_KW@[15; 19) + WHITESPACE@[19; 20) + BLOCK@[20; 99) + L_CURLY@[20; 21) + WHITESPACE@[21; 30) + EXPR_STMT@[30; 36) + BREAK_EXPR@[30; 35) + BREAK_KW@[30; 35) + SEMI@[35; 36) + WHITESPACE@[36; 45) + EXPR_STMT@[45; 54) + BREAK_EXPR@[45; 53) + BREAK_KW@[45; 50) + WHITESPACE@[50; 51) + LIFETIME@[51; 53) "'l" + SEMI@[53; 54) + WHITESPACE@[54; 63) + EXPR_STMT@[63; 72) + BREAK_EXPR@[63; 71) + BREAK_KW@[63; 68) + WHITESPACE@[68; 69) + LITERAL@[69; 71) + INT_NUMBER@[69; 71) "92" + SEMI@[71; 72) + WHITESPACE@[72; 81) + EXPR_STMT@[81; 93) + BREAK_EXPR@[81; 92) + BREAK_KW@[81; 86) + WHITESPACE@[86; 87) + LIFETIME@[87; 89) "'l" + WHITESPACE@[89; 90) + LITERAL@[90; 92) + INT_NUMBER@[90; 92) "92" + SEMI@[92; 93) + WHITESPACE@[93; 98) + R_CURLY@[98; 99) + WHITESPACE@[99; 100) + R_CURLY@[100; 101) + WHITESPACE@[101; 102) diff --git a/crates/ra_syntax/tests/data/parser/inline/0107_label.rs b/crates/ra_syntax/tests/data/parser/inline/0107_label.rs new file mode 100644 index 000000000..48e83f263 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0107_label.rs @@ -0,0 +1,5 @@ +fn foo() { + 'a: loop {} + 'b: while true {} + 'c: for x in () {} +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0107_label.txt b/crates/ra_syntax/tests/data/parser/inline/0107_label.txt new file mode 100644 index 000000000..768515595 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0107_label.txt @@ -0,0 +1,64 @@ +ROOT@[0; 74) + FN_DEF@[0; 73) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) + R_PAREN@[7; 8) + WHITESPACE@[8; 9) + BLOCK@[9; 73) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 26) + LOOP_EXPR@[15; 26) + LABEL@[15; 18) + LIFETIME@[15; 17) "'a" + COLON@[17; 18) + WHITESPACE@[18; 19) + LOOP_KW@[19; 23) + WHITESPACE@[23; 24) + BLOCK@[24; 26) + L_CURLY@[24; 25) + R_CURLY@[25; 26) + WHITESPACE@[26; 31) + EXPR_STMT@[31; 48) + WHILE_EXPR@[31; 48) + LABEL@[31; 34) + LIFETIME@[31; 33) "'b" + COLON@[33; 34) + WHITESPACE@[34; 35) + WHILE_KW@[35; 40) + WHITESPACE@[40; 41) + CONDITION@[41; 45) + LITERAL@[41; 45) + TRUE_KW@[41; 45) + WHITESPACE@[45; 46) + BLOCK@[46; 48) + L_CURLY@[46; 47) + R_CURLY@[47; 48) + WHITESPACE@[48; 53) + FOR_EXPR@[53; 71) + LABEL@[53; 56) + LIFETIME@[53; 55) "'c" + COLON@[55; 56) + WHITESPACE@[56; 57) + FOR_KW@[57; 60) + WHITESPACE@[60; 61) + BIND_PAT@[61; 62) + NAME@[61; 62) + IDENT@[61; 62) "x" + WHITESPACE@[62; 63) + IN_KW@[63; 65) + WHITESPACE@[65; 66) + TUPLE_EXPR@[66; 68) + L_PAREN@[66; 67) + R_PAREN@[67; 68) + WHITESPACE@[68; 69) + BLOCK@[69; 71) + L_CURLY@[69; 70) + R_CURLY@[70; 71) + WHITESPACE@[71; 72) + R_CURLY@[72; 73) + WHITESPACE@[73; 74) diff --git a/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.rs b/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.rs new file mode 100644 index 000000000..a2164c510 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.rs @@ -0,0 +1,3 @@ +fn main() { + 'loop: impl +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.txt b/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.txt new file mode 100644 index 000000000..d00305b97 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.txt @@ -0,0 +1,28 @@ +ROOT@[0; 30) + FN_DEF@[0; 29) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 29) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + EXPR_STMT@[16; 22) + ERROR@[16; 22) + LABEL@[16; 22) + LIFETIME@[16; 21) "'loop" + COLON@[21; 22) + err: `expected a loop` + err: `expected SEMI` + WHITESPACE@[22; 23) + IMPL_ITEM@[23; 27) + IMPL_KW@[23; 27) + err: `expected type` + err: `expected `{`` + WHITESPACE@[27; 28) + R_CURLY@[28; 29) + WHITESPACE@[29; 30) diff --git a/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.rs b/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.rs new file mode 100644 index 000000000..693e3f3ee --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.rs @@ -0,0 +1,8 @@ +struct Foo; +struct Foo {} +struct Foo(); +struct Foo(String, usize); +struct Foo { + a: i32, + b: f32, +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.txt b/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.txt new file mode 100644 index 000000000..f9b34cc5e --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.txt @@ -0,0 +1,87 @@ +ROOT@[0; 106) + STRUCT_DEF@[0; 11) + STRUCT_KW@[0; 6) + WHITESPACE@[6; 7) + NAME@[7; 10) + IDENT@[7; 10) "Foo" + SEMI@[10; 11) + WHITESPACE@[11; 12) + STRUCT_DEF@[12; 25) + STRUCT_KW@[12; 18) + WHITESPACE@[18; 19) + NAME@[19; 22) + IDENT@[19; 22) "Foo" + WHITESPACE@[22; 23) + NAMED_FIELD_DEF_LIST@[23; 25) + L_CURLY@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) + STRUCT_DEF@[26; 39) + STRUCT_KW@[26; 32) + WHITESPACE@[32; 33) + NAME@[33; 36) + IDENT@[33; 36) "Foo" + POS_FIELD_LIST@[36; 38) + L_PAREN@[36; 37) + R_PAREN@[37; 38) + SEMI@[38; 39) + WHITESPACE@[39; 40) + STRUCT_DEF@[40; 66) + STRUCT_KW@[40; 46) + WHITESPACE@[46; 47) + NAME@[47; 50) + IDENT@[47; 50) "Foo" + POS_FIELD_LIST@[50; 65) + L_PAREN@[50; 51) + POS_FIELD@[51; 57) + PATH_TYPE@[51; 57) + PATH@[51; 57) + PATH_SEGMENT@[51; 57) + NAME_REF@[51; 57) + IDENT@[51; 57) "String" + COMMA@[57; 58) + WHITESPACE@[58; 59) + POS_FIELD@[59; 64) + PATH_TYPE@[59; 64) + PATH@[59; 64) + PATH_SEGMENT@[59; 64) + NAME_REF@[59; 64) + IDENT@[59; 64) "usize" + R_PAREN@[64; 65) + SEMI@[65; 66) + WHITESPACE@[66; 67) + STRUCT_DEF@[67; 105) + STRUCT_KW@[67; 73) + WHITESPACE@[73; 74) + NAME@[74; 77) + IDENT@[74; 77) "Foo" + WHITESPACE@[77; 78) + NAMED_FIELD_DEF_LIST@[78; 105) + L_CURLY@[78; 79) + WHITESPACE@[79; 84) + NAMED_FIELD_DEF@[84; 90) + NAME@[84; 85) + IDENT@[84; 85) "a" + COLON@[85; 86) + WHITESPACE@[86; 87) + PATH_TYPE@[87; 90) + PATH@[87; 90) + PATH_SEGMENT@[87; 90) + NAME_REF@[87; 90) + IDENT@[87; 90) "i32" + COMMA@[90; 91) + WHITESPACE@[91; 96) + NAMED_FIELD_DEF@[96; 102) + NAME@[96; 97) + IDENT@[96; 97) "b" + COLON@[97; 98) + WHITESPACE@[98; 99) + PATH_TYPE@[99; 102) + PATH@[99; 102) + PATH_SEGMENT@[99; 102) + NAME_REF@[99; 102) + IDENT@[99; 102) "f32" + COMMA@[102; 103) + WHITESPACE@[103; 104) + R_CURLY@[104; 105) + WHITESPACE@[105; 106) diff --git a/crates/ra_syntax/tests/data/parser/inline/0110_union_items.rs b/crates/ra_syntax/tests/data/parser/inline/0110_union_items.rs new file mode 100644 index 000000000..b7dd610d8 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0110_union_items.rs @@ -0,0 +1,5 @@ +union Foo {} +union Foo { + a: i32, + b: f32, +} diff --git a/crates/ra_syntax/tests/data/parser/inline/0110_union_items.txt b/crates/ra_syntax/tests/data/parser/inline/0110_union_items.txt new file mode 100644 index 000000000..e2e755414 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/inline/0110_union_items.txt @@ -0,0 +1,46 @@ +ROOT@[0; 51) + STRUCT_DEF@[0; 12) + UNION_KW@[0; 5) + WHITESPACE@[5; 6) + NAME@[6; 9) + IDENT@[6; 9) "Foo" + WHITESPACE@[9; 10) + NAMED_FIELD_DEF_LIST@[10; 12) + L_CURLY@[10; 11) + R_CURLY@[11; 12) + WHITESPACE@[12; 13) + STRUCT_DEF@[13; 50) + UNION_KW@[13; 18) + WHITESPACE@[18; 19) + NAME@[19; 22) + IDENT@[19; 22) "Foo" + WHITESPACE@[22; 23) + NAMED_FIELD_DEF_LIST@[23; 50) + L_CURLY@[23; 24) + WHITESPACE@[24; 29) + NAMED_FIELD_DEF@[29; 35) + NAME@[29; 30) + IDENT@[29; 30) "a" + COLON@[30; 31) + WHITESPACE@[31; 32) + PATH_TYPE@[32; 35) + PATH@[32; 35) + PATH_SEGMENT@[32; 35) + NAME_REF@[32; 35) + IDENT@[32; 35) "i32" + COMMA@[35; 36) + WHITESPACE@[36; 41) + NAMED_FIELD_DEF@[41; 47) + NAME@[41; 42) + IDENT@[41; 42) "b" + COLON@[42; 43) + WHITESPACE@[43; 44) + PATH_TYPE@[44; 47) + PATH@[44; 47) + PATH_SEGMENT@[44; 47) + NAME_REF@[44; 47) + IDENT@[44; 47) "f32" + COMMA@[47; 48) + WHITESPACE@[48; 49) + R_CURLY@[49; 50) + WHITESPACE@[50; 51) -- cgit v1.2.3