| Priority |
Critical |
| Type | Bug |
| State | Fixed |
| Assignee | Eugene Zhuravlev |
| Subsystem | Debugger |
| Affected versions |
No affected versions
|
| Fixed in |
No fix versions
|
| Fixed in build |
Next build |
| Build |
7744
|
| Fixed in build |
8256
|
| Severity |
0
|
IDEA-43070 |
debugger breaks code logic |
|
|
public class TestIteratorRendering {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) { // breakpoint here
String str = iterator.next();
System.out.println(str);
}
}
}
Could you give an example in which the "iterator.next()" expression is auto-created?
This is true for expressions like this: "Data data = iterator.next().getData()"
As a workaround please use ExtractVariable refactoring:
MyObject obj = iterator.next();
Data data = obj.getData();