Class: MilkTea::ProcStorageSupportedVisitor
Instance Method Summary
collapse
Methods inherited from TypeVisitor
#visit, #visit_default, #visit_dyn, #visit_event, #visit_function, #visit_generic_instance, #visit_generic_struct_definition, #visit_generic_variant_definition, #visit_lifetime_ref, #visit_null, #visit_nullable, #visit_parameter, #visit_proc, #visit_simd, #visit_soa, #visit_span, #visit_struct, #visit_struct_instance, #visit_task, #visit_tuple, #visit_type_var, #visit_union, #visit_variant, #visit_variant_arm_payload, #visit_variant_instance
Constructor Details
Returns a new instance of ProcStorageSupportedVisitor.
367
368
369
370
|
# File 'lib/milk_tea/core/types/visitor.rb', line 367
def initialize
super
@supported = true
end
|
Instance Method Details
#dispatch(type) ⇒ Object
376
377
378
379
380
381
382
383
384
385
386
|
# File 'lib/milk_tea/core/types/visitor.rb', line 376
def dispatch(type)
case type
when Types::Nullable, Types::GenericInstance, Types::Struct, Types::Union,
Types::StructInstance, Types::Variant, Types::VariantInstance, Types::VariantArmPayload,
Types::Tuple, Types::Span
visit_children(type)
when Types::Proc
when Types::Task, Types::Function, Types::Dyn, Types::SoA
@supported = false
end
end
|
#result? ⇒ Boolean
372
373
374
|
# File 'lib/milk_tea/core/types/visitor.rb', line 372
def result?
@supported
end
|
#visit_children(type) ⇒ Object
388
389
390
391
392
393
|
# File 'lib/milk_tea/core/types/visitor.rb', line 388
def visit_children(type)
type.children.each do |child|
visit(child)
return unless @supported
end
end
|