[java-debugger] IDEA-367755 Stream trace debugging gives Internal Error in implicitly declared class

- set language level explicitly


(cherry picked from commit 01b844c4f0d812c4505491121429af3cc7df24c5)

IJ-CR-159083

GitOrigin-RevId: d6cca2ad6ad3a3717d27bba341419cb0c236833a
This commit is contained in:
Mikhail Pyltsin
2025-03-31 20:26:25 +02:00
committed by intellij-monorepo-bot
parent 206476236e
commit 0ff6bc9f98
5 changed files with 62 additions and 3 deletions

View File

@@ -8,6 +8,7 @@ import com.intellij.openapi.projectRoots.JavaSdkVersion;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
@@ -55,6 +56,11 @@ public final class ExtractLightMethodObjectHandler {
final PsiFile copy = PsiFileFactory.getInstance(project)
.createFileFromText(file.getName(), file.getFileType(), file.getText(), file.getModificationStamp(), false);
if (copy instanceof PsiJavaFile copyJavaFile && file instanceof PsiJavaFile originalJavaFile) {
LanguageLevel level = PsiUtil.getLanguageLevel(originalJavaFile);
PsiUtil.FILE_LANGUAGE_LEVEL_KEY.set(copyJavaFile, level);
}
if (originalContext instanceof PsiKeyword && PsiModifier.PRIVATE.equals(originalContext.getText())) {
final PsiNameIdentifierOwner identifierOwner = PsiTreeUtil.getParentOfType(originalContext, PsiNameIdentifierOwner.class);
if (identifierOwner != null) {