[java] Don't generate main in implicit class with public modifier

#IDEA-369157 Fixed

GitOrigin-RevId: 6e8de88250b26b51e2f603eb04d751e1ea086a29
This commit is contained in:
Bart van Helvert
2025-03-13 17:10:30 +01:00
committed by intellij-monorepo-bot
parent 0a5849c287
commit 717c521471
2 changed files with 4 additions and 6 deletions

View File

@@ -1,14 +1,11 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.codeInsight.intention.impl;
import com.intellij.java.JavaBundle;
import com.intellij.modcommand.ActionContext;
import com.intellij.modcommand.ModPsiUpdater;
import com.intellij.modcommand.PsiUpdateModCommandAction;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiImplicitClass;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiTypes;
import com.intellij.psi.*;
import org.jetbrains.annotations.NotNull;
public class AddMainMethodFix extends PsiUpdateModCommandAction<PsiImplicitClass> {
@@ -24,6 +21,7 @@ public class AddMainMethodFix extends PsiUpdateModCommandAction<PsiImplicitClass
@Override
protected void invoke(@NotNull ActionContext context, @NotNull PsiImplicitClass element, @NotNull ModPsiUpdater updater) {
PsiMethod mainMethod = JavaPsiFacade.getInstance(context.project()).getElementFactory().createMethod("main", PsiTypes.voidType());
mainMethod.getModifierList().setModifierProperty(PsiModifier.PUBLIC, false);
element.add(mainMethod);
}
}

View File

@@ -10,5 +10,5 @@ class A {
}
public void main() {
void main() {
}