Skip to content

Commit 27ff1c8

Browse files
authored
Merge pull request #299 from julia-vscode/params-fix
Params fix
2 parents 7583d06 + 6fda620 commit 27ff1c8

File tree

3 files changed

+10
-16
lines changed

3 files changed

+10
-16
lines changed

src/components/internals.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ function parse_parameters(ps::ParseState, args::Vector{EXPR}, args1::Vector{EXPR
226226
push!(trivia, EXPR(:errortoken, EXPR[EXPR(:COMMA, 0, 0)], nothing))
227227
end
228228
if kindof(ps.ws) == SemiColonWS
229-
parse_parameters(ps, args1; usekw=usekw)
229+
parse_parameters(ps, args1, EXPR[], 1; usekw=usekw)
230230
end
231231
prevpos = isfirst ? loop_check(ps, prevpos) : position(ps)
232232
isfirst = true

src/conversion.jl

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -195,20 +195,6 @@ function Expr(x::EXPR)
195195
Expr(:string, Expr.(x.args[2:end])...)
196196
elseif x.args === nothing
197197
Expr(Symbol(lowercase(String(x.head))))
198-
elseif x.head === :parameters
199-
if length(x.args) > 1 && any(a -> a.head === :parameters, x.args)
200-
ordered_args = EXPR[]
201-
for arg in x.args
202-
if arg.head === :parameters
203-
pushfirst!(ordered_args, arg)
204-
else
205-
push!(ordered_args, arg)
206-
end
207-
end
208-
Expr(:parameters, Expr.(ordered_args)...)
209-
else
210-
Expr(:parameters, Expr.(x.args)...)
211-
end
212198
elseif x.head === :errortoken
213199
Expr(:error)
214200
else

src/iterate.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,15 @@ function _getindex(x::EXPR, i)
7373
elseif headof(x) === :outer
7474
ta(x, i)
7575
elseif headof(x) === :parameters
76-
if length(x.args) > 1 && headof(x.args[2]) === :parameters
76+
if length(x.args) > 1 && headof(x.args[1]) === :parameters
77+
if i == length(x)
78+
x.args[1]
79+
elseif iseven(i)
80+
x.trivia[div(i, 2)]
81+
else
82+
x.args[div(i + 1, 2) + 1]
83+
end
84+
elseif length(x.args) > 1 && headof(x.args[2]) === :parameters
7785
if i == length(x)
7886
x.args[2]
7987
elseif i == 1

0 commit comments

Comments
 (0)