Skip to content

Commit

Permalink
[android] cleanup: get rid of usages of deprecated constants from Psi…
Browse files Browse the repository at this point in the history
…Type (IDEA-309438)

GitOrigin-RevId: 9c86ea4b7da438a8f3a8164fe5cb4d2e013d1bcd
  • Loading branch information
chashnikov authored and intellij-monorepo-bot committed Jan 26, 2023
1 parent 6892425 commit dc27f4c
Show file tree
Hide file tree
Showing 41 changed files with 205 additions and 184 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import com.intellij.psi.PsiClass
import com.intellij.psi.PsiClassType
import com.intellij.psi.PsiSubstitutor
import com.intellij.psi.PsiType
import com.intellij.psi.PsiTypes
import com.intellij.psi.util.MethodSignatureUtil
import com.intellij.psi.util.TypeConversionUtil

Expand Down Expand Up @@ -83,7 +84,7 @@ class PsiModelClass(val type: PsiType, val mode: DataBindingMode) {
/**
* Returns true if this ModelClass represents a void
*/
private val isVoid = PsiType.VOID.equalsToText(type.canonicalText)
private val isVoid = PsiTypes.voidType().equalsToText(type.canonicalText)

/**
* Returns true if this is a type variable. For example, in List<T>, T is a type variable.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ package com.android.tools.idea.lang.databinding.model

import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiModifier
import com.intellij.psi.PsiType
import com.intellij.psi.PsiTypes
import java.lang.Integer.min

/**
Expand All @@ -37,7 +37,7 @@ class PsiModelMethod(override val containingClass: PsiModelClass, val psiMethod:
val returnType: PsiModelClass?
get() = psiMethod.returnType?.let { PsiModelClass(containingClass.substitutor.substitute(it), containingClass.mode) }

val isVoid = PsiType.VOID == psiMethod.returnType
val isVoid = PsiTypes.voidType() == psiMethod.returnType

val isPublic = psiMethod.hasModifierProperty(PsiModifier.PUBLIC)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ import com.intellij.psi.PsiReference
import com.intellij.psi.PsiReferenceContributor
import com.intellij.psi.PsiReferenceProvider
import com.intellij.psi.PsiReferenceRegistrar
import com.intellij.psi.PsiType
import com.intellij.psi.PsiTypes
import com.intellij.psi.search.GlobalSearchScope
import com.intellij.psi.xml.XmlAttribute
import com.intellij.util.ProcessingContext
Expand Down Expand Up @@ -426,13 +426,13 @@ class DataBindingExprReferenceContributor : PsiReferenceContributor() {
override fun getReferencesByElement(element: PsiElement, context: ProcessingContext): Array<PsiReference> {
val literalExpr = element as PsiDbLiteralExpr
val psiType = when (literalExpr.node.firstChildNode.elementType) {
DbTokenTypes.INTEGER_LITERAL -> PsiType.INT
DbTokenTypes.FLOAT_LITERAL -> PsiType.FLOAT
DbTokenTypes.LONG_LITERAL -> PsiType.LONG
DbTokenTypes.DOUBLE_LITERAL -> PsiType.DOUBLE
DbTokenTypes.TRUE, DbTokenTypes.FALSE -> PsiType.BOOLEAN
DbTokenTypes.NULL -> PsiType.NULL
DbTokenTypes.CHARACTER_LITERAL -> PsiType.CHAR
DbTokenTypes.INTEGER_LITERAL -> PsiTypes.intType()
DbTokenTypes.FLOAT_LITERAL -> PsiTypes.floatType()
DbTokenTypes.LONG_LITERAL -> PsiTypes.longType()
DbTokenTypes.DOUBLE_LITERAL -> PsiTypes.doubleType()
DbTokenTypes.TRUE, DbTokenTypes.FALSE -> PsiTypes.booleanType()
DbTokenTypes.NULL -> PsiTypes.nullType()
DbTokenTypes.CHARACTER_LITERAL -> PsiTypes.charType()
DbTokenTypes.STRING_LITERAL -> LayoutBindingTypeUtil.parsePsiType("java.lang.String", element) ?: return arrayOf()
else -> return arrayOf()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ import com.intellij.psi.PsiClassObjectAccessExpression
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiLiteralExpression
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiPrimitiveType
import com.intellij.psi.PsiReference
import com.intellij.psi.PsiReferenceContributor
import com.intellij.psi.PsiReferenceProvider
import com.intellij.psi.PsiReferenceRegistrar
import com.intellij.psi.PsiType
import com.intellij.psi.PsiTypes
import com.intellij.psi.search.searches.AnnotatedElementsSearch
import com.intellij.psi.util.PsiTypesUtil
import com.intellij.psi.util.parentOfType
Expand Down Expand Up @@ -284,7 +284,7 @@ class DataBindingXmlAttributeReferenceContributor : PsiReferenceContributor() {
var methodName = (methodAttribute as? PsiLiteralExpression)?.value as? String ?: continue
// If method isn't provided, the attribute name is used to find its name, either prefixing with "is" or "get".
if (methodName.isEmpty()) {
val methodPrefix = if (attributeType.isAssignableFrom(PsiPrimitiveType.BOOLEAN)) "is" else "get"
val methodPrefix = if (attributeType.isAssignableFrom(PsiTypes.booleanType())) "is" else "get"
methodName = methodPrefix + attribute.name.substringAfter(":").usLocaleCapitalize()
}
for (method in PsiModelClass(type, mode).findMethods(methodName, MemberAccess.ALL_MEMBERS)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import com.android.tools.idea.databinding.DataBindingMode
import com.android.tools.idea.databinding.util.LayoutBindingTypeUtil
import com.android.tools.idea.lang.databinding.model.PsiModelClass
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiType
import com.intellij.psi.PsiTypes
import com.intellij.psi.impl.source.tree.LeafPsiElement
import org.jetbrains.android.dom.resources.ResourceValue

Expand All @@ -34,7 +34,7 @@ internal class PsiResourceReference(element: PsiElement, resolveTo: PsiElement,
// A plurals resource, e.g. @plurals/dog -> "dog" or "dogs", can be queried for the
// underlying String value (e.g. "@plurals/dog(2)") or for the plurals resource ID
// directly (e.g. "@plurals/dog").
"plurals" -> if (element.children.isEmpty()) PsiType.INT else parseType("java.lang.String")
"plurals" -> if (element.children.isEmpty()) PsiTypes.intType() else parseType("java.lang.String")
"anim" -> parseType("android.view.animation.Animation")
"animator" -> parseType("android.animation.Animator")
"colorStateList" -> parseType("android.content.res.ColorStateList")
Expand All @@ -43,10 +43,10 @@ internal class PsiResourceReference(element: PsiElement, resolveTo: PsiElement,
"transition" -> parseType("android.transition.Transition")
"typedArray" -> parseType("android.content.res.TypedArray")
"interpolator" -> parseType("android.view.animation.Interpolator")
"bool" -> PsiType.BOOLEAN
"color", "dimenOffset", "dimenSize", "id", "integer", "layout" -> PsiType.INT
"dimen", "fraction" -> PsiType.FLOAT
"intArray" -> PsiType.INT.createArrayType()
"bool" -> PsiTypes.booleanType()
"color", "dimenOffset", "dimenSize", "id", "integer", "layout" -> PsiTypes.intType()
"dimen", "fraction" -> PsiTypes.floatType()
"intArray" -> PsiTypes.intType().createArrayType()
"string" -> parseType("java.lang.String")
"stringArray" -> parseType("java.lang.String")?.createArrayType()
"text" -> parseType("java.lang.CharSequence")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import com.intellij.psi.PsiParameterList
import com.intellij.psi.PsiPrimitiveType
import com.intellij.psi.PsiReference
import com.intellij.psi.PsiType
import com.intellij.psi.PsiTypes
import com.intellij.psi.impl.source.PsiClassReferenceType
import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReference
import com.intellij.psi.impl.source.resolve.reference.impl.providers.FileReferenceSet
Expand Down Expand Up @@ -107,15 +108,15 @@ fun resolveSuperPsiClasses(classSpecificationHeader: ProguardR8ClassSpecificatio
fun getPsiPrimitive(proguardR8JavaPrimitive: ProguardR8JavaPrimitive): PsiPrimitiveType? {
val primitive = proguardR8JavaPrimitive.node.firstChildNode
return when (primitive.elementType) {
ProguardR8PsiTypes.BOOLEAN -> PsiPrimitiveType.BOOLEAN
ProguardR8PsiTypes.BYTE -> PsiPrimitiveType.BYTE
ProguardR8PsiTypes.CHAR -> PsiPrimitiveType.CHAR
ProguardR8PsiTypes.SHORT -> PsiPrimitiveType.SHORT
ProguardR8PsiTypes.INT -> PsiPrimitiveType.INT
ProguardR8PsiTypes.LONG -> PsiPrimitiveType.LONG
ProguardR8PsiTypes.FLOAT -> PsiPrimitiveType.FLOAT
ProguardR8PsiTypes.DOUBLE -> PsiPrimitiveType.DOUBLE
ProguardR8PsiTypes.VOID -> PsiPrimitiveType.VOID
ProguardR8PsiTypes.BOOLEAN -> PsiTypes.booleanType()
ProguardR8PsiTypes.BYTE -> PsiTypes.byteType()
ProguardR8PsiTypes.CHAR -> PsiTypes.charType()
ProguardR8PsiTypes.SHORT -> PsiTypes.shortType()
ProguardR8PsiTypes.INT -> PsiTypes.intType()
ProguardR8PsiTypes.LONG -> PsiTypes.longType()
ProguardR8PsiTypes.FLOAT -> PsiTypes.floatType()
ProguardR8PsiTypes.DOUBLE -> PsiTypes.doubleType()
ProguardR8PsiTypes.VOID -> PsiTypes.voidType()
else -> {
assert(false) { "Couldn't match ProguardR8JavaPrimitive \"${primitive.text}\" to PsiPrimitive" }
null
Expand Down Expand Up @@ -153,7 +154,7 @@ fun matchesPsiType(type: ProguardR8Type, other: PsiType): Boolean {
type.javaPrimitive != null -> type.javaPrimitive!!.psiPrimitive == typeToMatch
type.qualifiedName != null && typeToMatch is PsiClassReferenceType -> type.qualifiedName!!.resolveToPsiClass() == typeToMatch.resolve()
// "%" matches any primitive type ("boolean", "int", etc, but not "void").
type.anyPrimitiveType != null -> typeToMatch is PsiPrimitiveType && typeToMatch != PsiPrimitiveType.VOID
type.anyPrimitiveType != null -> typeToMatch is PsiPrimitiveType && typeToMatch != PsiTypes.voidType()
type.anyNotPrimitiveType != null -> typeToMatch is PsiClassReferenceType
type.anyType != null -> true
else -> false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import com.android.tools.idea.testing.moveCaret
import com.google.common.truth.Truth.assertThat
import com.intellij.lang.annotation.HighlightSeverity.ERROR
import com.intellij.psi.PsiPolyVariantReference
import com.intellij.psi.PsiPrimitiveType
import com.intellij.psi.PsiTypes
import com.intellij.psi.util.parentOfType

class ProguardR8FieldsTest : ProguardR8TestCase() {
Expand All @@ -51,7 +51,7 @@ class ProguardR8FieldsTest : ProguardR8TestCase() {
""".trimIndent())
var fieldName = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8ClassMember>()!!
assertThat(fieldName.type).isNotNull()
assertThat(fieldName.type!!.matchesPsiType(PsiPrimitiveType.INT)).isTrue()
assertThat(fieldName.type!!.matchesPsiType(PsiTypes.intType())).isTrue()

myFixture.moveCaret("my|String")
fieldName = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8ClassMember>()!!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import com.google.common.truth.Truth.assertThat
import com.intellij.lang.annotation.HighlightSeverity.ERROR
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiPolyVariantReference
import com.intellij.psi.PsiPrimitiveType
import com.intellij.psi.PsiTypes
import com.intellij.psi.util.parentOfType
import com.intellij.util.IncorrectOperationException
import org.junit.Assert
Expand Down Expand Up @@ -61,7 +61,7 @@ class ProguardR8MethodTest : ProguardR8TestCase() {

var method = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8ClassMember>()!!
assertThat(method.type).isNotNull()
assertThat(method.type!!.matchesPsiType(PsiPrimitiveType.INT)).isTrue()
assertThat(method.type!!.matchesPsiType(PsiTypes.intType())).isTrue()

myFixture.moveCaret("my|String")
method = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8ClassMember>()!!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import com.android.tools.idea.testing.moveCaret
import com.google.common.truth.Truth.assertThat
import com.intellij.psi.JavaPsiFacade
import com.intellij.psi.PsiParameterList
import com.intellij.psi.PsiPrimitiveType
import com.intellij.psi.PsiTypes
import com.intellij.psi.util.parentOfType

class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
Expand Down Expand Up @@ -207,14 +207,14 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
var primitiveType = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8JavaPrimitive>()

assertThat(primitiveType).isNotNull()
assertThat(primitiveType!!.psiPrimitive).isEqualTo(PsiPrimitiveType.INT)
assertThat(primitiveType!!.psiPrimitive).isEqualTo(PsiTypes.intType())

myFixture.moveCaret("by|te")

primitiveType = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8JavaPrimitive>()

assertThat(primitiveType).isNotNull()
assertThat(primitiveType!!.psiPrimitive).isEqualTo(PsiPrimitiveType.BYTE)
assertThat(primitiveType!!.psiPrimitive).isEqualTo(PsiTypes.byteType())
}

fun testMatchesPsiType() {
Expand All @@ -230,7 +230,7 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
""".trimIndent())

var type = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8Type>()!!
assertThat(type.matchesPsiType(PsiPrimitiveType.BOOLEAN)).isTrue()
assertThat(type.matchesPsiType(PsiTypes.booleanType())).isTrue()

myFixture.moveCaret("Str|ing")
type = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8Type>()!!
Expand All @@ -241,13 +241,13 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
type = myFixture.file.findElementAt(myFixture.caretOffset - 1)!!.parentOfType<ProguardR8Type>()!!
// String is NOT primitive
assertThat(type.matchesPsiType(stringType)).isFalse()
assertThat(type.matchesPsiType(PsiPrimitiveType.LONG)).isTrue()
assertThat(type.matchesPsiType(PsiPrimitiveType.VOID)).isFalse()
assertThat(type.matchesPsiType(PsiTypes.longType())).isTrue()
assertThat(type.matchesPsiType(PsiTypes.voidType())).isFalse()

myFixture.moveCaret("*|**")
type = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8Type>()!!
assertThat(type.matchesPsiType(stringType)).isTrue()
assertThat(type.matchesPsiType(PsiPrimitiveType.LONG)).isTrue()
assertThat(type.matchesPsiType(PsiTypes.longType())).isTrue()
}

fun testAcceptAnyParameters() {
Expand Down Expand Up @@ -283,7 +283,7 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
fun testMatchesParameterList() {

val stringFQ = String::class.java.canonicalName
val intFQ = PsiPrimitiveType.INT.name
val intFQ = PsiTypes.intType().name

myFixture.configureByText(
ProguardR8FileType.INSTANCE,
Expand All @@ -310,7 +310,7 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
psiParameters = createParameterList(intFQ, intFQ)
assertThat(parameters.matchesPsiParameterList(psiParameters)).isFalse()
// (int) != (long)
psiParameters = createParameterList(PsiPrimitiveType.LONG.name)
psiParameters = createParameterList(PsiTypes.longType().name)
assertThat(parameters.matchesPsiParameterList(psiParameters)).isFalse()
// (int) != ()
psiParameters = createParameterList()
Expand Down Expand Up @@ -369,11 +369,11 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
parameters = myFixture.file.findElementAt(myFixture.caretOffset)!!.parentOfType<ProguardR8Parameters>()!!
// (%, String, %) == (int, String, boolean)
psiParameters = createParameterList(
intFQ, stringFQ, PsiPrimitiveType.BOOLEAN.name)
intFQ, stringFQ, PsiTypes.booleanType().name)
assertThat(parameters.matchesPsiParameterList(psiParameters)).isTrue()
// (%, String, %) != (int, String, void)
psiParameters = createParameterList(
intFQ, stringFQ, PsiPrimitiveType.VOID.name)
intFQ, stringFQ, PsiTypes.voidType().name)
assertThat(parameters.matchesPsiParameterList(psiParameters)).isFalse()
// (%, String, %) != (int, String, String)
psiParameters = createParameterList(
Expand All @@ -387,7 +387,7 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
assertThat(parameters.matchesPsiParameterList(psiParameters)).isTrue()
// (...) == (int, String, long[])
psiParameters = createParameterList(
intFQ, stringFQ, "${PsiPrimitiveType.LONG.name}[]")
intFQ, stringFQ, "${PsiTypes.longType().name}[]")
assertThat(parameters.matchesPsiParameterList(psiParameters)).isTrue()
// (...) == ()
psiParameters = createParameterList()
Expand All @@ -400,13 +400,13 @@ class ProguardR8PsiImplUtilTest : ProguardR8TestCase() {
assertThat(parameters.matchesPsiParameterList(psiParameters)).isTrue()
// (int, ...) == (int, String, long[])
psiParameters = createParameterList(
intFQ, stringFQ, "${PsiPrimitiveType.LONG.name}[]")
intFQ, stringFQ, "${PsiTypes.longType().name}[]")
assertThat(parameters.matchesPsiParameterList(psiParameters)).isTrue()
// (int, ...) != ()
psiParameters = createParameterList()
assertThat(parameters.matchesPsiParameterList(psiParameters)).isFalse()
// (int, ...) != (String, long[])
psiParameters = createParameterList(stringFQ, "${PsiPrimitiveType.LONG.name}[]")
psiParameters = createParameterList(stringFQ, "${PsiTypes.longType().name}[]")
assertThat(parameters.matchesPsiParameterList(psiParameters)).isFalse()

myFixture.moveCaret("myMethod(..|., int)")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
import com.intellij.psi.PsiLiteralExpression;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiStatement;
import com.intellij.psi.PsiType;
import com.intellij.psi.PsiTypes;
import com.intellij.psi.SmartPointerManager;
import com.intellij.psi.SmartPsiElementPointer;
import com.intellij.psi.codeStyle.CodeStyleManager;
Expand Down Expand Up @@ -374,7 +374,7 @@ else if (operator == JavaTokenType.XOR) {
// or adding more of a skeleton from that article.

PsiMethod method = isKotlin ? null : PsiTreeUtil.getParentOfType(call, PsiMethod.class, true);
if (method != null && !PsiType.VOID.equals(method.getReturnType())) {
if (method != null && !PsiTypes.voidType().equals(method.getReturnType())) {
sb.append("return TODO");
}
else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
import com.intellij.psi.PsiReferenceList;
import com.intellij.psi.PsiStatement;
import com.intellij.psi.PsiType;
import com.intellij.psi.PsiTypes;
import com.intellij.psi.PsiWhiteSpace;
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
import com.intellij.psi.impl.source.PsiClassReferenceType;
Expand Down Expand Up @@ -391,7 +392,7 @@ private static boolean isWriteToParcelMethod(@NotNull PsiMethod method) {
return method.getName().equals("writeToParcel") &&
params.getParametersCount() == 2 &&
params.getParameters()[0].getType().equalsToText(CLASS_PARCEL) &&
params.getParameters()[1].getType().equalsToText(PsiType.INT.getCanonicalText());
params.getParameters()[1].getType().equalsToText(PsiTypes.intType().getCanonicalText());
}

private boolean doesSuperClassImplementParcelable() {
Expand Down Expand Up @@ -594,7 +595,7 @@ else if (isWriteWithParcelableFlags(setter)) {
myPersistenceMap.put(myTType, new ParcelableFieldPersistence());
myPersistenceMap.put(myTArrayType, new EfficientParcelableArrayFieldPersistence());
myPersistenceMap.put(myTListType, new EfficientParcelableListFieldPersistence());
myPersistenceMap.put(PsiType.BOOLEAN, new BooleanFieldPersistence());
myPersistenceMap.put(PsiTypes.booleanType(), new BooleanFieldPersistence());
}

@NotNull
Expand Down Expand Up @@ -625,7 +626,7 @@ private static boolean isWriteWithParcelableFlags(@NotNull PsiMethod method) {
return false;
}
PsiParameter param = method.getParameterList().getParameters()[1];
return param.getType().equals(PsiType.INT) && Objects.equals(param.getName(), "parcelableFlags");
return param.getType().equals(PsiTypes.intType()) && Objects.equals(param.getName(), "parcelableFlags");
}

private static boolean isSimpleRead(@NotNull PsiMethod method) {
Expand Down
Loading

0 comments on commit dc27f4c

Please sign in to comment.