class TypedRb::Runtime::TypeSignatureProcessor
Constants
- PARAMETRIC_TYPE_PREFIX
Public Class Methods
process(signature)
click to toggle source
# File lib/typed/runtime/type_signature_processor.rb, line 10 def process(signature) type_signature = signature.split(PARAMETRIC_TYPE_PREFIX).last type_signature, super_type_signatures = parse_generic_supertype(type_signature) generic_type = ::TypedRb::TypeSignature::Parser.parse(type_signature) if super_type_signatures generic_super_types = super_type_signatures.split(/\s*,\s*/).map do |super_type_signature| ::TypedRb::TypeSignature::Parser.parse(super_type_signature) end end BasicObject::TypeRegistry.register_generic_type_information(generic_type, generic_super_types) end
type_signature?(signature)
click to toggle source
# File lib/typed/runtime/type_signature_processor.rb, line 6 def type_signature?(signature) signature.index(PARAMETRIC_TYPE_PREFIX) == 0 end