Class: MilkTea::ContainsProcTypeVisitor

Inherits:
TypeVisitor show all
Defined in:
lib/milk_tea/core/types/visitor.rb

Instance Method Summary collapse

Methods inherited from TypeVisitor

#dispatch, #visit, #visit_children, #visit_default, #visit_dyn, #visit_event, #visit_function, #visit_generic_struct_definition, #visit_generic_variant_definition, #visit_lifetime_ref, #visit_null, #visit_nullable, #visit_parameter, #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

#initializeContainsProcTypeVisitor

Returns a new instance of ContainsProcTypeVisitor.



122
123
124
125
# File 'lib/milk_tea/core/types/visitor.rb', line 122

def initialize
  super
  @found = false
end

Instance Method Details

#found?Boolean

Returns:

  • (Boolean)


127
128
129
# File 'lib/milk_tea/core/types/visitor.rb', line 127

def found?
  @found
end

#visit_generic_instance(type) ⇒ Object



135
136
137
138
139
# File 'lib/milk_tea/core/types/visitor.rb', line 135

def visit_generic_instance(type)
  if type.name == "array" && type.arguments.first && !type.arguments.first.is_a?(Types::LiteralTypeArg)
    visit(type.arguments.first)
  end
end

#visit_proc(type) ⇒ Object



131
132
133
# File 'lib/milk_tea/core/types/visitor.rb', line 131

def visit_proc(type)
  @found = true
end