Skip to content

Commit

Permalink
Refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
KaanOzkan committed Nov 24, 2023
1 parent 098eca1 commit b8cec39
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions gem/lib/rbi-central/runtime/visitor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,21 @@ def initialize(context)
def visit(node)
return unless node

skip = validate_node!(node)
visit_all(node.nodes) if node.is_a?(RBI::Tree) && !skip
annotations = validate_annotations!(node)
return if is_shim?(annotations)

validate_definition!(node, annotations)
visit_all(node.nodes) if node.is_a?(RBI::Tree)
end

sig { params(node: RBI::Node).returns(T.nilable(T.any(T::Boolean, Module))) }
def validate_node!(node)
annotations = validate_annotations!(node)
private

# Do not test definitions tagged `@shim`
if annotations.include?("shim")
return true if node.is_a?(RBI::Class) || node.is_a?(RBI::Module)
return false
end
def is_shim?(annotations)
annotations.include?("shim")
end

sig { params(node: RBI::Node, annotations: T::Array[String]).void }
def validate_definition!(node, annotations)
loc = T.must(node.loc)

case node
Expand Down

0 comments on commit b8cec39

Please sign in to comment.