mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed breakpoints in lambdas inside local classes
This commit is contained in:
@@ -476,10 +476,16 @@ public class JVMNameUtil {
|
||||
|
||||
@Nullable
|
||||
public static String getClassVMName(@Nullable PsiClass containingClass) {
|
||||
if (containingClass == null) return null;
|
||||
// no support for local classes for now
|
||||
if (containingClass == null || PsiUtil.isLocalClass(containingClass)) return null;
|
||||
if (containingClass instanceof PsiAnonymousClass) {
|
||||
return getClassVMName(PsiTreeUtil.getParentOfType(containingClass, PsiClass.class)) +
|
||||
JavaAnonymousClassesHelper.getName((PsiAnonymousClass)containingClass);
|
||||
String parentName = getClassVMName(PsiTreeUtil.getParentOfType(containingClass, PsiClass.class));
|
||||
if (parentName == null) {
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return parentName + JavaAnonymousClassesHelper.getName((PsiAnonymousClass)containingClass);
|
||||
}
|
||||
}
|
||||
return ClassUtil.getJVMClassName(containingClass);
|
||||
}
|
||||
|
||||
@@ -213,8 +213,8 @@ public class PositionManagerImpl implements PositionManager, MultiRequestPositio
|
||||
}
|
||||
|
||||
private PsiElement remapElement(PsiElement element) {
|
||||
PsiClass aClass = getEnclosingClass(element);
|
||||
if (!Comparing.equal(myExpectedClassName, JVMNameUtil.getClassVMName(aClass))) {
|
||||
String name = JVMNameUtil.getClassVMName(getEnclosingClass(element));
|
||||
if (name != null && !name.equals(myExpectedClassName)) {
|
||||
return null;
|
||||
}
|
||||
PsiElement method = DebuggerUtilsEx.getContainingMethod(element);
|
||||
|
||||
Reference in New Issue
Block a user