Sha256: 9066f3544fc9ab27ff0f36a4d94a5688edfefbf21f33203d09f622ce469a7468
Contents?: true
Size: 743 Bytes
Versions: 4
Compression:
Stored size: 743 Bytes
Contents
require 'securerandom' module Yoda module Typing module Types class Var < Base def initialize(label = nil, ref = nil) @id = SecureRandom.alphanumeric(20) @label = label @ref = ref end # @param new_ref [Base] def ref=(new_ref) return if new_ref == self @ref = new_ref end def reference? true end # @return [Base, nil] def ref @ref&.ref end def to_expression ref&.to_expression || Store::TypeExpressions::UnknownType.new end def to_type_string ref ? ref.to_type_string : "var(#{label}:#{id})" end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems