Swans lose Heeney for rest of season