New J2K: Add nullability to all types
This commit is contained in:
committed by
Ilya Kirillov
parent
58de0ae6bc
commit
0e2dac0899
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.j2k.tree.impl
|
package org.jetbrains.kotlin.j2k.tree.impl
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.j2k.ast.Nullability
|
||||||
import org.jetbrains.kotlin.j2k.tree.*
|
import org.jetbrains.kotlin.j2k.tree.*
|
||||||
import org.jetbrains.kotlin.j2k.tree.JKLiteralExpression.LiteralType.*
|
import org.jetbrains.kotlin.j2k.tree.JKLiteralExpression.LiteralType.*
|
||||||
import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor
|
import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor
|
||||||
@@ -125,9 +126,13 @@ sealed class JKJavaPrimitiveTypeImpl(override val jvmPrimitiveType: JvmPrimitive
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object JKJavaVoidType : JKType
|
object JKJavaVoidType : JKType {
|
||||||
|
override val nullability: Nullability
|
||||||
|
get() = Nullability.NotNull
|
||||||
|
}
|
||||||
|
|
||||||
class JKJavaArrayTypeImpl(override val type: JKType) : JKJavaArrayType
|
class JKJavaArrayTypeImpl(override val type: JKType, override val nullability: Nullability = Nullability.Default) : JKJavaArrayType {
|
||||||
|
}
|
||||||
|
|
||||||
class JKReturnStatementImpl(expression: JKExpression) : JKBranchElementBase(), JKReturnStatement {
|
class JKReturnStatementImpl(expression: JKExpression) : JKBranchElementBase(), JKReturnStatement {
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitReturnStatement(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitReturnStatement(this, data)
|
||||||
|
|||||||
@@ -43,16 +43,20 @@ interface JKModifierListOwner {
|
|||||||
var modifierList: JKModifierList
|
var modifierList: JKModifierList
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JKType
|
interface JKType {
|
||||||
|
val nullability: Nullability
|
||||||
|
}
|
||||||
|
|
||||||
interface JKClassType : JKType {
|
interface JKClassType : JKType {
|
||||||
val classReference: JKSymbol?
|
val classReference: JKSymbol?
|
||||||
val nullability: Nullability
|
override val nullability: Nullability
|
||||||
val parameters: List<JKType>
|
val parameters: List<JKType>
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JKJavaPrimitiveType : JKType {
|
interface JKJavaPrimitiveType : JKType {
|
||||||
val jvmPrimitiveType: JvmPrimitiveType
|
val jvmPrimitiveType: JvmPrimitiveType
|
||||||
|
override val nullability: Nullability
|
||||||
|
get() = Nullability.NotNull
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JKJavaArrayType : JKType {
|
interface JKJavaArrayType : JKType {
|
||||||
|
|||||||
Reference in New Issue
Block a user