currentInfo = (ManagedClassInfo) classMap.get(className);
if (currentInfo != null)
{
ClassInfo classInfo = currentInfo.getClassInfo();
if (!classInfo.implementsInterface(StandardDefs.PACKAGE_FLASH_EVENTS,
GenerativeExtension.IEVENT_DISPATCHER))
{
currentInfo.setNeedsToImplementIEventDispatcher(true);
MultiName multiName = new MultiName(StandardDefs.PACKAGE_FLASH_EVENTS,
GenerativeExtension.IEVENT_DISPATCHER);
InterfaceInfo interfaceInfo = typeAnalyzer.analyzeInterface(context, multiName, classInfo);
// interfaceInfo will be null if IEventDispatcher was not resolved.
// This most likely means that playerglobal.swc was not in the
// external-library-path and other errors will be reported, so punt.
if ((interfaceInfo == null) || checkForExistingMethods(context, node, classInfo, interfaceInfo))
{
return null;
}
classInfo.addInterfaceMultiName(StandardDefs.PACKAGE_FLASH_EVENTS,
GenerativeExtension.IEVENT_DISPATCHER);
}
if (!classInfo.implementsInterface(standardDefs.getDataPackage(), IMANAGED))
{
currentInfo.setNeedsToImplementIManaged(true);
// Don't be tempted to check for mx.core.IUID here, because
// analyzeInterface() sets up the inheritance for downstream
// consumers and if we only add IUID to the inheritance, then
// the check for IManaged in the enclosing if statement will fail.
MultiName multiName = new MultiName(standardDefs.getDataPackage(), IMANAGED);
InterfaceInfo interfaceInfo = typeAnalyzer.analyzeInterface(context, multiName, classInfo);
// interfaceInfo will be null if IManaged was not resolved.
// This most likely means that fds.swc was not in the
// library-path and other errors will be reported, so punt.
if ((interfaceInfo == null) || checkForExistingMethods(context, node, classInfo, interfaceInfo))
{
return null;
}
classInfo.addInterfaceMultiName(standardDefs.getDataPackage(), IMANAGED);
}
postProcessClassInfo(context, currentInfo);
if (node.statements != null)