11@enum (
2- LintCodes,
3-
4- MissingRef,
2+ LintCodes, MissingRef,
53 IncorrectCallArgs,
64 IncorrectIterSpec,
75 NothingEquality,
@@ -183,9 +181,9 @@ function func_nargs(x::EXPR)
183181 maxargs != = typemax (Int) && (maxargs += 1 )
184182 end
185183 elseif issplat (arg) ||
186- (isdeclaration (arg) &&
187- ((isidentifier (arg. args[2 ]) && valofid (arg. args[2 ]) == " Vararg" ) ||
188- (iscurly (arg. args[2 ]) && isidentifier (arg. args[2 ]. args[1 ]) && valofid (arg. args[2 ]. args[1 ]) == " Vararg" )))
184+ (isdeclaration (arg) &&
185+ ((isidentifier (arg. args[2 ]) && valofid (arg. args[2 ]) == " Vararg" ) ||
186+ (iscurly (arg. args[2 ]) && isidentifier (arg. args[2 ]. args[1 ]) && valofid (arg. args[2 ]. args[1 ]) == " Vararg" )))
189187 maxargs = typemax (Int)
190188 else
191189 minargs += 1
249247# compare_f_call(m_counts, call_counts) = true # fallback method
250248
251249function compare_f_call (
252- (ref_minargs, ref_maxargs, ref_kws, kwsplat),
253- (act_minargs, act_maxargs, act_kws),
254- )
250+ (ref_minargs, ref_maxargs, ref_kws, kwsplat),
251+ (act_minargs, act_maxargs, act_kws),
252+ )
255253 # check matching on positional arguments
256254 if act_maxargs == typemax (Int)
257255 act_minargs <= act_maxargs < ref_minargs && return false
@@ -271,10 +269,10 @@ end
271269
272270function is_something_with_methods (x:: Binding )
273271 (CoreTypes. isfunction (x. type) && x. val isa EXPR) ||
274- (CoreTypes. isdatatype (x. type) && x. val isa EXPR && CSTParser. defines_struct (x. val)) ||
275- (x. val isa SymbolServer. FunctionStore || x. val isa SymbolServer. DataTypeStore)
272+ (CoreTypes. isdatatype (x. type) && x. val isa EXPR && CSTParser. defines_struct (x. val)) ||
273+ (x. val isa SymbolServer. FunctionStore || x. val isa SymbolServer. DataTypeStore)
276274end
277- is_something_with_methods (x:: T ) where T <: Union{SymbolServer.FunctionStore,SymbolServer.DataTypeStore} = true
275+ is_something_with_methods (x:: T ) where T<: Union{SymbolServer.FunctionStore,SymbolServer.DataTypeStore} = true
278276is_something_with_methods (x) = false
279277
280278function check_call (x, env:: ExternalEnv )
@@ -383,13 +381,13 @@ function check_incorrect_iter_spec(x, body, env)
383381 if headof (rng) === :FLOAT || headof (rng) === :INTEGER || (iscall (rng) && refof (rng. args[1 ]) === getsymbols (env)[:Base ][:length ])
384382 seterror! (x, IncorrectIterSpec)
385383 elseif iscall (rng) && valof (rng. args[1 ]) == " :" &&
386- length (rng. args) === 3 &&
387- headof (rng. args[2 ]) === :INTEGER &&
388- iscall (rng. args[3 ]) &&
389- length (rng. args[3 ]. args) > 1 && (
390- refof (rng. args[3 ]. args[1 ]) === getsymbols (env)[:Base ][:length ] ||
391- refof (rng. args[3 ]. args[1 ]) === getsymbols (env)[:Base ][:size ]
392- )
384+ length (rng. args) === 3 &&
385+ headof (rng. args[2 ]) === :INTEGER &&
386+ iscall (rng. args[3 ]) &&
387+ length (rng. args[3 ]. args) > 1 && (
388+ refof (rng. args[3 ]. args[1 ]) === getsymbols (env)[:Base ][:length ] ||
389+ refof (rng. args[3 ]. args[1 ]) === getsymbols (env)[:Base ][:size ]
390+ )
393391 if length (x. args) >= 1
394392 lhs = x. args[1 ]
395393 arr = rng. args[3 ]. args[2 ]
@@ -433,14 +431,14 @@ function check_nothing_equality(x::EXPR, env::ExternalEnv)
433431 if isbinarycall (x) && length (x. args) == 3
434432 _nothing = getsymbols (env)[:Core ][:nothing ]
435433 if valof (x. args[1 ]) == " ==" && (
436- (valof (x. args[2 ]) == " nothing" && refof (x. args[2 ]) == _nothing) ||
437- (valof (x. args[3 ]) == " nothing" && refof (x. args[3 ]) == _nothing)
438- )
434+ (valof (x. args[2 ]) == " nothing" && refof (x. args[2 ]) == _nothing) ||
435+ (valof (x. args[3 ]) == " nothing" && refof (x. args[3 ]) == _nothing)
436+ )
439437 seterror! (x. args[1 ], NothingEquality)
440438 elseif valof (x. args[1 ]) == " !=" && (
441- (valof (x. args[2 ]) == " nothing" && refof (x. args[2 ]) == _nothing) ||
442- (valof (x. args[3 ]) == " nothing" && refof (x. args[3 ]) == _nothing)
443- )
439+ (valof (x. args[2 ]) == " nothing" && refof (x. args[2 ]) == _nothing) ||
440+ (valof (x. args[3 ]) == " nothing" && refof (x. args[3 ]) == _nothing)
441+ )
444442 seterror! (x. args[1 ], NothingNotEq)
445443 end
446444 end
534532
535533function check_modulename (x:: EXPR )
536534 if CSTParser. defines_module (x) && # x is a module
537- scopeof (x) isa Scope && parentof (scopeof (x)) isa Scope && # it has a scope and a parent scope
538- CSTParser. defines_module (parentof (scopeof (x)). expr) && # the parent scope is a module
539- valof (CSTParser. get_name (x)) == valof (CSTParser. get_name (parentof (scopeof (x)). expr)) # their names match
535+ scopeof (x) isa Scope && parentof (scopeof (x)) isa Scope && # it has a scope and a parent scope
536+ CSTParser. defines_module (parentof (scopeof (x)). expr) && # the parent scope is a module
537+ valof (CSTParser. get_name (x)) == valof (CSTParser. get_name (parentof (scopeof (x)). expr)) # their names match
540538 seterror! (CSTParser. get_name (x), InvalidModuleName)
541539 end
542540end
@@ -546,7 +544,7 @@ function check_farg_unused(x::EXPR)
546544 if CSTParser. defines_function (x)
547545 sig = CSTParser. rem_wheres_decls (CSTParser. get_sig (x))
548546 if (headof (x) === :function && length (x. args) == 2 && x. args[2 ] isa EXPR && length (x. args[2 ]. args) == 1 && CSTParser. isliteral (x. args[2 ]. args[1 ])) ||
549- (length (x. args) > 1 && headof (x. args[2 ]) === :block && length (x. args[2 ]. args) == 1 && CSTParser. isliteral (x. args[2 ]. args[1 ]))
547+ (length (x. args) > 1 && headof (x. args[2 ]) === :block && length (x. args[2 ]. args) == 1 && CSTParser. isliteral (x. args[2 ]. args[1 ]))
550548 return # Allow functions that return constants
551549 end
552550 if iscall (sig)
@@ -583,12 +581,12 @@ function check_farg_unused_(arg, arg_names)
583581 valof (b. name) isa String && all_underscore (valof (b. name)) && return false
584582
585583 if b === nothing ||
586- # no refs:
584+ # no refs:
587585 isempty (b. refs) ||
588- # only self ref:
586+ # only self ref:
589587 (length (b. refs) == 1 && first (b. refs) == b. name) ||
590- # first usage has binding:
591- (length (b. refs) > 1 && b. refs[2 ] isa EXPR && hasbinding (b. refs[2 ]))
588+ # first usage has binding:
589+ (length (b. refs) > 1 && b. refs[2 ] isa EXPR && hasbinding (b. refs[2 ]))
592590 seterror! (arg, UnusedFunctionArgument)
593591 end
594592
608606
609607function is_nospecialize_call (x)
610608 CSTParser. ismacrocall (x) &&
611- CSTParser. ismacroname (x. args[1 ]) &&
612- is_nospecialize (x. args[1 ])
609+ CSTParser. ismacroname (x. args[1 ]) &&
610+ is_nospecialize (x. args[1 ])
613611end
614612
615613"""
@@ -629,8 +627,8 @@ function collect_hints(x::EXPR, env, missingrefs=:all, isquoted=false, errs=Tupl
629627 push! (errs, (pos, x))
630628 elseif ! isquoted
631629 if missingrefs != :none && isidentifier (x) && ! hasref (x) &&
632- ! (valof (x) == " var" && parentof (x) isa EXPR && isnonstdid (parentof (x))) &&
633- ! ((valof (x) == " stdcall" || valof (x) == " cdecl" || valof (x) == " fastcall" || valof (x) == " thiscall" || valof (x) == " llvmcall" ) && is_in_fexpr (x, x -> iscall (x) && isidentifier (x. args[1 ]) && valof (x. args[1 ]) == " ccall" ))
630+ ! (valof (x) == " var" && parentof (x) isa EXPR && isnonstdid (parentof (x))) &&
631+ ! ((valof (x) == " stdcall" || valof (x) == " cdecl" || valof (x) == " fastcall" || valof (x) == " thiscall" || valof (x) == " llvmcall" ) && is_in_fexpr (x, x -> iscall (x) && isidentifier (x. args[1 ]) && valof (x. args[1 ]) == " ccall" ))
634632
635633 push! (errs, (pos, x))
636634 elseif haserror (x) && errorof (x) isa StaticLint. LintCodes
659657
660658function should_mark_missing_getfield_ref (x, env)
661659 if isidentifier (x) && ! hasref (x) && # x has no ref
662- parentof (x) isa EXPR && headof (parentof (x)) === :quotenode && parentof (parentof (x)) isa EXPR && is_getfield (parentof (parentof (x))) # x is the rhs of a getproperty
660+ parentof (x) isa EXPR && headof (parentof (x)) === :quotenode && parentof (parentof (x)) isa EXPR && is_getfield (parentof (parentof (x))) # x is the rhs of a getproperty
663661 lhsref = refof_maybe_getfield (parentof (parentof (x)). args[1 ])
664662 hasref (x) && return false # We've resolved
665663 if lhsref isa SymbolServer. ModuleStore || (lhsref isa Binding && lhsref. val isa SymbolServer. ModuleStore)
@@ -728,14 +726,14 @@ function is_type_of_call_to_getproperty(x::EXPR)
728726 if iscall (x)
729727 func_name = x. args[1 ]
730728 return (isidentifier (func_name) && valof (func_name) == " getproperty" ) || # getproperty()
731- (is_getfield_w_quotenode (func_name) && isidentifier (func_name. args[2 ]. args[1 ]) && valof (func_name. args[2 ]. args[1 ]) == " getproperty" ) # Base.getproperty()
729+ (is_getfield_w_quotenode (func_name) && isidentifier (func_name. args[2 ]. args[1 ]) && valof (func_name. args[2 ]. args[1 ]) == " getproperty" ) # Base.getproperty()
732730 end
733731 return false
734732 end
735733
736734 return parentof (x) isa EXPR && parentof (parentof (x)) isa EXPR &&
737- ((isdeclaration (parentof (x)) && x === parentof (x). args[2 ] && is_call_to_getproperty (parentof (parentof (x)))) ||
738- (iscurly (parentof (x)) && x === parentof (x). args[1 ] && isdeclaration (parentof (parentof (x))) && parentof (parentof (parentof (x))) isa EXPR && is_call_to_getproperty (parentof (parentof (parentof (x))))))
735+ ((isdeclaration (parentof (x)) && x === parentof (x). args[2 ] && is_call_to_getproperty (parentof (parentof (x)))) ||
736+ (iscurly (parentof (x)) && x === parentof (x). args[1 ] && isdeclaration (parentof (parentof (x))) && parentof (parentof (parentof (x))) isa EXPR && is_call_to_getproperty (parentof (parentof (parentof (x))))))
739737end
740738
741739isunionfaketype (t:: SymbolServer.FakeTypeName ) = t. name. name === :Union && t. name. parent isa SymbolServer. VarRef && t. name. parent. name === :Core
@@ -968,8 +966,8 @@ function check_unused_binding(b::Binding, scope::Scope)
968966 if headof (scope. expr) != = :struct && headof (scope. expr) != = :tuple && ! all_underscore (valof (b. name))
969967 refs = loose_refs (b)
970968 if (isempty (refs) || length (refs) == 1 && refs[1 ] == b. name) &&
971- ! is_sig_arg (b. name) && ! is_overwritten_in_loop (b. name) &&
972- ! is_overwritten_subsequently (b, scope) && ! is_kw_of_macrocall (b)
969+ ! is_sig_arg (b. name) && ! is_overwritten_in_loop (b. name) &&
970+ ! is_overwritten_subsequently (b, scope) && ! is_kw_of_macrocall (b)
973971 seterror! (b. name, UnusedBinding)
974972 end
975973 end
0 commit comments