diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt index 6319a5bed31..7f5c37d98da 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt @@ -314,8 +314,7 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) { JKEnumConstantImpl( JKNameIdentifierImpl(name), with(expressionTreeMapper) { argumentList.toJK() }, - JKTypeElementImpl(JKClassTypeImpl(symbolProvider.provideDirectSymbol(containingClass!!) as JKClassSymbol, emptyList())), - with(modifierMapper) { modifierList.toJK() } + JKTypeElementImpl(JKClassTypeImpl(symbolProvider.provideDirectSymbol(containingClass!!) as JKClassSymbol, emptyList())) ) fun PsiMember.modality() = diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt index 8940662fb5f..50d87dbb3c1 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt @@ -55,13 +55,18 @@ private fun JKKtOperatorToken.binaryExpressionMethodSymbol( private fun JKKtOperatorToken.unaryExpressionMethodSymbol( operandType: JKType, symbolProvider: JKSymbolProvider -): JKMethodSymbol = - operandType.classSymbol(symbolProvider).target.declarations// todo look for extensions - .asSequence() - .filterIsInstance() - .filter { it.name == operatorName } - .mapNotNull { symbolProvider.provideDirectSymbol(it) as? JKMethodSymbol } - .firstOrNull()!! +): JKMethodSymbol { + val classSymbol = operandType.classSymbol(symbolProvider) + return when (classSymbol) { + is JKMultiverseKtClassSymbol ->// todo look for extensions + classSymbol.target.declarations.asSequence() + .filterIsInstance() + .filter { it.name == operatorName } + .mapNotNull { symbolProvider.provideDirectSymbol(it) as? JKMethodSymbol } + .firstOrNull()!! + else -> TODO(classSymbol::class.toString()) + } +} fun kotlinBinaryExpression(