mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java-intentions] IDEA-365192 Use Object type for lambda type during creation field form usages
GitOrigin-RevId: f7532789d8aa7f3dcf17e1de3238a4a3847e5f42
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e1eef60530
commit
9f03565ed9
@@ -68,7 +68,10 @@ internal class JavaFieldRenderer(
|
||||
}
|
||||
|
||||
fun renderField(): PsiField {
|
||||
val fieldType = if (expectedTypes.isNotEmpty()) expectedTypes[0].type else PsiTypes.intType()
|
||||
var fieldType = if (expectedTypes.isNotEmpty()) expectedTypes[0].type else PsiTypes.intType()
|
||||
//something completely broken in this file, let's propose default value - Object
|
||||
if (fieldType is PsiLambdaParameterType ||
|
||||
fieldType is PsiLambdaExpressionType) fieldType = PsiType.getJavaLangObject(targetClass.manager, targetClass.getResolveScope())
|
||||
val field = JavaPsiFacade.getElementFactory(project).createField(request.fieldName, fieldType)
|
||||
|
||||
// clean template modifiers
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// "Create constant field 'MODULE' in 'Usage'" "true"
|
||||
class Usage {
|
||||
|
||||
private static final MODULE = ;
|
||||
|
||||
void usage() {
|
||||
var type = ()-> System.out.println("");
|
||||
switch (type) {
|
||||
case CLASS -> symbols.add(1);
|
||||
case INTERFACE -> symbols.add(2);
|
||||
case MODULE -> symbols.add(42);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// "Create constant field 'MODULE' in 'Usage'" "true"
|
||||
class Usage {
|
||||
|
||||
void usage() {
|
||||
var type = ()-> System.out.println("");
|
||||
switch (type) {
|
||||
case CLASS -> symbols.add(1);
|
||||
case INTERFACE -> symbols.add(2);
|
||||
case <caret>MODULE -> symbols.add(42);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -42,6 +42,7 @@ public class CreateFieldFromUsageTest extends LightQuickFixTestCase {
|
||||
public void testCreateFromEqualsToPrimitiveType() { doSingleTest(); }
|
||||
public void testInsideInterface() { doSingleTest(); }
|
||||
public void testReferenceInCall() { doSingleTest(); }
|
||||
public void testReferenceLambdaType() { doSingleTest(); }
|
||||
public void testWithAlignment() {
|
||||
final CommonCodeStyleSettings settings = CodeStyle.getSettings(getProject()).getCommonSettings(JavaLanguage.INSTANCE);
|
||||
boolean old = settings.ALIGN_GROUP_FIELD_DECLARATIONS;
|
||||
|
||||
Reference in New Issue
Block a user