From 4899e7be76c5c8309222c8afe1c0f74dc59a4345 Mon Sep 17 00:00:00 2001 From: DJMcNab <36049421+DJMcNab@users.noreply.github.com> Date: Thu, 24 Jan 2019 21:19:16 +0000 Subject: Support universal function call syntax in function calls --- .../tests/data/parser/inline/ok/0042_call_expr.rs | 2 + .../tests/data/parser/inline/ok/0042_call_expr.txt | 89 ++++++++++++++++++++-- 2 files changed, 85 insertions(+), 6 deletions(-) (limited to 'crates/ra_syntax/tests/data/parser/inline/ok') diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.rs index 0c9a20718..ffbf46d6d 100644 --- a/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.rs +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.rs @@ -1,4 +1,6 @@ fn foo() { let _ = f(); let _ = f()(1)(1, 2,); + let _ = f(::func()); + f(::func()); } diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.txt index 6364dc73c..0ddf393f2 100644 --- a/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.txt +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.txt @@ -1,5 +1,5 @@ -SOURCE_FILE@[0; 57) - FN_DEF@[0; 56) +SOURCE_FILE@[0; 118) + FN_DEF@[0; 117) FN_KW@[0; 2) WHITESPACE@[2; 3) NAME@[3; 6) @@ -8,7 +8,7 @@ SOURCE_FILE@[0; 57) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) - BLOCK@[9; 56) + BLOCK@[9; 117) L_CURLY@[9; 10) WHITESPACE@[10; 15) LET_STMT@[15; 27) @@ -65,6 +65,83 @@ SOURCE_FILE@[0; 57) COMMA@[51; 52) R_PAREN@[52; 53) SEMI@[53; 54) - WHITESPACE@[54; 55) - R_CURLY@[55; 56) - WHITESPACE@[56; 57) + WHITESPACE@[54; 59) + LET_STMT@[59; 84) + LET_KW@[59; 62) + WHITESPACE@[62; 63) + PLACEHOLDER_PAT@[63; 64) + UNDERSCORE@[63; 64) + WHITESPACE@[64; 65) + EQ@[65; 66) + WHITESPACE@[66; 67) + CALL_EXPR@[67; 83) + PATH_EXPR@[67; 68) + PATH@[67; 68) + PATH_SEGMENT@[67; 68) + NAME_REF@[67; 68) + IDENT@[67; 68) "f" + ARG_LIST@[68; 83) + L_PAREN@[68; 69) + CALL_EXPR@[69; 82) + PATH_EXPR@[69; 80) + PATH@[69; 80) + PATH@[69; 74) + PATH_SEGMENT@[69; 74) + L_ANGLE@[69; 70) + PATH_TYPE@[70; 73) + PATH@[70; 73) + PATH_SEGMENT@[70; 73) + NAME_REF@[70; 73) + IDENT@[70; 73) "Foo" + R_ANGLE@[73; 74) + COLONCOLON@[74; 76) + PATH_SEGMENT@[76; 80) + NAME_REF@[76; 80) + IDENT@[76; 80) "func" + ARG_LIST@[80; 82) + L_PAREN@[80; 81) + R_PAREN@[81; 82) + R_PAREN@[82; 83) + SEMI@[83; 84) + WHITESPACE@[84; 89) + EXPR_STMT@[89; 115) + CALL_EXPR@[89; 114) + PATH_EXPR@[89; 90) + PATH@[89; 90) + PATH_SEGMENT@[89; 90) + NAME_REF@[89; 90) + IDENT@[89; 90) "f" + ARG_LIST@[90; 114) + L_PAREN@[90; 91) + CALL_EXPR@[91; 113) + PATH_EXPR@[91; 111) + PATH@[91; 111) + PATH@[91; 105) + PATH_SEGMENT@[91; 105) + L_ANGLE@[91; 92) + PATH_TYPE@[92; 95) + PATH@[92; 95) + PATH_SEGMENT@[92; 95) + NAME_REF@[92; 95) + IDENT@[92; 95) "Foo" + WHITESPACE@[95; 96) + AS_KW@[96; 98) + WHITESPACE@[98; 99) + PATH_TYPE@[99; 104) + PATH@[99; 104) + PATH_SEGMENT@[99; 104) + NAME_REF@[99; 104) + IDENT@[99; 104) "Trait" + R_ANGLE@[104; 105) + COLONCOLON@[105; 107) + PATH_SEGMENT@[107; 111) + NAME_REF@[107; 111) + IDENT@[107; 111) "func" + ARG_LIST@[111; 113) + L_PAREN@[111; 112) + R_PAREN@[112; 113) + R_PAREN@[113; 114) + SEMI@[114; 115) + WHITESPACE@[115; 116) + R_CURLY@[116; 117) + WHITESPACE@[117; 118) -- cgit v1.2.3