@@ -55,11 +55,11 @@ function resolve_ref(x::EXPR, scope::Scope, state::State)::Bool
55
55
setref! (x, Binding (noname, nothing , nothing , []))
56
56
return true
57
57
end
58
- x1, mn = nameof_expr_to_resolve (x)
59
- mn == true && return true
58
+ mn = nameof_expr_to_resolve (x)
59
+ mn === nothing && return true
60
60
61
61
if scopehasbinding (scope, mn)
62
- setref! (x1 , scope. names[mn])
62
+ setref! (x , scope. names[mn])
63
63
resolved = true
64
64
elseif scope. modules isa Dict && length (scope. modules) > 0
65
65
for m in values (scope. modules)
@@ -107,11 +107,11 @@ function resolve_ref_from_module(x::EXPR, scope::Scope, state::State)::Bool
107
107
hasref (x) && return true
108
108
resolved = false
109
109
110
- x1, mn = nameof_expr_to_resolve (x)
111
- mn == true && return true
110
+ mn = nameof_expr_to_resolve (x)
111
+ mn === nothing && return true
112
112
113
113
if scope_exports (scope, mn, state)
114
- setref! (x1 , scope. names[mn])
114
+ setref! (x , scope. names[mn])
115
115
resolved = true
116
116
end
117
117
return resolved
@@ -144,10 +144,8 @@ function initial_pass_on_exports(x::EXPR, name, server)
144
144
for a in x. args[3 ] # module block expressions
145
145
if headof (a) === :export
146
146
for i = 1 : length (a. args)
147
- if isidentifier (a. args[i]) && valof (a. args[i]) == name
148
- if ! hasref (a. args[i])
149
- Delayed (scopeof (x), server)(a. args[i])
150
- end
147
+ if isidentifier (a. args[i]) && valof (a. args[i]) == name && ! hasref (a. args[i])
148
+ Delayed (scopeof (x), server)(a. args[i])
151
149
end
152
150
end
153
151
end
@@ -220,12 +218,11 @@ function resolve_getfield(x::EXPR, b::Binding, state::State)::Bool
220
218
end
221
219
222
220
function resolve_getfield (x:: EXPR , parent_type, state:: State ):: Bool
223
- hasref (x) && return true
224
- return false
221
+ hasref (x)
225
222
end
226
223
227
224
function is_overloaded (val:: SymbolServer.SymStore , scope:: Scope )
228
- ( vr = val. name isa SymbolServer. FakeTypeName ? val. name. name : val. name)
225
+ vr = val. name isa SymbolServer. FakeTypeName ? val. name. name : val. name
229
226
haskey (scope. overloaded, vr)
230
227
end
231
228
@@ -257,15 +254,6 @@ function resolve_getfield(x::EXPR, m::SymbolServer.ModuleStore, state::State)::B
257
254
return resolved
258
255
end
259
256
260
- # function is_overloaded1(x, tls, val)
261
- # vr = val.name isa SymbolServer.FakeTypeName ? val.name.name : val.name
262
- # if haskey(tls.names, valof(x)) && tls.names[valof(x)] isa Binding && first(tls.names[valof(x)]) isa SymbolServer.FunctionStore
263
-
264
- # end
265
- # haskey(tls.overloaded, vr)
266
-
267
- # end
268
-
269
257
function resolve_getfield (x:: EXPR , parent:: SymbolServer.DataTypeStore , state:: State ):: Bool
270
258
hasref (x) && return true
271
259
resolved = false
282
270
283
271
resolvable_macroname (x:: EXPR ) = isidentifier (x) && CSTParser. ismacroname (x) && refof (x) === nothing
284
272
285
- """
286
- module_safety_trip(scope::Scope, visited_scopes)
287
-
288
- Checks whether the scope is a module and we've visited it before,
289
- otherwise adds the module to the list.
290
- """
291
- function module_safety_trip (scope:: Scope , visited_scopes)
292
- if CSTParser. defines_module (scope. expr) && length (scope. expr. args) > 1 && isidentifier (scope. expr. args[2 ])
293
- s_m_name = valofid (scope. expr. args[2 ])
294
- if s_m_name in visited_scopes
295
- return true
296
- else
297
- push! (visited_scopes, s_m_name)
298
- end
299
- end
300
- return false
301
- end
302
-
303
-
304
- function nameof_expr_to_resolve (x)
305
- if isidentifier (x)
306
- mn = valofid (x)
307
- else
308
- return x, true
309
- end
310
- x, mn
311
- end
273
+ nameof_expr_to_resolve (x) = isidentifier (x) ? valofid (x) : nothing
312
274
313
275
"""
314
276
valofid(x)
@@ -324,4 +286,4 @@ new_within_struct(x::EXPR)
324
286
Checks whether x is a reference to `new` within a datatype constructor.
325
287
"""
326
288
new_within_struct (x:: EXPR ) = isidentifier (x) && valofid (x) == " new" && is_in_fexpr (x, CSTParser. defines_struct)
327
- is_special_macro_term (x:: EXPR ) = isidentifier (x) && (valofid (x) == " __source__" || valofid (x) == " __module__" ) && is_in_fexpr (x, CSTParser. defines_macro)
289
+ is_special_macro_term (x:: EXPR ) = isidentifier (x) && (valofid (x) == " __source__" || valofid (x) == " __module__" ) && is_in_fexpr (x, CSTParser. defines_macro)
0 commit comments