Location (DebugProcessImpl debugProcess, @NotNull ClassesByNameProvider classesByName, @NotNull String className, @NotNull String methodName, int line) { ReferenceType classType = ContainerUtil.getFirstItem(classesByName.get(className)); if (classType == null) { classType = new GeneratedReferenceType(debugProcess.getVirtualMachineProxy().getVirtualMachine(), className); } else if (line >= 0) { for (Method method : DebuggerUtilsEx.declaredMethodsByName(classType, methodName)) { List<Location> locations = DebuggerUtilsEx.locationsOfLine(method, line); if (!locations.isEmpty()) { return locations.get(0); } } } return new GeneratedLocation(classType, methodName, line); }