ZJIT: More tests for parsing param forms
This commit is contained in:
parent
37d6de5331
commit
4eff1727e3
Notes:
git
2025-05-14 11:13:39 +00:00
@ -3139,15 +3139,49 @@ mod opt_tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rest_param_get_bb_param() {
|
fn test_param_forms_get_bb_param() {
|
||||||
eval("
|
eval("
|
||||||
def rest(*array) = array
|
def rest(*array) = array
|
||||||
|
def kw(k:) = k
|
||||||
|
def kw_rest(**k) = k
|
||||||
|
def post(*rest, post) = post
|
||||||
|
def block(&b) = nil
|
||||||
|
def forwardable(...) = nil
|
||||||
");
|
");
|
||||||
|
|
||||||
assert_optimized_method_hir("rest", expect![[r#"
|
assert_optimized_method_hir("rest", expect![[r#"
|
||||||
fn rest:
|
fn rest:
|
||||||
bb0(v0:ArrayExact):
|
bb0(v0:ArrayExact):
|
||||||
Return v0
|
Return v0
|
||||||
"#]]);
|
"#]]);
|
||||||
|
// extra hidden param for the set of specified keywords
|
||||||
|
assert_optimized_method_hir("kw", expect![[r#"
|
||||||
|
fn kw:
|
||||||
|
bb0(v0:BasicObject, v1:BasicObject):
|
||||||
|
Return v0
|
||||||
|
"#]]);
|
||||||
|
assert_optimized_method_hir("kw_rest", expect![[r#"
|
||||||
|
fn kw_rest:
|
||||||
|
bb0(v0:BasicObject):
|
||||||
|
Return v0
|
||||||
|
"#]]);
|
||||||
|
assert_optimized_method_hir("block", expect![[r#"
|
||||||
|
fn block:
|
||||||
|
bb0(v0:BasicObject):
|
||||||
|
v2:NilClassExact = Const Value(nil)
|
||||||
|
Return v2
|
||||||
|
"#]]);
|
||||||
|
assert_optimized_method_hir("post", expect![[r#"
|
||||||
|
fn post:
|
||||||
|
bb0(v0:ArrayExact, v1:BasicObject):
|
||||||
|
Return v1
|
||||||
|
"#]]);
|
||||||
|
assert_optimized_method_hir("forwardable", expect![[r#"
|
||||||
|
fn forwardable:
|
||||||
|
bb0(v0:BasicObject):
|
||||||
|
v2:NilClassExact = Const Value(nil)
|
||||||
|
Return v2
|
||||||
|
"#]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user