Java to Kotlin conversion: dropped "NOT_OPEN" pseudo-modifier
This commit is contained in:
@@ -258,17 +258,25 @@ public class Converter(val project: Project, val settings: ConverterSettings) {
|
||||
val returnType = convertType(method.getReturnType(), method.isAnnotatedAsNotNull())
|
||||
|
||||
val modifiers = HashSet(convertModifierList(method.getModifierList()))
|
||||
if (isOverride(method)) {
|
||||
modifiers.add(Modifier.OVERRIDE)
|
||||
}
|
||||
|
||||
val containingClass = method.getContainingClass()
|
||||
if (containingClass != null && containingClass.isInterface()) {
|
||||
modifiers.remove(Modifier.ABSTRACT)
|
||||
}
|
||||
if (containingClass != null && (containingClass.hasModifierProperty(PsiModifier.FINAL) || containingClass.isEnum())) {
|
||||
modifiers.add(Modifier.FINAL)
|
||||
}
|
||||
|
||||
if (isNotOpenMethod(method)) {
|
||||
modifiers.add(Modifier.NOT_OPEN)
|
||||
if (settings.openByDefault &&
|
||||
!modifiers.contains(Modifier.ABSTRACT) &&
|
||||
!modifiers.contains(Modifier.FINAL) &&
|
||||
!modifiers.contains(Modifier.PRIVATE)) {
|
||||
modifiers.add(Modifier.OPEN)
|
||||
}
|
||||
|
||||
if (isOverride(method)) {
|
||||
modifiers.add(Modifier.OVERRIDE)
|
||||
modifiers.remove(Modifier.OPEN)
|
||||
}
|
||||
|
||||
val comments = getComments(method)
|
||||
|
||||
@@ -55,17 +55,6 @@ fun Converter.isOverride(method: PsiMethod): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
fun isNotOpenMethod(method: PsiMethod): Boolean {
|
||||
val parent = method.getParent()
|
||||
if (parent is PsiClass) {
|
||||
val parentModifierList = parent.getModifierList()
|
||||
if ((parentModifierList != null && parentModifierList.hasExplicitModifier(PsiModifier.FINAL)) || parent.isEnum()) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
fun directlyOverridesMethodFromObject(method: PsiMethod): Boolean {
|
||||
var superSignatures = method.getHierarchicalMethodSignature().getSuperSignatures()
|
||||
if (superSignatures.size() == 1) {
|
||||
|
||||
@@ -46,18 +46,10 @@ open class Function(
|
||||
resultingModifiers.add(Modifier.ABSTRACT)
|
||||
}
|
||||
|
||||
if (converter.settings.openByDefault &&
|
||||
!modifiers.contains(Modifier.ABSTRACT) &&
|
||||
!isOverride &&
|
||||
!modifiers.contains(Modifier.FINAL) &&
|
||||
!modifiers.contains(Modifier.PRIVATE)) {
|
||||
if (modifiers.contains(Modifier.OPEN)) {
|
||||
resultingModifiers.add(Modifier.OPEN)
|
||||
}
|
||||
|
||||
if (modifiers.contains(Modifier.NOT_OPEN)) {
|
||||
resultingModifiers.remove(Modifier.OPEN)
|
||||
}
|
||||
|
||||
return resultingModifiers.toKotlin()
|
||||
}
|
||||
|
||||
|
||||
@@ -30,13 +30,11 @@ enum class Modifier(val name: String) {
|
||||
ABSTRACT: Modifier("abstract")
|
||||
FINAL: Modifier("final")
|
||||
OPEN: Modifier("open")
|
||||
NOT_OPEN: Modifier("not open") //TODO: drop it
|
||||
OVERRIDE: Modifier("override")
|
||||
|
||||
public fun toKotlin(): String? {
|
||||
return when(this) {
|
||||
INTERNAL -> null
|
||||
NOT_OPEN -> throw IllegalArgumentException()
|
||||
else -> name
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user