New J2K: Fix enum constant constructing
This commit is contained in:
committed by
Ilya Kirillov
parent
b3dc0d4aff
commit
2292e0b792
@@ -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() =
|
||||
|
||||
@@ -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<KtNamedFunction>()
|
||||
.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<KtNamedFunction>()
|
||||
.filter { it.name == operatorName }
|
||||
.mapNotNull { symbolProvider.provideDirectSymbol(it) as? JKMethodSymbol }
|
||||
.firstOrNull()!!
|
||||
else -> TODO(classSymbol::class.toString())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun kotlinBinaryExpression(
|
||||
|
||||
Reference in New Issue
Block a user