Skip to content

Commit f906170

Browse files
authored
Merge pull request #34 from ruby/require_prism_1_0_0
Use prism ~> 1.0
2 parents e7f4bf8 + 3f70c84 commit f906170

File tree

3 files changed

+18
-12
lines changed

3 files changed

+18
-12
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
strategy:
5454
fail-fast: false
5555
matrix:
56-
prism: ['latest', '0.30.0', '0.29.0']
56+
prism: ['latest', '1.0.0']
5757
env:
5858
GEMFILE_PRISM_VERSION: ${{ matrix.prism }}
5959
steps:

lib/repl_type_completor/type_analyzer.rb

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -466,13 +466,19 @@ def evaluate_multi_write_node(node, scope)
466466
value.is_a?(Array) ? Types.array_of(*value) : value
467467
end
468468

469-
def evaluate_if_node(node, scope) = evaluate_if_unless(node, scope)
470-
def evaluate_unless_node(node, scope) = evaluate_if_unless(node, scope)
471-
def evaluate_if_unless(node, scope)
469+
def evaluate_if_node(node, scope)
472470
evaluate node.predicate, scope
473471
Types::UnionType[*scope.run_branches(
474472
-> { node.statements ? evaluate(node.statements, _1) : Types::NIL },
475-
-> { node.consequent ? evaluate(node.consequent, _1) : Types::NIL }
473+
-> { node.subsequent ? evaluate(node.subsequent, _1) : Types::NIL }
474+
)]
475+
end
476+
477+
def evaluate_unless_node(node, scope)
478+
evaluate node.predicate, scope
479+
Types::UnionType[*scope.run_branches(
480+
-> { node.statements ? evaluate(node.statements, _1) : Types::NIL },
481+
-> { node.else_clause ? evaluate(node.else_clause, _1) : Types::NIL }
476482
)]
477483
end
478484

@@ -582,10 +588,10 @@ def evaluate_rescue_node(node, scope)
582588
end
583589
node.statements ? evaluate(node.statements, s) : Types::NIL
584590
end
585-
if node.consequent # begin; rescue A; rescue B; end
591+
if node.subsequent # begin; rescue A; rescue B; end
586592
types = scope.run_branches(
587593
run_rescue,
588-
-> { evaluate node.consequent, _1 }
594+
-> { evaluate node.subsequent, _1 }
589595
)
590596
Types::UnionType[*types]
591597
else
@@ -700,8 +706,8 @@ def evaluate_case_node(node, scope)
700706
branches = node.conditions.map do |condition|
701707
->(s) { evaluate_case_when_condition condition, s }
702708
end
703-
if node.consequent
704-
branches << ->(s) { evaluate node.consequent, s }
709+
if node.else_clause
710+
branches << ->(s) { evaluate node.else_clause, s }
705711
else
706712
branches << ->(_s) { Types::NIL }
707713
end
@@ -714,8 +720,8 @@ def evaluate_case_match_node(node, scope)
714720
branches = node.conditions.map do |condition|
715721
->(s) { evaluate_case_in_condition target, condition, s }
716722
end
717-
if node.consequent
718-
branches << ->(s) { evaluate node.consequent, s }
723+
if node.else_clause
724+
branches << ->(s) { evaluate node.else_clause, s }
719725
end
720726
Types::UnionType[*scope.run_branches(*branches)]
721727
end

repl_type_completor.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ Gem::Specification.new do |spec|
2929
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
3030
spec.require_paths = ["lib"]
3131

32-
spec.add_dependency "prism", ">= 0.29.0"
32+
spec.add_dependency "prism", "~> 1.0"
3333
spec.add_dependency "rbs", ">= 2.7.0", "< 4.0.0"
3434
end

0 commit comments

Comments
 (0)