From 1073f85d0c6ee19a680150fa5f2008a42996e0af Mon Sep 17 00:00:00 2001 From: Christoph Burgdorf Date: Mon, 2 May 2022 17:25:54 +0200 Subject: [PATCH] WIP --- crates/parser/src/grammar/functions.rs | 2 - crates/parser/tests/cases/parse_ast.rs | 2 +- .../cases__parse_ast__fn_def_generic.snap | 102 ++++++++---------- 3 files changed, 46 insertions(+), 60 deletions(-) diff --git a/crates/parser/src/grammar/functions.rs b/crates/parser/src/grammar/functions.rs index df956557a4..b992773b50 100644 --- a/crates/parser/src/grammar/functions.rs +++ b/crates/parser/src/grammar/functions.rs @@ -149,8 +149,6 @@ pub fn parse_generic_params(par: &mut Parser) -> ParseResult { diff --git a/crates/parser/tests/cases/parse_ast.rs b/crates/parser/tests/cases/parse_ast.rs index c4fe39fa47..9b29a1ead3 100644 --- a/crates/parser/tests/cases/parse_ast.rs +++ b/crates/parser/tests/cases/parse_ast.rs @@ -142,7 +142,7 @@ test_parse! { type_unit, types::parse_type_desc, "()" } test_parse! { fn_def, try_parse_module, "fn transfer(from sender: address, to recip: address, _ val: u64) -> bool:\n false"} -test_parse! { fn_def_generic, try_parse_module, "fn transfer(from sender: address, to recip: address, _ val: u64) -> bool:\n false"} +test_parse! { fn_def_generic, try_parse_module, "fn foo(this: T, that: R, _ val: u64) -> bool:\n false"} test_parse! { fn_def_pub, try_parse_module, "pub fn foo21(x: bool, y: address,) -> bool:\n x"} test_parse! { fn_def_unsafe, try_parse_module, "unsafe fn foo21(x: bool, y: address,) -> bool:\n x"} test_parse! { fn_def_pub_unsafe, try_parse_module, "pub unsafe fn foo21(x: bool, y: address,) -> bool:\n x"} diff --git a/crates/parser/tests/cases/snapshots/cases__parse_ast__fn_def_generic.snap b/crates/parser/tests/cases/snapshots/cases__parse_ast__fn_def_generic.snap index a28838a913..15e16ae572 100644 --- a/crates/parser/tests/cases/snapshots/cases__parse_ast__fn_def_generic.snap +++ b/crates/parser/tests/cases/snapshots/cases__parse_ast__fn_def_generic.snap @@ -1,6 +1,6 @@ --- source: crates/parser/tests/cases/parse_ast.rs -expression: "ast_string(stringify!(fn_def_generic), try_parse_module,\n \"fn transfer(from sender: address, to recip: address, _ val: u64) -> bool:\\n false\")" +expression: "ast_string(stringify!(fn_def_generic), try_parse_module,\n \"fn foo(this: T, that: R, _ val: u64) -> bool:\\n false\")" --- Node( @@ -11,10 +11,10 @@ Node( pub_: None, unsafe_: None, name: Node( - kind: "transfer", + kind: "foo", span: Span( start: 3, - end: 11, + end: 6, ), ), generic_params: Node( @@ -22,93 +22,81 @@ Node( Unbounded(Node( kind: "T", span: Span( - start: 12, - end: 13, + start: 7, + end: 8, ), )), Bounded( name: Node( kind: "R", span: Span( - start: 15, - end: 16, + start: 10, + end: 11, ), ), bound: Node( kind: "Event", span: Span( - start: 18, - end: 23, + start: 13, + end: 18, ), ), ), ], span: Span( - start: 11, - end: 24, + start: 6, + end: 19, ), ), args: [ Node( kind: Regular(RegularFunctionArg( - label: Some(Node( - kind: "from", - span: Span( - start: 25, - end: 29, - ), - )), + label: None, name: Node( - kind: "sender", + kind: "this", span: Span( - start: 30, - end: 36, + start: 20, + end: 24, ), ), typ: Node( kind: Base( - base: "address", + base: "T", ), span: Span( - start: 38, - end: 45, + start: 26, + end: 27, ), ), )), span: Span( - start: 30, - end: 45, + start: 20, + end: 27, ), ), Node( kind: Regular(RegularFunctionArg( - label: Some(Node( - kind: "to", - span: Span( - start: 47, - end: 49, - ), - )), + label: None, name: Node( - kind: "recip", + kind: "that", span: Span( - start: 50, - end: 55, + start: 29, + end: 33, ), ), typ: Node( kind: Base( - base: "address", + base: "R", ), span: Span( - start: 57, - end: 64, + start: 35, + end: 36, ), ), )), span: Span( - start: 50, - end: 64, + start: 29, + end: 36, ), ), Node( @@ -116,15 +104,15 @@ Node( label: Some(Node( kind: "_", span: Span( - start: 66, - end: 67, + start: 38, + end: 39, ), )), name: Node( kind: "val", span: Span( - start: 68, - end: 71, + start: 40, + end: 43, ), ), typ: Node( @@ -132,14 +120,14 @@ Node( base: "u64", ), span: Span( - start: 73, - end: 76, + start: 45, + end: 48, ), ), )), span: Span( - start: 68, - end: 76, + start: 40, + end: 48, ), ), ], @@ -148,8 +136,8 @@ Node( base: "bool", ), span: Span( - start: 81, - end: 85, + start: 53, + end: 57, ), )), body: [ @@ -158,27 +146,27 @@ Node( value: Node( kind: Bool(false), span: Span( - start: 88, - end: 93, + start: 60, + end: 65, ), ), ), span: Span( - start: 88, - end: 93, + start: 60, + end: 65, ), ), ], ), span: Span( start: 0, - end: 93, + end: 65, ), )), ], ), span: Span( start: 0, - end: 93, + end: 65, ), )