class IDL::AST::Connector
def set_base(parent)
def set_base(parent) unless parent.is_a?(IDL::Type::ScopedName) && parent.is_node?(IDL::AST::TemplateParam) unless (parent.is_a?(IDL::Type::NodeType) && parent.is_node?(self.class)) raise "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{parent.typename}" end @resolved_base = parent.resolved_type.node if @resolved_base.has_base?(self) raise "circular inheritance detected for #{typename} #{scoped_lm_name}: #{parent.node.scoped_lm_name} is descendant" end end @base = parent.node end