Java Uast, Minor: Convert Java Uast properties with backing field to properties with getter (optimization)
This commit is contained in:
+3
-1
@@ -28,5 +28,7 @@ class JavaUIfExpression(
|
||||
override val condition by lz { JavaConverter.convertOrEmpty(psi.condition, this) }
|
||||
override val thenBranch by lz { JavaConverter.convertOrEmpty(psi.thenBranch, this) }
|
||||
override val elseBranch by lz { JavaConverter.convertOrEmpty(psi.elseBranch, this) }
|
||||
override val isTernary = false
|
||||
|
||||
override val isTernary: Boolean
|
||||
get() = false
|
||||
}
|
||||
+3
-1
@@ -27,5 +27,7 @@ class JavaUTernaryIfExpression(
|
||||
override val condition by lz { JavaConverter.convert(psi.condition, this) }
|
||||
override val thenBranch by lz { JavaConverter.convertOrEmpty(psi.thenExpression, this) }
|
||||
override val elseBranch by lz { JavaConverter.convertOrEmpty(psi.elseExpression, this) }
|
||||
override val isTernary = true
|
||||
|
||||
override val isTernary: Boolean
|
||||
get() = true
|
||||
}
|
||||
+26
-9
@@ -23,17 +23,34 @@ class JavaClassInitializerUFunction(
|
||||
override val psi: PsiClassInitializer,
|
||||
override val parent: UElement
|
||||
) : UFunction, PsiElementBacked, NoAnnotations, NoModifiers {
|
||||
override val kind = UastFunctionKind.INITIALIZER
|
||||
override val valueParameters = emptyList<UVariable>()
|
||||
override val valueParameterCount = 0
|
||||
override val typeParameters = emptyList<UTypeReference>()
|
||||
override val typeParameterCount = 0
|
||||
override val returnType = null
|
||||
override val kind: UastFunctionKind.UastInitializerKind
|
||||
get() = JavaFunctionKinds.STATIC_INITIALIZER
|
||||
|
||||
override val valueParameters: List<UVariable>
|
||||
get() = emptyList()
|
||||
|
||||
override val valueParameterCount: Int
|
||||
get() = 0
|
||||
|
||||
override val typeParameters: List<UTypeReference>
|
||||
get() = emptyList()
|
||||
|
||||
override val typeParameterCount: Int
|
||||
get() = 0
|
||||
|
||||
override val returnType: UType?
|
||||
get() = null
|
||||
|
||||
override val body by lz { JavaConverter.convert(psi.body, this) }
|
||||
|
||||
override val visibility = UastVisibility.LOCAL
|
||||
override val nameElement = null
|
||||
override val name = "<static>"
|
||||
override val visibility: UastVisibility
|
||||
get() = UastVisibility.LOCAL
|
||||
|
||||
override val nameElement: UElement?
|
||||
get() = null
|
||||
|
||||
override val name: String
|
||||
get() = "<static>"
|
||||
|
||||
override fun getSuperFunctions(context: UastContext) = emptyList<UFunction>()
|
||||
}
|
||||
@@ -48,8 +48,11 @@ class JavaUClass(
|
||||
override val isAnnotation: Boolean
|
||||
get() = psi.isAnnotationType
|
||||
|
||||
override val isObject = psi is PsiAnonymousClass
|
||||
override val isAnonymous = psi is PsiAnonymousClass
|
||||
override val isObject: Boolean
|
||||
get() = psi is PsiAnonymousClass
|
||||
|
||||
override val isAnonymous: Boolean
|
||||
get() = psi is PsiAnonymousClass
|
||||
|
||||
override val internalName = null
|
||||
|
||||
@@ -120,14 +123,21 @@ private class JavaUAnonymousClassConstructor(
|
||||
override val typeParameterCount: Int
|
||||
get() = psi.typeParameters.size
|
||||
|
||||
override val returnType = null
|
||||
override val returnType: UType?
|
||||
get() = null
|
||||
|
||||
override val body = EmptyExpression(this)
|
||||
override val visibility = UastVisibility.LOCAL
|
||||
|
||||
override val visibility: UastVisibility
|
||||
get() = UastVisibility.LOCAL
|
||||
|
||||
override fun getSuperFunctions(context: UastContext) = emptyList<UFunction>()
|
||||
|
||||
override val nameElement = null
|
||||
override val name = "<init>"
|
||||
override val nameElement: UElement?
|
||||
get() = null
|
||||
|
||||
override val name: String
|
||||
get() = "<init>"
|
||||
}
|
||||
|
||||
private class JavaUAnonymousClassConstructorParameter(
|
||||
@@ -136,8 +146,15 @@ private class JavaUAnonymousClassConstructorParameter(
|
||||
override val parent: UElement
|
||||
) : UVariable, NoAnnotations, NoModifiers {
|
||||
override val initializer by lz { JavaConverter.convert(psi.expressions[index], this) }
|
||||
override val kind = UastVariableKind.VALUE_PARAMETER
|
||||
|
||||
override val kind: UastVariableKind
|
||||
get() = UastVariableKind.VALUE_PARAMETER
|
||||
|
||||
override val type by lz { JavaConverter.convert(psi.expressionTypes[index], this) }
|
||||
override val nameElement = null
|
||||
override val name = "p$index"
|
||||
|
||||
override val nameElement: UElement?
|
||||
get() = null
|
||||
|
||||
override val name: String
|
||||
get() = "p$index"
|
||||
}
|
||||
@@ -27,5 +27,6 @@ class JavaUImportStatement(
|
||||
override val nameToImport: String?
|
||||
get() = psi.qualifiedName
|
||||
|
||||
override val isStarImport = false
|
||||
override val isStarImport: Boolean
|
||||
get() = false
|
||||
}
|
||||
+2
-1
@@ -27,5 +27,6 @@ class JavaUStaticImportStatement(
|
||||
override val nameToImport: String?
|
||||
get() = psi.referenceName
|
||||
|
||||
override val isStarImport = true
|
||||
override val isStarImport: Boolean
|
||||
get() = true
|
||||
}
|
||||
+6
-2
@@ -28,8 +28,12 @@ class JavaValueParameterUVariable(
|
||||
|
||||
override val nameElement by lz { JavaConverter.convert(psi.nameIdentifier, this) }
|
||||
override val type by lz { JavaConverter.convert(psi.type, this) }
|
||||
override val initializer = null
|
||||
override val kind = UastVariableKind.VALUE_PARAMETER
|
||||
|
||||
override val initializer: UExpression?
|
||||
get() = null
|
||||
|
||||
override val kind: UastVariableKind
|
||||
get() = UastVariableKind.VALUE_PARAMETER
|
||||
|
||||
override val annotations by lz { psi.modifierList.getAnnotations(this) }
|
||||
}
|
||||
+4
-1
@@ -25,6 +25,9 @@ class JavaUAssignmentExpression(
|
||||
override val parent: UElement
|
||||
) : UAssignmentExpression, PsiElementBacked, JavaTypeHelper, JavaEvaluateHelper {
|
||||
override val reference by lz { JavaConverter.convert(psi.lExpression, this) }
|
||||
override val operator = psi.operationSign.text
|
||||
|
||||
override val operator: String
|
||||
get() = psi.operationSign.text
|
||||
|
||||
override val value by lz { JavaConverter.convertOrEmpty(psi.rExpression, this) }
|
||||
}
|
||||
+2
-1
@@ -28,7 +28,8 @@ class JavaUCompositeQualifiedExpression(
|
||||
override lateinit var selector: UExpression
|
||||
internal set
|
||||
|
||||
override val accessType = UastQualifiedExpressionAccessType.SIMPLE
|
||||
override val accessType: UastQualifiedExpressionAccessType
|
||||
get() = UastQualifiedExpressionAccessType.SIMPLE
|
||||
|
||||
override fun resolve(context: UastContext): UDeclaration? {
|
||||
val selector = selector
|
||||
|
||||
+4
-1
@@ -27,6 +27,9 @@ class JavaUInstanceCheckExpression(
|
||||
) : UBinaryExpressionWithType, PsiElementBacked, JavaTypeHelper, JavaEvaluateHelper {
|
||||
override val operand by lz { JavaConverter.convertOrEmpty(psi.operand, this) }
|
||||
override val type by lz { JavaConverter.convert(psi.checkType?.type, this) }
|
||||
override val operationKind = UastBinaryExpressionWithTypeKind.INSTANCE_CHECK
|
||||
|
||||
override val operationKind: UastBinaryExpressionWithTypeKind.InstanceCheck
|
||||
get() = UastBinaryExpressionWithTypeKind.INSTANCE_CHECK
|
||||
|
||||
override fun evaluate() = null
|
||||
}
|
||||
@@ -27,5 +27,7 @@ class JavaULiteralExpression(
|
||||
override val text by lz { psi.text }
|
||||
override fun evaluate() = psi.value
|
||||
override val value by lz { evaluate() }
|
||||
override val isNull = text == "null"
|
||||
|
||||
override val isNull: Boolean
|
||||
get() = text == "null"
|
||||
}
|
||||
+3
-1
@@ -25,7 +25,9 @@ class JavaUQualifiedExpression(
|
||||
) : UQualifiedExpression, PsiElementBacked, JavaTypeHelper, NoEvaluate {
|
||||
override val receiver by lz { JavaConverter.convertOrEmpty(psi.qualifierExpression, this) }
|
||||
override val selector by lz { JavaConverter.convert(psi.referenceNameElement, this) as? UExpression ?: EmptyExpression(this) }
|
||||
override val accessType = UastQualifiedExpressionAccessType.SIMPLE
|
||||
|
||||
override val accessType: UastQualifiedExpressionAccessType
|
||||
get() = UastQualifiedExpressionAccessType.SIMPLE
|
||||
|
||||
override fun resolve(context: UastContext) = psi.resolve()?.let { JavaConverter.convertWithParent(it) } as? UDeclaration
|
||||
}
|
||||
+3
-1
@@ -27,5 +27,7 @@ class JavaUTypeCastExpression(
|
||||
) : UBinaryExpressionWithType, PsiElementBacked, JavaTypeHelper, JavaEvaluateHelper {
|
||||
override val operand by lz { JavaConverter.convertOrEmpty(psi.operand, this) }
|
||||
override val type by lz { JavaConverter.convert(psi.castType?.type, this) }
|
||||
override val operationKind = UastBinaryExpressionWithTypeKind.TYPE_CAST
|
||||
|
||||
override val operationKind: UastBinaryExpressionWithTypeKind.TypeCast
|
||||
get() = UastBinaryExpressionWithTypeKind.TYPE_CAST
|
||||
}
|
||||
@@ -16,16 +16,12 @@
|
||||
package org.jetbrains.uast.java
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.uast.NoEvaluate
|
||||
import org.jetbrains.uast.UElement
|
||||
import org.jetbrains.uast.UExpression
|
||||
import org.jetbrains.uast.UastHandler
|
||||
import org.jetbrains.uast.*
|
||||
import org.jetbrains.uast.psi.PsiElementBacked
|
||||
|
||||
class UnknownJavaExpression(
|
||||
override val psi: PsiElement,
|
||||
override val parent: UElement
|
||||
) : UExpression, PsiElementBacked, NoEvaluate {
|
||||
override fun traverse(handler: UastHandler) {}
|
||||
) : UExpression, PsiElementBacked, NoEvaluate, NoTraverse {
|
||||
override fun logString() = "[!] UnknownJavaExpression ($psi)"
|
||||
}
|
||||
@@ -26,13 +26,15 @@ class JavaUCallExpression(
|
||||
override val psi: PsiMethodCallExpression,
|
||||
override val parent: UElement
|
||||
) : UCallExpression, PsiElementBacked, JavaTypeHelper, NoEvaluate {
|
||||
override val kind = UastCallKind.FUNCTION_CALL
|
||||
override val kind: UastCallKind
|
||||
get() = UastCallKind.FUNCTION_CALL
|
||||
|
||||
override val functionReference by lz {
|
||||
JavaConverter.convert(psi.methodExpression.referenceNameElement, this) as? USimpleReferenceExpression
|
||||
}
|
||||
|
||||
override val classReference = null
|
||||
override val classReference: USimpleReferenceExpression?
|
||||
get() = null
|
||||
|
||||
override val valueArgumentCount by lz { psi.argumentList.expressions.size }
|
||||
override val valueArguments by lz { psi.argumentList.expressions.map { JavaConverter.convert(it, this) } }
|
||||
@@ -61,7 +63,8 @@ class JavaConstructorUCallExpression(
|
||||
}
|
||||
}
|
||||
|
||||
override val functionReference = null
|
||||
override val functionReference: USimpleReferenceExpression?
|
||||
get() = null
|
||||
|
||||
override val classReference by lz {
|
||||
psi.classReference?.let { ref ->
|
||||
@@ -116,18 +119,29 @@ class JavaArrayInitializerUCallExpression(
|
||||
override val psi: PsiArrayInitializerExpression,
|
||||
override val parent: UElement
|
||||
) : UCallExpression, PsiElementBacked, JavaTypeHelper, JavaEvaluateHelper {
|
||||
override val functionReference = null
|
||||
override val classReference = null
|
||||
override val functionName = "<array>"
|
||||
override val functionNameElement = null
|
||||
override val functionReference: USimpleReferenceExpression?
|
||||
get() = null
|
||||
|
||||
override val classReference: USimpleReferenceExpression?
|
||||
get() = null
|
||||
|
||||
override val functionName: String
|
||||
get() = "<array>"
|
||||
|
||||
override val functionNameElement: UElement?
|
||||
get() = null
|
||||
|
||||
override val valueArgumentCount by lz { psi.initializers.size }
|
||||
override val valueArguments by lz { psi.initializers.map { JavaConverter.convert(it, this) } }
|
||||
|
||||
override val typeArgumentCount = 0
|
||||
override val typeArguments = emptyList<UType>()
|
||||
override val typeArgumentCount: Int
|
||||
get() = 0
|
||||
|
||||
override val kind = JavaUastCallKinds.ARRAY_INITIALIZER
|
||||
override val typeArguments: List<UType>
|
||||
get() = emptyList()
|
||||
|
||||
override val kind: UastCallKind
|
||||
get() = JavaUastCallKinds.ARRAY_INITIALIZER
|
||||
|
||||
override fun resolve(context: UastContext) = null
|
||||
override fun evaluate() = null
|
||||
@@ -139,10 +153,17 @@ class JavaAnnotationArrayInitializerUCallExpression(
|
||||
) : UCallExpression, PsiElementBacked, JavaTypeHelper, JavaEvaluateHelper {
|
||||
override val kind = JavaUastCallKinds.ARRAY_INITIALIZER
|
||||
|
||||
override val functionReference = null
|
||||
override val classReference = null
|
||||
override val functionName = "<annotationArray>"
|
||||
override val functionNameElement = null
|
||||
override val functionReference: USimpleReferenceExpression?
|
||||
get() = null
|
||||
|
||||
override val classReference: USimpleReferenceExpression?
|
||||
get() = null
|
||||
|
||||
override val functionName: String
|
||||
get() = "<annotationArray>"
|
||||
|
||||
override val functionNameElement: UElement?
|
||||
get() = null
|
||||
|
||||
override val valueArgumentCount by lz { psi.initializers.size }
|
||||
override val valueArguments by lz {
|
||||
@@ -151,8 +172,11 @@ class JavaAnnotationArrayInitializerUCallExpression(
|
||||
}
|
||||
}
|
||||
|
||||
override val typeArgumentCount = 0
|
||||
override val typeArguments = emptyList<UType>()
|
||||
override val typeArgumentCount: Int
|
||||
get() = 0
|
||||
|
||||
override val typeArguments: List<UType>
|
||||
get() = emptyList()
|
||||
|
||||
override fun resolve(context: UastContext) = null
|
||||
}
|
||||
Reference in New Issue
Block a user