class IDL::Type::WString
def initialize(size = nil)
def initialize(size = nil) @size = size end
def instantiate(instantiation_context)
def instantiate(instantiation_context) self.is_template? ? Type::WString.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::ScopedName) && @size.node.is_a?(IDL::AST::TemplateParam)) 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 ::Array === obj if @size.nil? obj elsif @size < obj.size typeerror(obj) else obj end end