У меня есть проект Flash, и у него много исходных файлов. У меня довольно популярный класс, назовите его Дженин. Я недавно (и, возможно, бессердечно) перевез Дженин из одного пространства имен в другое. Я думал, что мы были готовы - я думал, что пришло время. Новая Дженина была лучше во всех отношениях - она потеряла часть кода, она развязала себя от нескольких рудиментарных классовых отношений, и, наконец, она вернулась домой в пространство имен, которое она всегда тайно знала в своем сердце, - это то, что она действительно принадлежал. Она была в своем роде.
К сожалению, у Flash этого не было. Возможно, это сформировало приложение. Возможно, он не хотел, чтобы Дженин была отделена. Так или иначе, это цеплялось за старую, прекрасную версию Дженин в ее памяти. Он отказался двигаться дальше. Он игнорировал ее (функцию) вызовов. Он пытался забыть ее новые общедоступные интерфейсы. Вместо этого каждый экземпляр Jenine, который он создавал, всегда был копией старой версии вплоть до ее пути к классу:
var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// Should print: com.newnamespace.subspace::Jenine
// Prints: com.oldnamespace.subspace::Jenine
// Ah, young love!
Мы боролись. Я не горжусь некоторыми вещами, которые я сказал или сделал. В конце, в ярости, я полностью удалил все упоминания о Дженине. Она была полностью, полностью стерта из системы. Мой курсор упал на пункт меню «Пустая корзина», как на холодную крышку гроба.
Я не думаю, что Flash когда-либо выздоровел. По сей день это все еще цепляется за память о Дженине. Ее старые, несовершенные определения все еще плавают в моем проекте, как заброшенные призраки. Всякий раз, когда я заставляю Flash скомпилировать, он все равно с любовью вставляет ее в мой фильм, укореняя ее определение среди других живых классов, как маленький храм. Интересно, смогут ли они ее увидеть?
Флэш и я больше не разговариваю. Я пишу свой код, он компилирует его. В городе есть новая девушка по имени Саммер, которая выглядит почти идентично Дженин, как будто кто-то просто скопировал ее исходный код оптом в новый класс, но Flash не проявил никакого интереса. В большинстве случаев он просто шутит и пишет плохие стихи в моих комментариях, когда думает, что я не смотрю.
Я надеюсь, что ни у кого не было подобного опыта, что это просто необычная, болезненная рябь в ужасающей темной лагуне, которая является базой кода Flash. У кого-нибудь есть идеи, как стереть кеш, который использует компилятор?