return classInfo;
}
private void analyzeBaseInterface(Context context, MultiName multiName, InterfaceInfo interfaceInfo)
{
QName qName = findQName(multiName);
if (qName != null)
{
Source source = symbolTable.findSourceByQName(qName);
InterfaceInfo baseInterfaceInfo = interfaceInfoMap.get( qName.toString() );
if (baseInterfaceInfo == null)
{
CompilationUnit compilationUnit = source.getCompilationUnit();
AbcClass abcClass = null;
if (compilationUnit != null)
{
abcClass = compilationUnit.classTable.get( qName.toString() );
if (abcClass != null)
{
buildInterfaceInfo(context, qName, abcClass);
}
}
if (abcClass == null)
{
Node node = getNode(compilationUnit);
if (node != null)
{
Info oldInfo = currentInfo;
currentInfo = null;
node.evaluate(context, this);
currentInfo = oldInfo;
}
else
{
assert false : "Compilation unit had no type info and after parsing has no syntax tree";
}
}
baseInterfaceInfo = interfaceInfoMap.get( qName.toString() );
}
// The baseInterfaceInfo can be null if there was a missing import.
if (baseInterfaceInfo != null)
{