aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_mbe/src/lib.rs130
1 files changed, 63 insertions, 67 deletions
diff --git a/crates/ra_mbe/src/lib.rs b/crates/ra_mbe/src/lib.rs
index ee5c6866c..eedc0c5dd 100644
--- a/crates/ra_mbe/src/lib.rs
+++ b/crates/ra_mbe/src/lib.rs
@@ -943,75 +943,71 @@ MACRO_ITEMS@[0; 40)
943 r#"{let mut v = Vec :: new () ; v . push (1u32) ; v . push (2) ; v}"#, 943 r#"{let mut v = Vec :: new () ; v . push (1u32) ; v . push (2) ; v}"#,
944 ); 944 );
945 945
946 println!("{}", expand_to_expr(&rules, r#"vec![1u32,2]"#).syntax().debug_dump().trim());
947
948 assert_eq!( 946 assert_eq!(
949 expand_to_expr(&rules, r#"vec![1u32,2]"#).syntax().debug_dump().trim(), 947 expand_to_expr(&rules, r#"vec![1u32,2]"#).syntax().debug_dump().trim(),
950 r#"MACRO_STMTS@[0; 45) 948 r#"BLOCK_EXPR@[0; 45)
951 EXPR_STMT@[0; 45) 949 BLOCK@[0; 45)
952 BLOCK_EXPR@[0; 45) 950 L_CURLY@[0; 1) "{"
953 BLOCK@[0; 45) 951 LET_STMT@[1; 20)
954 L_CURLY@[0; 1) "{" 952 LET_KW@[1; 4) "let"
955 LET_STMT@[1; 20) 953 BIND_PAT@[4; 8)
956 LET_KW@[1; 4) "let" 954 MUT_KW@[4; 7) "mut"
957 BIND_PAT@[4; 8) 955 NAME@[7; 8)
958 MUT_KW@[4; 7) "mut" 956 IDENT@[7; 8) "v"
959 NAME@[7; 8) 957 EQ@[8; 9) "="
960 IDENT@[7; 8) "v" 958 CALL_EXPR@[9; 19)
961 EQ@[8; 9) "=" 959 PATH_EXPR@[9; 17)
962 CALL_EXPR@[9; 19) 960 PATH@[9; 17)
963 PATH_EXPR@[9; 17) 961 PATH@[9; 12)
964 PATH@[9; 17) 962 PATH_SEGMENT@[9; 12)
965 PATH@[9; 12) 963 NAME_REF@[9; 12)
966 PATH_SEGMENT@[9; 12) 964 IDENT@[9; 12) "Vec"
967 NAME_REF@[9; 12) 965 COLONCOLON@[12; 14) "::"
968 IDENT@[9; 12) "Vec" 966 PATH_SEGMENT@[14; 17)
969 COLONCOLON@[12; 14) "::" 967 NAME_REF@[14; 17)
970 PATH_SEGMENT@[14; 17) 968 IDENT@[14; 17) "new"
971 NAME_REF@[14; 17) 969 ARG_LIST@[17; 19)
972 IDENT@[14; 17) "new" 970 L_PAREN@[17; 18) "("
973 ARG_LIST@[17; 19) 971 R_PAREN@[18; 19) ")"
974 L_PAREN@[17; 18) "(" 972 SEMI@[19; 20) ";"
975 R_PAREN@[18; 19) ")" 973 EXPR_STMT@[20; 33)
976 SEMI@[19; 20) ";" 974 METHOD_CALL_EXPR@[20; 32)
977 EXPR_STMT@[20; 33) 975 PATH_EXPR@[20; 21)
978 METHOD_CALL_EXPR@[20; 32) 976 PATH@[20; 21)
979 PATH_EXPR@[20; 21) 977 PATH_SEGMENT@[20; 21)
980 PATH@[20; 21) 978 NAME_REF@[20; 21)
981 PATH_SEGMENT@[20; 21) 979 IDENT@[20; 21) "v"
982 NAME_REF@[20; 21) 980 DOT@[21; 22) "."
983 IDENT@[20; 21) "v" 981 NAME_REF@[22; 26)
984 DOT@[21; 22) "." 982 IDENT@[22; 26) "push"
985 NAME_REF@[22; 26) 983 ARG_LIST@[26; 32)
986 IDENT@[22; 26) "push" 984 L_PAREN@[26; 27) "("
987 ARG_LIST@[26; 32) 985 LITERAL@[27; 31)
988 L_PAREN@[26; 27) "(" 986 INT_NUMBER@[27; 31) "1u32"
989 LITERAL@[27; 31) 987 R_PAREN@[31; 32) ")"
990 INT_NUMBER@[27; 31) "1u32" 988 SEMI@[32; 33) ";"
991 R_PAREN@[31; 32) ")" 989 EXPR_STMT@[33; 43)
992 SEMI@[32; 33) ";" 990 METHOD_CALL_EXPR@[33; 42)
993 EXPR_STMT@[33; 43) 991 PATH_EXPR@[33; 34)
994 METHOD_CALL_EXPR@[33; 42) 992 PATH@[33; 34)
995 PATH_EXPR@[33; 34) 993 PATH_SEGMENT@[33; 34)
996 PATH@[33; 34) 994 NAME_REF@[33; 34)
997 PATH_SEGMENT@[33; 34) 995 IDENT@[33; 34) "v"
998 NAME_REF@[33; 34) 996 DOT@[34; 35) "."
999 IDENT@[33; 34) "v" 997 NAME_REF@[35; 39)
1000 DOT@[34; 35) "." 998 IDENT@[35; 39) "push"
1001 NAME_REF@[35; 39) 999 ARG_LIST@[39; 42)
1002 IDENT@[35; 39) "push" 1000 L_PAREN@[39; 40) "("
1003 ARG_LIST@[39; 42) 1001 LITERAL@[40; 41)
1004 L_PAREN@[39; 40) "(" 1002 INT_NUMBER@[40; 41) "2"
1005 LITERAL@[40; 41) 1003 R_PAREN@[41; 42) ")"
1006 INT_NUMBER@[40; 41) "2" 1004 SEMI@[42; 43) ";"
1007 R_PAREN@[41; 42) ")" 1005 PATH_EXPR@[43; 44)
1008 SEMI@[42; 43) ";" 1006 PATH@[43; 44)
1009 PATH_EXPR@[43; 44) 1007 PATH_SEGMENT@[43; 44)
1010 PATH@[43; 44) 1008 NAME_REF@[43; 44)
1011 PATH_SEGMENT@[43; 44) 1009 IDENT@[43; 44) "v"
1012 NAME_REF@[43; 44) 1010 R_CURLY@[44; 45) "}""#
1013 IDENT@[43; 44) "v"
1014 R_CURLY@[44; 45) "}""#
1015 ); 1011 );
1016 } 1012 }
1017 1013