Applying IBM JDK fixes made on 3.0.1.x to 3.x (remembering that unlike trunk, the 3.x branches have asc.jar precompiled and checked in).
Fixing SwcFile.equals() to compare its VirtualFile rather than comparing an instance's VirtualFile to a SwcFile instance. This worked in many scenarios on Sun's JDK as its HashMap.get() implementation has an optimization that tests entry.key == key before calling .equals(). IBM 1.6 HashMap.get() calls .equals() and thus runs into this error for many VirtualFile implementations (as they typically only consider entities equal if they are of the same type, and clearly InMemoryFile != SwcFile).
Also adding a workaround in ASC for now to avoid an infinite cycle of Multinames put() -> checkDelegate() -> super.putAll() -> put(). I'll transfer SDK-18978 to an ASC bug for further investigation on IBM JDK to track down the root cause.
Also fixing merge error noticed in macromedia.asc.util.Context that was necessary in order to compile asc.jar.
QE: Yes, please retest.
Reviewer: Paul, Erik
SDK-19971 - Nullpointer with IBM JDK 1.6
SDK-18978 - Can't compile mxml app using IBM JDK 1.6.
SDK-19972 - incremental compile with IBM JDK 1.6 gives null pointer