* CM KCL: add named args to fn calls * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * Rename to match other code --------- Co-authored-by: Matt Mundell <matt@mundell.me> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
86 lines
3.6 KiB
Plaintext
86 lines
3.6 KiB
Plaintext
# empty
|
|
|
|
f()
|
|
|
|
==>
|
|
Program(ExpressionStatement(CallExpression(VariableName,
|
|
ArgumentList)))
|
|
|
|
# single anon arg
|
|
|
|
f(1)
|
|
|
|
==>
|
|
Program(ExpressionStatement(CallExpression(VariableName,
|
|
ArgumentList(Number))))
|
|
|
|
# deprecated multiple anon args
|
|
|
|
f(1, 2)
|
|
|
|
==>
|
|
Program(ExpressionStatement(CallExpression(VariableName,
|
|
ArgumentList(Number,
|
|
Number))))
|
|
|
|
# deprecated trailing %
|
|
|
|
startSketchOn('XY')
|
|
|> line([thickness, 0], %)
|
|
|
|
==>
|
|
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
|
|
ArgumentList(String)),
|
|
PipeOperator,
|
|
CallExpression(VariableName,
|
|
ArgumentList(ArrayExpression(VariableName,
|
|
Number),
|
|
PipeSubstitution)))))
|
|
|
|
# % and named arg
|
|
|
|
startSketchOn('XY')
|
|
|> line(%, end = [thickness, 0])
|
|
|
|
==>
|
|
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
|
|
ArgumentList(String)),
|
|
PipeOperator,
|
|
CallExpression(VariableName,
|
|
ArgumentList(PipeSubstitution,
|
|
LabeledArgument(ArgumentLabel,
|
|
Equals,
|
|
ArrayExpression(VariableName,
|
|
Number)))))))
|
|
|
|
# implied % and named arg
|
|
|
|
startSketchOn('XY')
|
|
|> line(end = [thickness, 0])
|
|
|
|
==>
|
|
Program(ExpressionStatement(PipeExpression(CallExpression(VariableName,
|
|
ArgumentList(String)),
|
|
PipeOperator,
|
|
CallExpression(VariableName,
|
|
ArgumentList(LabeledArgument(ArgumentLabel,
|
|
Equals,
|
|
ArrayExpression(VariableName,
|
|
Number)))))))
|
|
|
|
# multiple named arg
|
|
|
|
ngon(plane = "XY", numSides = 5, radius = pentR)
|
|
|
|
==>
|
|
Program(ExpressionStatement(CallExpression(VariableName,
|
|
ArgumentList(LabeledArgument(ArgumentLabel,
|
|
Equals,
|
|
String),
|
|
LabeledArgument(ArgumentLabel,
|
|
Equals,
|
|
Number),
|
|
LabeledArgument(ArgumentLabel,
|
|
Equals,
|
|
VariableName)))))
|