Flash 프로젝트가 있고 많은 소스 파일이 있습니다. 나는 상당히 많이 사용되는 클래스를 가지고 있는데 그것을 Jenine이라고 부릅니다. 나는 최근(그리고 아마도 냉담하게) Jenine을 한 네임스페이스에서 다른 네임스페이스로 재배치했습니다. 나는 우리가 준비가 되었다고 생각했다 - 나는 때가 되었다고 생각했다. 새로운 Jenine은 모든 면에서 더 좋았습니다. 그녀는 코드 부풀림을 약간 잃어버렸고, 몇 가지 흔적이 남아 있는 계급 관계에서 자신을 분리했으며, 마침내 그녀는 마음속으로 항상 비밀리에 알고 있던 이름 공간이 진정 그녀의 이름임을 알게 되었습니다. 에 속하다. 그녀는 자신의 부류에 속했습니다.
불행히도 Flash에는 그런 기능이 없습니다. 아마도 그것은 애착을 형성했을 것입니다. 아마도 Jenine이 분리되는 것을 원하지 않았을 것입니다. 어느 쪽이든, 그것은 기억에 오래되고 완벽한 버전의 Jenine을 붙였습니다. 진행을 거부했습니다. 그것은 그녀의 (함수) 호출을 무시했습니다. 그녀의 새로운 공개 인터페이스를 잊으려 했습니다. 대신, 생성한 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는 여전히 사랑스럽게 그녀를 내 영화에 삽입하고 그녀의 정의를 작은 신사와 같은 다른 살아있는 계층 사이에 자리잡게 합니다. 그들이 그녀를 볼 수 있는지 궁금합니다.
플래시와 나는 더 이상 말을 하지 않는다. 내 코드를 작성하면 컴파일됩니다. 마치 누군가가 그녀의 소스 코드를 새 클래스에 복사한 것처럼 거의 비슷하게 보이는 Summer라는 이름의 새로운 소녀가 있지만 Flash는 관심을 보이지 않습니다. 대부분의 날 그것은 내가 보고 있지 않다고 생각할 때 그냥 뒹굴고 내 댓글에 나쁜 시를 씁니다.
다른 누구도 비슷한 경험을 하지 않았기를 바랍니다. 이것이 Flash 코드 기반인 끔찍하고 어두운 석호에서 하나의 고통스러운 파문일 뿐입니다. 컴파일러가 사용하는 캐시를 지우는 방법을 아는 사람이 있습니까?