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_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.



120
121
122
123
# File 'lib/milk_tea/core/types/visitor.rb', line 120

def initialize
  super
  @found = false
end

Instance Method Details

#found?Boolean

Returns:

  • (Boolean)


125
126
127
# File 'lib/milk_tea/core/types/visitor.rb', line 125

def found?
  @found
end

#visit_generic_instance(type) ⇒ Object



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

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



129
130
131
# File 'lib/milk_tea/core/types/visitor.rb', line 129

def visit_proc(type)
  @found = true
end