class IDL::AST::Connector

def base_ports(traversed)

recursively collect ports from bases
def base_ports(traversed)
  traversed.push self
  ports = []
  if (base = @resolved_base)
    base = base.idltype.resolved_type.node if base.is_a?(IDL::AST::Typedef)
    ports = base.ports(true, traversed) unless traversed.include?(base)
  end
  ports
end