[LC] fix signature of 'Enum.valueOf()'

* drop @NotNull annotation from parameter
* add NullPointerException to throws

^KT-55497 Fixed
This commit is contained in:
Dmitrii Gridin
2022-12-15 13:49:03 +01:00
committed by Space Team
parent 7d0c093da7
commit e39dc9b768
15 changed files with 26 additions and 25 deletions
@@ -199,7 +199,7 @@ private class KotlinEnumSyntheticMethod(
override fun getText(): String = name
override fun getTextRange(): TextRange = TextRange.EMPTY_RANGE
}
nameParameter.setModifierList(NotNullModifierList(manager))
addParameter(nameParameter)
}
}
@@ -228,13 +228,13 @@ private class KotlinEnumSyntheticMethod(
override fun getReturnTypeElement(): PsiTypeElement? = null
override fun getParameterList(): PsiParameterList = parameterList
override fun getThrowsList(): PsiReferenceList {
return LightReferenceListBuilder(manager, language, PsiReferenceList.Role.THROWS_LIST).apply {
override fun getThrowsList(): PsiReferenceList =
LightReferenceListBuilder(manager, language, PsiReferenceList.Role.THROWS_LIST).apply {
if (kind == Kind.VALUE_OF) {
addReference("java.lang.IllegalArgumentException")
addReference(java.lang.IllegalArgumentException::class.qualifiedName)
addReference(java.lang.NullPointerException::class.qualifiedName)
}
}
}
override fun getParent(): PsiElement = enumClass
override fun getContainingClass(): KtExtensibleLightClass = enumClass
@@ -327,7 +327,8 @@ internal fun KtAnnotatedSymbol.computeThrowsList(
strictUseSite: Boolean = true,
) {
if (containingClass.isEnum && this is KtFunctionSymbol && name == StandardNames.ENUM_VALUE_OF && isStatic) {
builder.addReference("java.lang.IllegalArgumentException")
builder.addReference(java.lang.IllegalArgumentException::class.qualifiedName)
builder.addReference(java.lang.NullPointerException::class.qualifiedName)
}
val annoApp = findAnnotation(JVM_THROWS_ANNOTATION_FQ_NAME, annotationUseSiteTarget, strictUseSite) ?: return
@@ -2,7 +2,7 @@ public enum AnnotatedParameterInEnumConstructor /* test.AnnotatedParameterInEnum
A;
@org.jetbrains.annotations.NotNull()
public static final test.AnnotatedParameterInEnumConstructor valueOf(java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static final test.AnnotatedParameterInEnumConstructor valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static final test.AnnotatedParameterInEnumConstructor[] values();// values()
@@ -2,11 +2,11 @@ public enum AnnotatedParameterInEnumConstructor /* test.AnnotatedParameterInEnum
A;
@org.jetbrains.annotations.NotNull()
public static test.AnnotatedParameterInEnumConstructor valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static test.AnnotatedParameterInEnumConstructor valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static test.AnnotatedParameterInEnumConstructor[] values();// values()
private AnnotatedParameterInEnumConstructor(@test.Anno(x = "a") java.lang.String, @test.Anno(x = "b") java.lang.String);// .ctor(java.lang.String, java.lang.String)
}
}
@@ -4,7 +4,7 @@ public enum E /* p.E*/ {
@kotlin.Deprecated(message = "b") Entry3;
@org.jetbrains.annotations.NotNull()
public static final p.E valueOf(java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static final p.E valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static final p.E[] values();// values()
@@ -4,7 +4,7 @@ public enum E /* p.E*/ {
@kotlin.Deprecated(message = "b") Entry3;
@org.jetbrains.annotations.NotNull()
public static p.E valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static p.E valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static p.E[] values();// values()
+1 -1
View File
@@ -2,7 +2,7 @@ public enum MyEnumClass /* one.MyEnumClass*/ {
Entry;
@org.jetbrains.annotations.NotNull()
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static final one.MyEnumClass[] values();// values()
+1 -1
View File
@@ -2,7 +2,7 @@ public enum MyEnumClass /* one.MyEnumClass*/ {
Entry;
@org.jetbrains.annotations.NotNull()
public static one.MyEnumClass valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static one.MyEnumClass[] values();// values()
@@ -2,7 +2,7 @@ public enum MyEnumClass /* one.MyEnumClass*/ {
Entry;
@org.jetbrains.annotations.NotNull()
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static final one.MyEnumClass[] values();// values()
@@ -2,7 +2,7 @@ public enum MyEnumClass /* one.MyEnumClass*/ {
Entry;
@org.jetbrains.annotations.NotNull()
public static one.MyEnumClass valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static one.MyEnumClass[] values();// values()
@@ -2,7 +2,7 @@ public enum MyEnumClass /* one.MyEnumClass*/ {
Entry;
@org.jetbrains.annotations.NotNull()
public static one.MyEnumClass valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static one.MyEnumClass[] values();// values()
@@ -2,7 +2,7 @@ public enum EnumNameOverride /* EnumNameOverride*/ implements Bar {
;
@org.jetbrains.annotations.NotNull()
public static final EnumNameOverride valueOf(java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static final EnumNameOverride valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static final EnumNameOverride[] values();// values()
@@ -2,11 +2,11 @@ public enum EnumNameOverride /* EnumNameOverride*/ implements Bar {
;
@org.jetbrains.annotations.NotNull()
public static EnumNameOverride valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static EnumNameOverride valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static EnumNameOverride[] values();// values()
private EnumNameOverride();// .ctor()
}
}
+4 -4
View File
@@ -9,7 +9,7 @@ public enum Direction /* Direction*/ {
EAST;
@org.jetbrains.annotations.NotNull()
public static Direction valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static Direction valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static Direction[] values();// values()
@@ -26,7 +26,7 @@ public enum Color /* Color*/ {
private final int rgb;
@org.jetbrains.annotations.NotNull()
public static Color valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static Color valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static Color[] values();// values()
@@ -59,7 +59,7 @@ public enum ProtocolState /* ProtocolState*/ {
public abstract ProtocolState signal();// signal()
@org.jetbrains.annotations.NotNull()
public static ProtocolState valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static ProtocolState valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static ProtocolState[] values();// values()
@@ -107,7 +107,7 @@ public enum IntArithmetics /* IntArithmetics*/ implements java.util.function.Bin
};
@org.jetbrains.annotations.NotNull()
public static IntArithmetics valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static IntArithmetics valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static IntArithmetics[] values();// values()
@@ -5,7 +5,7 @@ public enum Foo /* Foo*/ {
;
@org.jetbrains.annotations.NotNull()
public static Foo valueOf(@org.jetbrains.annotations.NotNull() java.lang.String) throws java.lang.IllegalArgumentException;// valueOf(java.lang.String)
public static Foo valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
@org.jetbrains.annotations.NotNull()
public static Foo[] values();// values()
@@ -26,4 +26,4 @@ public final class InlineInheritance /* InlineInheritance*/ {
public int y();// y()
}
}