Class: Mirah::Util::ProcessErrors::ErrorCollector
- Inherits:
-
NodeScanner
- Object
- NodeScanner
- Mirah::Util::ProcessErrors::ErrorCollector
- Defined in:
- lib/mirah/util/process_errors.rb
Instance Method Summary collapse
- #errors ⇒ Object
- #exitDefault(node, arg) ⇒ Object
-
#initialize(typer) ⇒ ErrorCollector
constructor
A new instance of ErrorCollector.
Constructor Details
#initialize(typer) ⇒ ErrorCollector
Returns a new instance of ErrorCollector.
48 49 50 51 52 |
# File 'lib/mirah/util/process_errors.rb', line 48 def initialize(typer) super() @errors = {} @typer = typer end |
Instance Method Details
#errors ⇒ Object
73 74 75 |
# File 'lib/mirah/util/process_errors.rb', line 73 def errors @errors.values end |
#exitDefault(node, arg) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/mirah/util/process_errors.rb', line 53 def exitDefault(node, arg) type = @typer.getInferredType(node) type = type.resolve if type if (type && type.isError) @errors[type] ||= begin if type..size == 1 m = type.[0] if m.size == 1 m << node rescue nil elsif m.size == 2 && m[1] == nil m[1] = node.position rescue nil end elsif type..size == 0 type. << ["Error", node.position] end type end end nil end |