class IDL::Type::String
def initialize(size = nil)
def initialize(size = nil) @size = size end
def instantiate(instantiation_context)
def instantiate(instantiation_context) self.is_template? ? (Type::String.new(@size.instantiate(instantiation_context).value)) : self end
def is_anonymous?
def is_anonymous? @size ? true : false end
def is_template?
def is_template? (@size && @size.is_a?(IDL::Expression) && @size.is_template?) end
def length
def length @size end
def matches?(idltype)
def matches?(idltype) super && self.size == idltype.size end
def narrow(obj)
def narrow(obj) typeerror(obj) unless ::String === obj if @size.nil? obj elsif @size < obj.size typeerror(obj) else obj end end