@@ -61,13 +61,13 @@ function parse_variable_def!(dict, mod, arg, varclass, kwargs, def = nothing)
61
61
arg isa LineNumberNode && return
62
62
MLStyle. @match arg begin
63
63
a:: Symbol => begin
64
- push! (kwargs, Expr (:kw , a, def ))
64
+ push! (kwargs, Expr (:kw , a, nothing ))
65
65
var = generate_var! (dict, a, varclass)
66
66
dict[:kwargs ][getname (var)] = def
67
67
(var, nothing )
68
68
end
69
69
Expr (:call , a, b) => begin
70
- push! (kwargs, Expr (:kw , a, def ))
70
+ push! (kwargs, Expr (:kw , a, nothing ))
71
71
var = generate_var! (dict, a, b, varclass)
72
72
dict[:kwargs ][getname (var)] = def
73
73
(var, nothing )
@@ -77,14 +77,6 @@ function parse_variable_def!(dict, mod, arg, varclass, kwargs, def = nothing)
77
77
def, meta = parse_default (mod, b)
78
78
var, _ = parse_variable_def! (dict, mod, a, varclass, kwargs, def)
79
79
dict[varclass][getname (var)][:default ] = def
80
- if typeof (def) != Symbol
81
- var = setdefault (var, def)
82
- def = nothing
83
- else
84
- def in [keys (dict[:kwargs ])... ;] ||
85
- error (" $def is not a known parameter or variable" )
86
- var = setdefault (var, def)
87
- end
88
80
if ! isnothing (meta)
89
81
if (ct = get (meta, VariableConnectType, nothing )) != = nothing
90
82
dict[varclass][getname (var)][:connection_type ] = nameof (ct)
@@ -94,12 +86,12 @@ function parse_variable_def!(dict, mod, arg, varclass, kwargs, def = nothing)
94
86
(var, def)
95
87
end
96
88
Expr (:tuple , a, b) => begin
97
- var, _ = parse_variable_def! (dict, mod, a, varclass, kwargs)
89
+ var, def = parse_variable_def! (dict, mod, a, varclass, kwargs)
98
90
meta = parse_metadata (mod, b)
99
91
if (ct = get (meta, VariableConnectType, nothing )) != = nothing
100
92
dict[varclass][getname (var)][:connection_type ] = nameof (ct)
101
93
end
102
- (set_var_metadata (var, meta), nothing )
94
+ (set_var_metadata (var, meta), def )
103
95
end
104
96
_ => error (" $arg cannot be parsed" )
105
97
end
@@ -336,11 +328,12 @@ function parse_extend!(exprs, ext, dict, body)
336
328
end
337
329
338
330
function parse_variable_arg! (expr, vs, dict, mod, arg, varclass, kwargs)
339
- vv, _ = parse_variable_def! (dict, mod, arg, varclass, kwargs)
331
+ vv, def = parse_variable_def! (dict, mod, arg, varclass, kwargs)
340
332
v = Num (vv)
341
333
name = getname (v)
342
334
push! (vs, name)
343
- push! (expr. args, :($ name = $ name === nothing ? $ vv : $ setdefault ($ vv, $ name)))
335
+ push! (expr. args,
336
+ :($ name = $ name === nothing ? $ setdefault ($ vv, $ def) : $ setdefault ($ vv, $ name)))
344
337
end
345
338
346
339
function parse_variables! (exprs, vs, dict, mod, body, varclass, kwargs)
0 commit comments