Module: Mirah::Util::ProcessErrors
Defined Under Namespace
Classes: ErrorCollector
Instance Method Summary collapse
-
#process_errors(errors) ⇒ Object
errors - array of NodeErrors.
- #process_inference_errors(typer, nodes) ⇒ Object
Instance Method Details
#process_errors(errors) ⇒ Object
errors - array of NodeErrors
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/mirah/util/process_errors.rb', line 22 def process_errors(errors) errors.each do |ex| if ex.kind_of?(ErrorType) ex..each do |pair| , position = pair.to_a if position Mirah.print_error(, position) else puts end end if ex. else puts ex if ex.respond_to?(:node) && ex.node Mirah.print_error(ex., ex.position) else puts ex. end error(ex.backtrace.join("\n")) if self.logging? end end throw :exit, 1 unless errors.empty? end |
#process_inference_errors(typer, nodes) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/mirah/util/process_errors.rb', line 78 def process_inference_errors(typer, nodes) errors = [] nodes.each do |ast| collector = ErrorCollector.new(typer) ast.accept(collector, nil) errors.concat(collector.errors) end failed = !errors.empty? if failed if block_given? yield(errors) else puts "Inference Error:" process_errors(errors) end end end |