Skip to content

Commit

Permalink
Fix newly found offenses
Browse files Browse the repository at this point in the history
  • Loading branch information
Sija committed Feb 25, 2025
1 parent a839c9a commit 28837ac
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 23 deletions.
4 changes: 1 addition & 3 deletions src/ameba/ast/util.cr
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,7 @@ module Ameba::AST::Util
flow_expressions? [node.whens, node.else].flatten, in_loop
when Crystal::ExceptionHandler
flow_expressions? [node.else || node.body, node.rescues].flatten, in_loop
when Crystal::While, Crystal::Until
flow_expression? node.body, in_loop
when Crystal::Rescue, Crystal::When
when Crystal::While, Crystal::Until, Crystal::Rescue, Crystal::When
flow_expression? node.body, in_loop
when Crystal::Expressions
node.expressions.any? { |exp| flow_expression? exp, in_loop }
Expand Down
5 changes: 2 additions & 3 deletions src/ameba/ast/variabling/assignment.cr
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,8 @@ module Ameba::AST
# Returns the target node of the variable in this assignment.
def target_node
case assign = node
when Crystal::Assign then assign.target
when Crystal::OpAssign then assign.target
when Crystal::UninitializedVar then assign.var
when Crystal::UninitializedVar then assign.var
when Crystal::Assign, Crystal::OpAssign then assign.target
when Crystal::MultiAssign
assign.targets.find(node) do |target|
target.is_a?(Crystal::Var) && target.name == variable.name
Expand Down
8 changes: 4 additions & 4 deletions src/ameba/ast/variabling/variable.cr
Original file line number Diff line number Diff line change
Expand Up @@ -137,10 +137,10 @@ module Ameba::AST
# `false` otherwise.
def target_of?(assign)
case assign
when Crystal::Assign then eql?(assign.target)
when Crystal::OpAssign then eql?(assign.target)
when Crystal::MultiAssign then assign.targets.any? { |target| eql?(target) }
when Crystal::UninitializedVar then eql?(assign.var)
when Crystal::UninitializedVar then eql?(assign.var)
when Crystal::Assign, Crystal::OpAssign then eql?(assign.target)
when Crystal::MultiAssign
assign.targets.any? { |target| eql?(target) }
else
false
end
Expand Down
12 changes: 6 additions & 6 deletions src/ameba/ast/visitors/scope_visitor.cr
Original file line number Diff line number Diff line change
Expand Up @@ -167,19 +167,19 @@ module Ameba::AST
# :nodoc:
def visit(node : Crystal::Call)
scope = @current_scope

case
when (scope.top_level? || scope.type_definition?) && record_macro?(node)
return false
when scope.type_definition? && accessor_macro?(node)
return false
when (scope.top_level? || scope.type_definition?) && record_macro?(node),
scope.type_definition? && accessor_macro?(node)
false
when scope.def? && special_node?(node)
scope.arguments.each do |arg|
ref = arg.variable.reference(scope)
ref.explicit = false
end
true
else
true
end
true
end

private def special_node?(node)
Expand Down
2 changes: 1 addition & 1 deletion src/ameba/severity.cr
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ module Ameba
def color : Colorize::Color
case self
in Error then Colorize::ColorANSI::Red
in Warning then Colorize::ColorANSI::Red
in Warning then Colorize::ColorANSI::Red # ameba:disable Lint/DuplicateBranch
in Convention then Colorize::ColorANSI::Blue
end
end
Expand Down
8 changes: 2 additions & 6 deletions src/ameba/tokenizer.cr
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,9 @@ module Ameba
block.call token

case token.type
when .delimiter_end?
break
when .interpolation_start?
run_normal_state lexer, break_on_rcurly: true, &block
when .eof?
when .delimiter_end?, .eof?
break
end
end
Expand All @@ -89,9 +87,7 @@ module Ameba
block.call token

case token.type
when .string_array_end?
break
when .eof?
when .string_array_end?, .eof?
break
end
end
Expand Down

0 comments on commit 28837ac

Please sign in to comment.