FIR: protect importing scopes from empty names

This commit is contained in:
Mikhail Glukhikh
2019-04-22 10:00:27 +03:00
parent 8324ee7272
commit bb7dcd9945
2 changed files with 5 additions and 5 deletions
@@ -49,7 +49,7 @@ abstract class FirAbstractImportingScope(session: FirSession, lookupInFir: Boole
if (action.stop()) {
return ProcessorAction.STOP
}
} else {
} else if (name.isSpecial || name.identifier.isNotEmpty()) {
val matchedClass = provider.getClassLikeSymbolByFqName(ClassId(import.packageFqName, name))
if (processConstructors(
matchedClass,
@@ -27,10 +27,10 @@ abstract class FirAbstractStarImportingScope(
): Boolean {
for (import in starImports) {
val relativeClassName = import.relativeClassName
val classId = if (relativeClassName == null) {
ClassId(import.packageFqName, name)
} else {
ClassId(import.packageFqName, relativeClassName.child(name), false)
val classId = when {
!name.isSpecial && name.identifier.isEmpty() -> return true
relativeClassName == null -> ClassId(import.packageFqName, name)
else -> ClassId(import.packageFqName, relativeClassName.child(name), false)
}
val symbol = provider.getClassLikeSymbolByFqName(classId) ?: continue
if (!processor(symbol)) {