CompileCommand: exclude org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.getExtendedRange bool exclude = true !SESSION 2025-06-30 20:45:46.464 ----------------------------------------------- eclipse.buildId=4.37.0.I20250630-1800 java.version=21.0.5 java.vendor=Eclipse Adoptium BootLoader constants: OS=macosx, ARCH=aarch64, WS=cocoa, NL=en_US Framework arguments: -application org.eclipse.test.uitestapplication formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,/Users/genie.releng/workspace/AutomatedTests/ep437I-unit-macosx-aarch64-java21/workarea/I20250630-1800/eclipse-testing/test-eclipse/Eclipse.app/Contents/Eclipse/org.eclipse.jdt.ui.tests.AutomatedSuite.xml -testPluginName org.eclipse.jdt.ui.tests -className org.eclipse.jdt.ui.tests.AutomatedSuite -timeout 7200000 -junitReportOutput /Users/genie.releng/workspace/AutomatedTests/ep437I-unit-macosx-aarch64-java21/workarea/I20250630-1800/eclipse-testing/results/ep437I-unit-macosx-aarch64-java21_macosx.cocoa.aarch64_21 Command-line arguments: -application org.eclipse.test.uitestapplication -data /Users/genie.releng/workspace/AutomatedTests/ep437I-unit-macosx-aarch64-java21/workarea/I20250630-1800/eclipse-testing/test-eclipse/Eclipse.app/Contents/Eclipse/jdt_folder formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,/Users/genie.releng/workspace/AutomatedTests/ep437I-unit-macosx-aarch64-java21/workarea/I20250630-1800/eclipse-testing/test-eclipse/Eclipse.app/Contents/Eclipse/org.eclipse.jdt.ui.tests.AutomatedSuite.xml -testPluginName org.eclipse.jdt.ui.tests -className org.eclipse.jdt.ui.tests.AutomatedSuite -os macosx -ws cocoa -arch aarch64 -consolelog -timeout 7200000 -junitReportOutput /Users/genie.releng/workspace/AutomatedTests/ep437I-unit-macosx-aarch64-java21/workarea/I20250630-1800/eclipse-testing/results/ep437I-unit-macosx-aarch64-java21_macosx.cocoa.aarch64_21 !ENTRY org.eclipse.e4.ui.workbench3 1 0 2025-06-30 20:45:51.240 !MESSAGE starting DumpStackTracesTimer with timeout=7080000 at 2025-06-30 20:45:51 -0400 coll.add(var) System.out.println(var) System.err.println(var) System.out.println(arr) coll.add(var) Start 15 :package test; import java.util.Collection; public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 42 :test class org.eclipse.jdt.core.dom.SimpleName End 42 :test class org.eclipse.jdt.core.dom.SimpleName End 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 26 :import java.util.Collection; class org.eclipse.jdt.core.dom.ImportDeclaration Start 40 :java.util.Collection class org.eclipse.jdt.core.dom.QualifiedName Start 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName Start 42 :java class org.eclipse.jdt.core.dom.SimpleName End 42 :java class org.eclipse.jdt.core.dom.SimpleName Start 42 :util class org.eclipse.jdt.core.dom.SimpleName End 42 :util class org.eclipse.jdt.core.dom.SimpleName End 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName Start 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 40 :java.util.Collection class org.eclipse.jdt.core.dom.QualifiedName End 26 :import java.util.Collection; class org.eclipse.jdt.core.dom.ImportDeclaration Start 55 :public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.TypeDeclaration Start 83 :public class org.eclipse.jdt.core.dom.Modifier End 83 :public class org.eclipse.jdt.core.dom.Modifier Start 42 :E class org.eclipse.jdt.core.dom.SimpleName End 42 :E class org.eclipse.jdt.core.dom.SimpleName Start 31 :public void hui(Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.MethodDeclaration Start 83 :public class org.eclipse.jdt.core.dom.Modifier End 83 :public class org.eclipse.jdt.core.dom.Modifier Start 39 :void class org.eclipse.jdt.core.dom.PrimitiveType End 39 :void class org.eclipse.jdt.core.dom.PrimitiveType Start 42 :hui class org.eclipse.jdt.core.dom.SimpleName End 42 :hui class org.eclipse.jdt.core.dom.SimpleName Start 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 74 :Collection class org.eclipse.jdt.core.dom.ParameterizedType Start 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType End 74 :Collection class org.eclipse.jdt.core.dom.ParameterizedType Start 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 8 :{ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.Block Start 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :coll class org.eclipse.jdt.core.dom.SimpleName End 42 :coll class org.eclipse.jdt.core.dom.SimpleName Start 33 :null class org.eclipse.jdt.core.dom.NullLiteral End 33 :null class org.eclipse.jdt.core.dom.NullLiteral End 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 70 :for (String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.EnhancedForStatement Start 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 42 :arr class org.eclipse.jdt.core.dom.SimpleName Start 8 :{ coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.Block Start 21 :coll.add(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :coll.add(var) class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :coll class org.eclipse.jdt.core.dom.SimpleName End 42 :coll class org.eclipse.jdt.core.dom.SimpleName Start 42 :add class org.eclipse.jdt.core.dom.SimpleName End 42 :add class org.eclipse.jdt.core.dom.SimpleName Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 32 :coll.add(var) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :coll.add(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 21 :System.out.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(var) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName End 42 :out class org.eclipse.jdt.core.dom.SimpleName End 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 32 :System.out.println(var) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.out.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 21 :System.err.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.err.println(var) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.err class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :err class org.eclipse.jdt.core.dom.SimpleName End 42 :err class org.eclipse.jdt.core.dom.SimpleName End 40 :System.err class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 32 :System.err.println(var) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.err.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement End 8 :{ coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.Block End 70 :for (String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.EnhancedForStatement Start 21 :System.out.println(arr); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(arr) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName End 42 :out class org.eclipse.jdt.core.dom.SimpleName End 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 32 :System.out.println(arr) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.out.println(arr); class org.eclipse.jdt.core.dom.ExpressionStatement End 8 :{ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.Block End 31 :public void hui(Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.MethodDeclaration End 55 :public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.TypeDeclaration End 15 :package test; import java.util.Collection; public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration End 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration End 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration 2 VariableDeclarationStatement 2 PrimitiveType 2 PackageDeclaration 8 MethodInvocation 2 EnhancedForStatement 4 SingleVariableDeclaration 2 ParameterizedType 8 SimpleType 2 ImportDeclaration 2 TypeDeclaration 8 ExpressionStatement 2 NullLiteral 58 SimpleName 2 VariableDeclarationFragment 2 MethodDeclaration 10 QualifiedName 4 Modifier 2 CompilationUnit 4 Block coll.add(var) Start 15 :package test; import java.util.*; public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 42 :test class org.eclipse.jdt.core.dom.SimpleName End 42 :test class org.eclipse.jdt.core.dom.SimpleName End 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 26 :import java.util.*; class org.eclipse.jdt.core.dom.ImportDeclaration Start 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName Start 42 :java class org.eclipse.jdt.core.dom.SimpleName End 42 :java class org.eclipse.jdt.core.dom.SimpleName Start 42 :util class org.eclipse.jdt.core.dom.SimpleName End 42 :util class org.eclipse.jdt.core.dom.SimpleName End 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName End 26 :import java.util.*; class org.eclipse.jdt.core.dom.ImportDeclaration Start 55 :public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.TypeDeclaration Start 83 :public class org.eclipse.jdt.core.dom.Modifier End 83 :public class org.eclipse.jdt.core.dom.Modifier Start 42 :Test class org.eclipse.jdt.core.dom.SimpleName End 42 :Test class org.eclipse.jdt.core.dom.SimpleName Start 31 :void m(List strings,List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.MethodDeclaration Start 39 :void class org.eclipse.jdt.core.dom.PrimitiveType End 39 :void class org.eclipse.jdt.core.dom.PrimitiveType Start 42 :m class org.eclipse.jdt.core.dom.SimpleName End 42 :m class org.eclipse.jdt.core.dom.SimpleName Start 44 :List strings class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 42 :List class org.eclipse.jdt.core.dom.SimpleName End 42 :List class org.eclipse.jdt.core.dom.SimpleName End 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType End 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName End 42 :strings class org.eclipse.jdt.core.dom.SimpleName End 44 :List strings class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 44 :List strings2 class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 42 :List class org.eclipse.jdt.core.dom.SimpleName End 42 :List class org.eclipse.jdt.core.dom.SimpleName End 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType End 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName End 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName End 44 :List strings2 class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 8 :{ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.Block Start 21 :Collections.reverse(strings); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :Collections.reverse(strings) class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :Collections class org.eclipse.jdt.core.dom.SimpleName End 42 :Collections class org.eclipse.jdt.core.dom.SimpleName Start 42 :reverse class org.eclipse.jdt.core.dom.SimpleName End 42 :reverse class org.eclipse.jdt.core.dom.SimpleName Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName End 42 :strings class org.eclipse.jdt.core.dom.SimpleName End 32 :Collections.reverse(strings) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :Collections.reverse(strings); class org.eclipse.jdt.core.dom.ExpressionStatement Start 60 :Iterator it=strings.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName End 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName End 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 59 :it=strings.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :it class org.eclipse.jdt.core.dom.SimpleName End 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 32 :strings.iterator() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName End 42 :strings class org.eclipse.jdt.core.dom.SimpleName Start 42 :iterator class org.eclipse.jdt.core.dom.SimpleName End 42 :iterator class org.eclipse.jdt.core.dom.SimpleName End 32 :strings.iterator() class org.eclipse.jdt.core.dom.MethodInvocation End 59 :it=strings.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 60 :Iterator it=strings.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 61 :while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.WhileStatement Start 32 :it.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it class org.eclipse.jdt.core.dom.SimpleName End 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName End 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName End 32 :it.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 8 :{ Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.Block Start 60 :Iterator it2=strings2.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName End 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName End 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 59 :it2=strings2.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName End 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 32 :strings2.iterator() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName End 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :iterator class org.eclipse.jdt.core.dom.SimpleName End 42 :iterator class org.eclipse.jdt.core.dom.SimpleName End 32 :strings2.iterator() class org.eclipse.jdt.core.dom.MethodInvocation End 59 :it2=strings2.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 60 :Iterator it2=strings2.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 61 :while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.WhileStatement Start 32 :it2.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName End 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName End 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName End 32 :it2.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 8 :{ String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.Block Start 60 :String s2=(String)it2.next(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 59 :s2=(String)it2.next() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :s2 class org.eclipse.jdt.core.dom.SimpleName End 42 :s2 class org.eclipse.jdt.core.dom.SimpleName Start 11 :(String)it2.next() class org.eclipse.jdt.core.dom.CastExpression Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 32 :it2.next() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName End 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :next class org.eclipse.jdt.core.dom.SimpleName End 42 :next class org.eclipse.jdt.core.dom.SimpleName End 32 :it2.next() class org.eclipse.jdt.core.dom.MethodInvocation End 11 :(String)it2.next() class org.eclipse.jdt.core.dom.CastExpression End 59 :s2=(String)it2.next() class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 60 :String s2=(String)it2.next(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 21 :System.out.println(s2); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(s2) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName End 42 :out class org.eclipse.jdt.core.dom.SimpleName End 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :s2 class org.eclipse.jdt.core.dom.SimpleName End 42 :s2 class org.eclipse.jdt.core.dom.SimpleName End 32 :System.out.println(s2) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.out.println(s2); class org.eclipse.jdt.core.dom.ExpressionStatement End 8 :{ String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.Block End 61 :while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.WhileStatement Start 21 :System.out.println(it.next()); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(it.next()) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName End 42 :out class org.eclipse.jdt.core.dom.SimpleName End 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 32 :it.next() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it class org.eclipse.jdt.core.dom.SimpleName End 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 42 :next class org.eclipse.jdt.core.dom.SimpleName End 42 :next class org.eclipse.jdt.core.dom.SimpleName End 32 :it.next() class org.eclipse.jdt.core.dom.MethodInvocation End 32 :System.out.println(it.next()) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.out.println(it.next()); class org.eclipse.jdt.core.dom.ExpressionStatement End 8 :{ Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.Block End 61 :while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.WhileStatement Start 21 :System.out.println(); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println() class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName End 42 :out class org.eclipse.jdt.core.dom.SimpleName End 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName End 32 :System.out.println() class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.out.println(); class org.eclipse.jdt.core.dom.ExpressionStatement End 8 :{ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.Block End 31 :void m(List strings,List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.MethodDeclaration End 55 :public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.TypeDeclaration End 15 :package test; import java.util.*; public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 15 :package test; import java.util.*; public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 42 :test class org.eclipse.jdt.core.dom.SimpleName Start 42 :test class org.eclipse.jdt.core.dom.SimpleName Start 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 26 :import java.util.*; class org.eclipse.jdt.core.dom.ImportDeclaration Start 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName Start 42 :java class org.eclipse.jdt.core.dom.SimpleName Start 42 :java class org.eclipse.jdt.core.dom.SimpleName Start 42 :util class org.eclipse.jdt.core.dom.SimpleName Start 42 :util class org.eclipse.jdt.core.dom.SimpleName Start 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName Start 26 :import java.util.*; class org.eclipse.jdt.core.dom.ImportDeclaration Start 55 :public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.TypeDeclaration Start 83 :public class org.eclipse.jdt.core.dom.Modifier Start 83 :public class org.eclipse.jdt.core.dom.Modifier Start 42 :Test class org.eclipse.jdt.core.dom.SimpleName Start 42 :Test class org.eclipse.jdt.core.dom.SimpleName Start 31 :void m(List strings,List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.MethodDeclaration Start 39 :void class org.eclipse.jdt.core.dom.PrimitiveType Start 39 :void class org.eclipse.jdt.core.dom.PrimitiveType Start 42 :m class org.eclipse.jdt.core.dom.SimpleName Start 42 :m class org.eclipse.jdt.core.dom.SimpleName Start 44 :List strings class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 42 :List class org.eclipse.jdt.core.dom.SimpleName Start 42 :List class org.eclipse.jdt.core.dom.SimpleName Start 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName Start 44 :List strings class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 44 :List strings2 class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 42 :List class org.eclipse.jdt.core.dom.SimpleName Start 42 :List class org.eclipse.jdt.core.dom.SimpleName Start 43 :List class org.eclipse.jdt.core.dom.SimpleType Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 74 :List class org.eclipse.jdt.core.dom.ParameterizedType Start 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName Start 44 :List strings2 class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 8 :{ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.Block Start 21 :Collections.reverse(strings); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :Collections.reverse(strings) class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :Collections class org.eclipse.jdt.core.dom.SimpleName Start 42 :Collections class org.eclipse.jdt.core.dom.SimpleName Start 42 :reverse class org.eclipse.jdt.core.dom.SimpleName Start 42 :reverse class org.eclipse.jdt.core.dom.SimpleName Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName Start 32 :Collections.reverse(strings) class org.eclipse.jdt.core.dom.MethodInvocation Start 21 :Collections.reverse(strings); class org.eclipse.jdt.core.dom.ExpressionStatement Start 60 :Iterator it=strings.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName Start 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName Start 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 59 :it=strings.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 32 :strings.iterator() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName Start 42 :strings class org.eclipse.jdt.core.dom.SimpleName Start 42 :iterator class org.eclipse.jdt.core.dom.SimpleName Start 42 :iterator class org.eclipse.jdt.core.dom.SimpleName Start 32 :strings.iterator() class org.eclipse.jdt.core.dom.MethodInvocation Start 59 :it=strings.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 60 :Iterator it=strings.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 61 :while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.WhileStatement Start 32 :it.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName Start 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName Start 32 :it.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 8 :{ Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.Block Start 60 :Iterator it2=strings2.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName Start 42 :Iterator class org.eclipse.jdt.core.dom.SimpleName Start 43 :Iterator class org.eclipse.jdt.core.dom.SimpleType Start 59 :it2=strings2.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 32 :strings2.iterator() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :strings2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :iterator class org.eclipse.jdt.core.dom.SimpleName Start 42 :iterator class org.eclipse.jdt.core.dom.SimpleName Start 32 :strings2.iterator() class org.eclipse.jdt.core.dom.MethodInvocation Start 59 :it2=strings2.iterator() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 60 :Iterator it2=strings2.iterator(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 61 :while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.WhileStatement Start 32 :it2.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName Start 42 :hasNext class org.eclipse.jdt.core.dom.SimpleName Start 32 :it2.hasNext() class org.eclipse.jdt.core.dom.MethodInvocation Start 8 :{ String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.Block Start 60 :String s2=(String)it2.next(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 59 :s2=(String)it2.next() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :s2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :s2 class org.eclipse.jdt.core.dom.SimpleName Start 11 :(String)it2.next() class org.eclipse.jdt.core.dom.CastExpression Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 42 :String class org.eclipse.jdt.core.dom.SimpleName Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 32 :it2.next() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :it2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :next class org.eclipse.jdt.core.dom.SimpleName Start 42 :next class org.eclipse.jdt.core.dom.SimpleName Start 32 :it2.next() class org.eclipse.jdt.core.dom.MethodInvocation Start 11 :(String)it2.next() class org.eclipse.jdt.core.dom.CastExpression Start 59 :s2=(String)it2.next() class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 60 :String s2=(String)it2.next(); class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 21 :System.out.println(s2); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(s2) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :s2 class org.eclipse.jdt.core.dom.SimpleName Start 42 :s2 class org.eclipse.jdt.core.dom.SimpleName Start 32 :System.out.println(s2) class org.eclipse.jdt.core.dom.MethodInvocation Start 21 :System.out.println(s2); class org.eclipse.jdt.core.dom.ExpressionStatement Start 8 :{ String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.Block Start 61 :while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } class org.eclipse.jdt.core.dom.WhileStatement Start 21 :System.out.println(it.next()); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(it.next()) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 32 :it.next() class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 42 :it class org.eclipse.jdt.core.dom.SimpleName Start 42 :next class org.eclipse.jdt.core.dom.SimpleName Start 42 :next class org.eclipse.jdt.core.dom.SimpleName Start 32 :it.next() class org.eclipse.jdt.core.dom.MethodInvocation Start 32 :System.out.println(it.next()) class org.eclipse.jdt.core.dom.MethodInvocation Start 21 :System.out.println(it.next()); class org.eclipse.jdt.core.dom.ExpressionStatement Start 8 :{ Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.Block Start 61 :while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } class org.eclipse.jdt.core.dom.WhileStatement Start 21 :System.out.println(); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println() class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 32 :System.out.println() class org.eclipse.jdt.core.dom.MethodInvocation Start 21 :System.out.println(); class org.eclipse.jdt.core.dom.ExpressionStatement Start 8 :{ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.Block Start 31 :void m(List strings,List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } class org.eclipse.jdt.core.dom.MethodDeclaration Start 55 :public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.TypeDeclaration Start 15 :package test; import java.util.*; public class Test { void m( List strings, List strings2){ Collections.reverse(strings); Iterator it=strings.iterator(); while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } System.out.println(); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 15 :package test; import java.util.Collection; public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 42 :test class org.eclipse.jdt.core.dom.SimpleName End 42 :test class org.eclipse.jdt.core.dom.SimpleName End 35 :package test; class org.eclipse.jdt.core.dom.PackageDeclaration Start 26 :import java.util.Collection; class org.eclipse.jdt.core.dom.ImportDeclaration Start 40 :java.util.Collection class org.eclipse.jdt.core.dom.QualifiedName Start 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName Start 42 :java class org.eclipse.jdt.core.dom.SimpleName End 42 :java class org.eclipse.jdt.core.dom.SimpleName Start 42 :util class org.eclipse.jdt.core.dom.SimpleName End 42 :util class org.eclipse.jdt.core.dom.SimpleName End 40 :java.util class org.eclipse.jdt.core.dom.QualifiedName Start 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 40 :java.util.Collection class org.eclipse.jdt.core.dom.QualifiedName End 26 :import java.util.Collection; class org.eclipse.jdt.core.dom.ImportDeclaration Start 55 :public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.TypeDeclaration Start 83 :public class org.eclipse.jdt.core.dom.Modifier End 83 :public class org.eclipse.jdt.core.dom.Modifier Start 42 :E class org.eclipse.jdt.core.dom.SimpleName End 42 :E class org.eclipse.jdt.core.dom.SimpleName Start 31 :public void hui(Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.MethodDeclaration Start 83 :public class org.eclipse.jdt.core.dom.Modifier End 83 :public class org.eclipse.jdt.core.dom.Modifier Start 39 :void class org.eclipse.jdt.core.dom.PrimitiveType End 39 :void class org.eclipse.jdt.core.dom.PrimitiveType Start 42 :hui class org.eclipse.jdt.core.dom.SimpleName End 42 :hui class org.eclipse.jdt.core.dom.SimpleName Start 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 74 :Collection class org.eclipse.jdt.core.dom.ParameterizedType Start 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType End 74 :Collection class org.eclipse.jdt.core.dom.ParameterizedType Start 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 8 :{ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.Block Start 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 42 :Collection class org.eclipse.jdt.core.dom.SimpleName End 43 :Collection class org.eclipse.jdt.core.dom.SimpleType Start 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment Start 42 :coll class org.eclipse.jdt.core.dom.SimpleName End 42 :coll class org.eclipse.jdt.core.dom.SimpleName Start 33 :null class org.eclipse.jdt.core.dom.NullLiteral End 33 :null class org.eclipse.jdt.core.dom.NullLiteral End 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 70 :for (String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.EnhancedForStatement Start 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :String class org.eclipse.jdt.core.dom.SimpleName End 42 :String class org.eclipse.jdt.core.dom.SimpleName End 43 :String class org.eclipse.jdt.core.dom.SimpleType Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 42 :arr class org.eclipse.jdt.core.dom.SimpleName Start 8 :{ coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.Block Start 21 :coll.add(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :coll.add(var) class org.eclipse.jdt.core.dom.MethodInvocation Start 42 :coll class org.eclipse.jdt.core.dom.SimpleName End 42 :coll class org.eclipse.jdt.core.dom.SimpleName Start 42 :add class org.eclipse.jdt.core.dom.SimpleName End 42 :add class org.eclipse.jdt.core.dom.SimpleName Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 32 :coll.add(var) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :coll.add(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 21 :System.out.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(var) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName End 42 :out class org.eclipse.jdt.core.dom.SimpleName End 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 32 :System.out.println(var) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.out.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 21 :System.err.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.err.println(var) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.err class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :err class org.eclipse.jdt.core.dom.SimpleName End 42 :err class org.eclipse.jdt.core.dom.SimpleName End 40 :System.err class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :var class org.eclipse.jdt.core.dom.SimpleName End 42 :var class org.eclipse.jdt.core.dom.SimpleName End 32 :System.err.println(var) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.err.println(var); class org.eclipse.jdt.core.dom.ExpressionStatement End 8 :{ coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.Block End 70 :for (String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } class org.eclipse.jdt.core.dom.EnhancedForStatement Start 21 :System.out.println(arr); class org.eclipse.jdt.core.dom.ExpressionStatement Start 32 :System.out.println(arr) class org.eclipse.jdt.core.dom.MethodInvocation Start 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :System class org.eclipse.jdt.core.dom.SimpleName End 42 :System class org.eclipse.jdt.core.dom.SimpleName Start 42 :out class org.eclipse.jdt.core.dom.SimpleName End 42 :out class org.eclipse.jdt.core.dom.SimpleName End 40 :System.out class org.eclipse.jdt.core.dom.QualifiedName Start 42 :println class org.eclipse.jdt.core.dom.SimpleName End 42 :println class org.eclipse.jdt.core.dom.SimpleName Start 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 42 :arr class org.eclipse.jdt.core.dom.SimpleName End 32 :System.out.println(arr) class org.eclipse.jdt.core.dom.MethodInvocation End 21 :System.out.println(arr); class org.eclipse.jdt.core.dom.ExpressionStatement End 8 :{ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.Block End 31 :public void hui(Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } class org.eclipse.jdt.core.dom.MethodDeclaration End 55 :public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.TypeDeclaration End 15 :package test; import java.util.Collection; public class E { public void hui( Collection arr){ Collection coll=null; for ( String var : arr) { coll.add(var); System.out.println(var); System.err.println(var); } System.out.println(arr); } } class org.eclipse.jdt.core.dom.CompilationUnit Start 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration End 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 59 :coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment End 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration End 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration End 44 :Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration Start 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement End 60 :Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement Start 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration End 44 :String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration 1 VariableDeclarationStatement 1 PrimitiveType 1 PackageDeclaration 4 MethodInvocation 1 EnhancedForStatement 2 SingleVariableDeclaration 1 ParameterizedType 4 SimpleType 1 ImportDeclaration 4 ExpressionStatement 1 TypeDeclaration 1 NullLiteral 29 SimpleName 1 VariableDeclarationFragment 1 MethodDeclaration 5 QualifiedName 2 Modifier 2 Block 1 CompilationUnit String var 137 class org.eclipse.jdt.core.dom.SingleVariableDeclaration coll=null 117 class org.eclipse.jdt.core.dom.VariableDeclarationFragment Collection coll=null; 106 class org.eclipse.jdt.core.dom.VariableDeclarationStatement Collection arr 78 class org.eclipse.jdt.core.dom.SingleVariableDeclaration String var class org.eclipse.jdt.core.dom.SingleVariableDeclaration ===>null coll=null class org.eclipse.jdt.core.dom.VariableDeclarationFragment ===>null Collection coll=null; class org.eclipse.jdt.core.dom.VariableDeclarationStatement ===>null Collection arr class org.eclipse.jdt.core.dom.SingleVariableDeclaration ===>null ################# ============= while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } init ===>Iterator it=strings.iterator(); while ===>while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } next ===>it.next() name ===>it ============= while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } init ===>Iterator it2=strings2.iterator(); while ===>while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } next ===>it2.next() name ===>it2 ===================== iterator: Iterator it=strings.iterator(); while: while (it.hasNext()) { Iterator it2=strings2.iterator(); while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } System.out.println(it.next()); } next: it.next() ===================== iterator: Iterator it2=strings2.iterator(); while: while (it2.hasNext()) { String s2=(String)it2.next(); System.out.println(s2); } next: it2.next() init 60 :Iterator it=strings.iterator(); init 60 :Iterator it2=strings2.iterator(); End 32 :coll.add(var) Start 32 :it2.next() class org.eclipse.jdt.core.dom.MethodInvocation [strings, it2, it, strings2, s2] Start 32 :it.next() class org.eclipse.jdt.core.dom.MethodInvocation [strings, it2, it, strings2, s2] package test1; public class E { public boolean simplifyNormal(int x) { if (x > 0 && x < 7) { return true; } else { return false; } } public boolean simplifyReverse(int x) { if (x > 0 && x < 7) { return false; } else { return true; } } public boolean simplifyCompoundIf(int x) { if (x < 0) { return false; } if (x < 7) { return true; } else { return false; } } public boolean simplifyNLS(String x) { if (x.equals("abc")) { //$NON-NLS-1$ return true; } else { return false; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also try { throw new Exception(); } catch(Exception e) { } } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also return 1; } } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } else { // Keep this comment also return 2; } } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i > 0 /* comment */) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } else { // Keep this comment also return 51; } } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) if (integer > 0) { // Keep this comment too integer = integer + 1; } else { // Keep this comment return 0; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) if (real > 0) { // Keep this comment return 0; } else { // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) if (isActive) return 0; // This kind of comment is correctly handled else { System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also return 1; } } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } else { // Keep this comment also return 2; } } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i > 0 /* comment */) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } else { // Keep this comment also return 51; } } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) if (integer > 0) { // Keep this comment too integer = integer + 1; } else { // Keep this comment return 0; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) if (real > 0) { // Keep this comment return 0; } else { // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) if (isActive) return 0; // This kind of comment is correctly handled else { System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } else { // Keep this comment also return 2; } } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i > 0 /* comment */) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } else { // Keep this comment also return 51; } } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) if (integer > 0) { // Keep this comment too integer = integer + 1; } else { // Keep this comment return 0; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) if (real > 0) { // Keep this comment return 0; } else { // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) if (isActive) return 0; // This kind of comment is correctly handled else { System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i > 0 /* comment */) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } else { // Keep this comment also return 51; } } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) if (integer > 0) { // Keep this comment too integer = integer + 1; } else { // Keep this comment return 0; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) if (real > 0) { // Keep this comment return 0; } else { // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) if (isActive) return 0; // This kind of comment is correctly handled else { System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i > 0 /* comment */) { // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } else { // Keep this comment also return 51; } } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } else { // Keep this comment also return 51; } } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) if (integer > 0) { // Keep this comment too integer = integer + 1; } else { // Keep this comment return 0; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) if (real > 0) { // Keep this comment return 0; } else { // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) if (isActive) return 0; // This kind of comment is correctly handled else { System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) if (isActive) return 0; // This kind of comment is correctly handled else { System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } else { // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } else { // Keep this comment also int conflictingName = 123; i = i + conflictingName; } return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also int conflictingName = 123; i = i + conflictingName; return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } else { // Keep this comment also i = i + 1; } return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also int conflictingName = 123; i = i + conflictingName; return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } // Keep this comment also i = i + 1; return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } else { // Keep this comment also System.out.println(integer); } } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also int conflictingName = 123; i = i + conflictingName; return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } // Keep this comment also i = i + 1; return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } // Keep this comment also System.out.println(integer); } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } else { // Keep this comment also System.out.println(integer); } } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also int conflictingName = 123; i = i + conflictingName; return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } // Keep this comment also i = i + 1; return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } // Keep this comment also System.out.println(integer); } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } // Keep this comment also System.out.println(integer); } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } else return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also int conflictingName = 123; i = i + conflictingName; return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } // Keep this comment also i = i + 1; return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } // Keep this comment also System.out.println(integer); } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } // Keep this comment also System.out.println(integer); } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (dates.isEmpty()) { } else { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } else { } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also int conflictingName = 123; i = i + conflictingName; return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } // Keep this comment also i = i + 1; return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } // Keep this comment also System.out.println(integer); } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } // Keep this comment also System.out.println(integer); } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (!dates.isEmpty()) { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } } public void refactorNegativeCondition(Date date) { // Keep this comment if (!(date != null)) { System.out.println("null args: we should not be here"); } else { return; } return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } else if (b) { // comment 2 return 2; } else { System.out.println("abc"); return 3; } } } package test1; import java.util.Calendar; import java.util.Date; import java.util.List; public class E { private Date conflictingName = new Date(); public int refactorThen(int i) { // Keep this comment if (i <= 0) { // Keep this comment also return 0; } // Keep this comment too i = i + 1; return i; } public int refactorElse(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also i = i + 1; return i; } public int refactorWithTryCatch(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also try { throw new Exception(); } catch(Exception e) { } return i; } public int refactorIndentation(int i) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also return 1; } public int refactorInTry(int i) { // Keep this comment try { if (i > 0) { // Keep this comment too return 1; } // Keep this comment also return 2; } catch (Exception e) { e.printStackTrace(); } return 0; } public int reduceIndentationFromElse(int i, List integers) { // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also for (Integer integer : integers) { System.out.println("Reading " + integer); } return 51; } public int reduceIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int negateCommentedCondition(int i, List integers) { // Keep this comment if (i <= 0 /* comment */) { // Keep this comment also return 51; } // Keep this comment too for (Integer integer : integers) { System.out.println("Reading " + integer); } return 0; } public int reduceBigIndentationFromIf(int i, List integers) { // Keep this comment if (i <= 0) { // Keep this comment also return 51; } // Keep this comment too try { for (String integer : integers) { System.out.println("Reading " + (Integer.parseInt(integer) + 100)); } } catch (Exception e) { e.printStackTrace(); } return 0; } public int refactorThenInUnbrackettedForLoop(int[] integers) { for (int integer : integers) { if (integer <= 0) { // Keep this comment return 0; } // Keep this comment too integer = integer + 1; } return -1; } public int refactorElseInUnbrackettedForLoop(double[] reals) { for (double real : reals) { if (real > 0) { // Keep this comment return 0; } // Keep this comment too real = real + 1; System.out.println("New value: " + real); } return -1; } public int reduceWithUnbrackettedThenAndParent(boolean isValid, boolean isActive) { if (isValid) { if (isActive) return 0; // This kind of comment is correctly handled System.out.println("Valid and active"); } return -1; } public int refactorElseInSwitch(int discriminant, boolean isVisible) { switch (discriminant) { case 0: if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInTry(int discriminant, boolean isVisible) { try { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } finally { System.out.println("Finally"); } return -1; } public int refactorElseInCatch(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } catch (Exception e) { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorElseInFinally(int discriminant, boolean isVisible) { try { System.out.println("Very dangerous code"); } finally { if (isVisible) { // Keep this comment return 0; } // Keep this comment too discriminant = discriminant + 1; System.out.println("New value: " + discriminant); } return -1; } public int refactorWithoutNameConflict(int i) { System.out.println("Today: " + conflictingName); // Keep this comment if (i > 0) { // Keep this comment too return 0; } // Keep this comment also int conflictingName = 123; i = i + conflictingName; return i; } public int refactorWithThrow(int i) { // Keep this comment if (i > 0) { // Keep this comment too throw new IllegalArgumentException("Positive argument"); } // Keep this comment also i = i + 1; return i; } public void refactorWithContinue(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too continue; } // Keep this comment also System.out.println(integer); } } public void refactorWithBreak(List integers) { for (Integer integer : integers) { // Keep this comment if (integer > 0) { // Keep this comment too break; } // Keep this comment also System.out.println(integer); } } public int refactorElse(List dates) { // Keep this comment if (dates.isEmpty()) { return 0; } return 1; } public void refactorUnparameterizedReturn(List dates) { // Keep this comment if (!dates.isEmpty()) { return; } } public void refactorEmptyElse(List dates) { // Keep this comment if (dates.isEmpty()) { return; } } public void refactorNegativeCondition(Date date) { // Keep this comment if (date != null) { return; } System.out.println("null args: we should not be here"); return; } public int refactorIfChain(boolean a, boolean b) { // comment 1 if (a) { return 1; } if (b) { // comment 2 return 2; } System.out.println("abc"); return 3; } } package test1; public class E1 { public void doNotRemoveUselessReturn(boolean arg) { if (arg) { return; } System.out.println("here"); } public void doNotRemoveUselessContinue(boolean arg) { while (arg) { arg = bar(); if (arg) { continue; } else { System.out.println("Hello World"); } } } public boolean bar() { return true; } } package test1; public class E1 { public void doNotRemoveUselessReturn(boolean arg) { if (arg) { return; } System.out.println("here"); } public void doNotRemoveUselessContinue(boolean arg) { while (arg) { arg = bar(); if (arg) { continue; } System.out.println("Hello World"); } } public boolean bar() { return true; } } package test1; import org.eclipse.jdt.annotation.*; public class E { public void f() { @NonNullByDefault({DefaultLocation.PARAMETER}) Object local=new Object() { public void g() { @NonNullByDefault(value={DefaultLocation.PARAMETER}) Object nested; }; }; } } foo foo foo foo foo foo foo foo foo foo s String s="a"; other.b=newB; other.b=newB; other.other.b=newB; d d d d d a d a d a d a int d=a + b + c; e a a a int a=1; b strX strX foo v1 v1 v2 v2 n1 n1 n2 n2 n3 n3 n4 n4 a1 a1 bar bar bar bar bar bar bar bar i i i i f t1 t1 list removeIf x x x x c c c c fi io io b (i > 1) b (i > 1) b (i > 1) b (i > 1) b (i > 1) b (i > 1) while (!(a instanceof String)) { } while (!(a instanceof String)) { } for (int i=0; !(a instanceof String); i++) { } for (int i=0; !(a instanceof String); i++) { } do { } while (!(a instanceof String)); do { } while (!(a instanceof String)); while (b instanceof String) return; while (b instanceof String) return; res res res res i i b i > 1 b i > 1 while (!(b instanceof String)) return; while (!(b instanceof String)) return; string string d d n n string string System.out println System.out println !ENTRY org.eclipse.jdt.ui 1 0 2025-06-30 20:47:58.051 !MESSAGE Expecting an error message to be logged after this. !ENTRY org.eclipse.jdt.ui 4 4 2025-06-30 20:47:58.056 !MESSAGE Error during computation of Annotate proposals: Could not resolve type Missing !STACK 0 org.eclipse.jdt.internal.corext.fix.ExternalNullAnnotationChangeProposals$MissingBindingException: Could not resolve type Missing at org.eclipse.jdt.internal.corext.fix.ExternalNullAnnotationChangeProposals.resolveBinding(ExternalNullAnnotationChangeProposals.java:353) at org.eclipse.jdt.internal.corext.fix.ExternalNullAnnotationChangeProposals.collectExternalAnnotationProposals(ExternalNullAnnotationChangeProposals.java:473) at org.eclipse.jdt.internal.ui.text.correction.ExternalNullAnnotationQuickAssistProcessor.computeQuickAssistProposals(ExternalNullAnnotationQuickAssistProcessor.java:101) at org.eclipse.jdt.ui.tests.quickfix.AbstractAnnotateAssistTests.collectAnnotateProposals(AbstractAnnotateAssistTests.java:117) at org.eclipse.jdt.ui.tests.quickfix.AnnotateAssistTest1d5.testBug466232(AnnotateAssistTest1d5.java:706) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42) at org.junit.vintage.engine.execution.VintageExecutor.executeClassesAndMethodsSequentially(VintageExecutor.java:93) at org.junit.vintage.engine.execution.VintageExecutor.executeAllChildren(VintageExecutor.java:73) at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:70) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84) at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65) at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:188) at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:156) at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84) at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65) at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:188) at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:156) at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:64) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:150) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:63) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:109) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:91) at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47) at org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$1(InterceptingLauncher.java:39) at org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25) at org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:38) at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:66) at org.eclipse.test.EclipseTestRunner.runTests(EclipseTestRunner.java:212) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:187) at org.eclipse.test.UITestApplication.lambda$0(UITestApplication.java:101) at org.eclipse.e4.ui.internal.workbench.swt.E4Testable.lambda$1(E4Testable.java:127) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4382) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4005) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:678) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:185) at org.eclipse.test.UITestApplication.run(UITestApplication.java:48) at org.eclipse.test.UITestApplication.start(UITestApplication.java:116) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:627) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) at org.eclipse.equinox.launcher.Main.run(Main.java:1431) at org.eclipse.equinox.launcher.Main.main(Main.java:1403) 1751330896481 launch added : ATestCase: org.eclipse.debug.core.Launch@32ec89ed 1751330896506 launch changed : ATestCase: org.eclipse.debug.core.Launch@32ec89ed [JUnit] 1751330896674 launch terminated: ATestCase: org.eclipse.debug.core.Launch@32ec89ed [JUnit] 1751330896797 launch added : ATestCase: org.eclipse.debug.core.Launch@13fe40b4 1751330896803 launch changed : ATestCase: org.eclipse.debug.core.Launch@13fe40b4 [JUnit] 1751330896921 launch terminated: ATestCase: org.eclipse.debug.core.Launch@13fe40b4 [JUnit] 1751330896947 launch added : ATestCase: org.eclipse.debug.core.Launch@4455f448 1751330896952 launch changed : ATestCase: org.eclipse.debug.core.Launch@4455f448 [JUnit] 1751330897080 launch terminated: ATestCase: org.eclipse.debug.core.Launch@4455f448 [JUnit] 1751330897105 launch added : ATestCase: org.eclipse.debug.core.Launch@35f144e3 1751330897111 launch changed : ATestCase: org.eclipse.debug.core.Launch@35f144e3 [JUnit] 1751330897231 launch terminated: ATestCase: org.eclipse.debug.core.Launch@35f144e3 [JUnit] 1751330897260 launch added : MyTestSuite: org.eclipse.debug.core.Launch@34b8798b 1751330897265 launch changed : MyTestSuite: org.eclipse.debug.core.Launch@34b8798b [JUnit] 1751330897412 launch terminated: MyTestSuite: org.eclipse.debug.core.Launch@34b8798b [JUnit] 1751330897435 launch added : ATestCase: org.eclipse.debug.core.Launch@6a66e29e 1751330897442 launch changed : ATestCase: org.eclipse.debug.core.Launch@6a66e29e [JUnit] 1751330897603 launch terminated: ATestCase: org.eclipse.debug.core.Launch@6a66e29e [JUnit] 1751330897622 launch added : ATestCase: org.eclipse.debug.core.Launch@62ca3eb 1751330897629 launch changed : ATestCase: org.eclipse.debug.core.Launch@62ca3eb [JUnit] 1751330897762 launch terminated: ATestCase: org.eclipse.debug.core.Launch@62ca3eb [JUnit] 1751330897781 launch added : ATestCase: org.eclipse.debug.core.Launch@395abb55 1751330897786 launch changed : ATestCase: org.eclipse.debug.core.Launch@395abb55 [JUnit] 1751330897909 launch terminated: ATestCase: org.eclipse.debug.core.Launch@395abb55 [JUnit] 1751330897928 launch added : ATestCase: org.eclipse.debug.core.Launch@2d61d46c 1751330897934 launch changed : ATestCase: org.eclipse.debug.core.Launch@2d61d46c [JUnit] 1751330898053 launch terminated: ATestCase: org.eclipse.debug.core.Launch@2d61d46c [JUnit] 1751330898087 launch added : ATestCase: org.eclipse.debug.core.Launch@645d6911 1751330898095 launch changed : ATestCase: org.eclipse.debug.core.Launch@645d6911 [JUnit] 1751330898251 launch terminated: ATestCase: org.eclipse.debug.core.Launch@645d6911 [JUnit] 1751330898278 launch added : ATestCase: org.eclipse.debug.core.Launch@191da6f1 1751330898284 launch changed : ATestCase: org.eclipse.debug.core.Launch@191da6f1 [JUnit] 1751330898424 launch terminated: ATestCase: org.eclipse.debug.core.Launch@191da6f1 [JUnit] 1751330898446 launch added : ATestCase: org.eclipse.debug.core.Launch@15a83e54 1751330898453 launch changed : ATestCase: org.eclipse.debug.core.Launch@15a83e54 [JUnit] 1751330898595 launch terminated: ATestCase: org.eclipse.debug.core.Launch@15a83e54 [JUnit] 1751330898618 launch added : ATestCase: org.eclipse.debug.core.Launch@3983e2c1 1751330898625 launch changed : ATestCase: org.eclipse.debug.core.Launch@3983e2c1 [JUnit] 1751330898770 launch terminated: ATestCase: org.eclipse.debug.core.Launch@3983e2c1 [JUnit] 1751330898788 launch added : ATestCase: org.eclipse.debug.core.Launch@51a56174 1751330898794 launch changed : ATestCase: org.eclipse.debug.core.Launch@51a56174 [JUnit] 1751330898938 launch terminated: ATestCase: org.eclipse.debug.core.Launch@51a56174 [JUnit] 1751330898957 launch added : ATestCase: org.eclipse.debug.core.Launch@1458e1 1751330898963 launch changed : ATestCase: org.eclipse.debug.core.Launch@1458e1 [JUnit] 1751330899105 launch terminated: ATestCase: org.eclipse.debug.core.Launch@1458e1 [JUnit] 1751330899130 launch added : ATestCase: org.eclipse.debug.core.Launch@3e64cf3b 1751330899137 launch changed : ATestCase: org.eclipse.debug.core.Launch@3e64cf3b [JUnit] 1751330899289 launch terminated: ATestCase: org.eclipse.debug.core.Launch@3e64cf3b [JUnit] 1751330899315 launch added : ATestCase: org.eclipse.debug.core.Launch@3dc1ff85 1751330899321 launch changed : ATestCase: org.eclipse.debug.core.Launch@3dc1ff85 [JUnit] 1751330899465 launch terminated: ATestCase: org.eclipse.debug.core.Launch@3dc1ff85 [JUnit] 1751330899490 launch added : ATestCase: org.eclipse.debug.core.Launch@5229aab5 1751330899497 launch changed : ATestCase: org.eclipse.debug.core.Launch@5229aab5 [JUnit] 1751330899646 launch terminated: ATestCase: org.eclipse.debug.core.Launch@5229aab5 [JUnit] 1751330899740 launch added : ATestCase: org.eclipse.debug.core.Launch@3945fec 1751330899751 launch changed : ATestCase: org.eclipse.debug.core.Launch@3945fec [JUnit] 1751330900007 launch terminated: ATestCase: org.eclipse.debug.core.Launch@3945fec [JUnit] 1751330900059 launch added : ATestCase: org.eclipse.debug.core.Launch@7f4086a2 1751330900069 launch changed : ATestCase: org.eclipse.debug.core.Launch@7f4086a2 [JUnit] 1751330900320 launch terminated: ATestCase: org.eclipse.debug.core.Launch@7f4086a2 [JUnit] 1751330900387 launch added : ATestCase: org.eclipse.debug.core.Launch@4e8e9585 1751330900399 launch changed : ATestCase: org.eclipse.debug.core.Launch@4e8e9585 [JUnit] 1751330900657 launch terminated: ATestCase: org.eclipse.debug.core.Launch@4e8e9585 [JUnit] 1751330900729 launch added : ATestCase: org.eclipse.debug.core.Launch@2a4123f6 1751330900771 launch changed : ATestCase: org.eclipse.debug.core.Launch@2a4123f6 [JUnit] 1751330900961 launch terminated: ATestCase: org.eclipse.debug.core.Launch@2a4123f6 [JUnit] 1751330901017 launch added : ATestCase: org.eclipse.debug.core.Launch@2b27c385 1751330901028 launch changed : ATestCase: org.eclipse.debug.core.Launch@2b27c385 [JUnit] 1751330901325 launch terminated: ATestCase: org.eclipse.debug.core.Launch@2b27c385 [JUnit] 1751330901352 launch added : ATestCase thisdoesnotexist: org.eclipse.debug.core.Launch@1ae4163c 1751330901357 launch changed : ATestCase thisdoesnotexist: org.eclipse.debug.core.Launch@1ae4163c [JUnit] 1751330901502 launch terminated: ATestCase thisdoesnotexist: org.eclipse.debug.core.Launch@1ae4163c [JUnit] 1751330901523 launch added : ATestCase test2Fail: org.eclipse.debug.core.Launch@4ba568f6 1751330901527 launch changed : ATestCase test2Fail: org.eclipse.debug.core.Launch@4ba568f6 [JUnit] 1751330901669 launch terminated: ATestCase test2Fail: org.eclipse.debug.core.Launch@4ba568f6 [JUnit] 1751330901691 launch added : ATestCase test1Succeed: org.eclipse.debug.core.Launch@4ba1f93f 1751330901696 launch changed : ATestCase test1Succeed: org.eclipse.debug.core.Launch@4ba1f93f [JUnit] 1751330901835 launch terminated: ATestCase test1Succeed: org.eclipse.debug.core.Launch@4ba1f93f [JUnit] 1751330901858 launch added : ATestCase testDiv[1]: org.eclipse.debug.core.Launch@59362bd8 1751330901863 launch changed : ATestCase testDiv[1]: org.eclipse.debug.core.Launch@59362bd8 [JUnit] 1751330902007 launch terminated: ATestCase testDiv[1]: org.eclipse.debug.core.Launch@59362bd8 [JUnit] 1751330902030 launch added : ATestCase testDiv: org.eclipse.debug.core.Launch@11edbb9d 1751330902034 launch changed : ATestCase testDiv: org.eclipse.debug.core.Launch@11edbb9d [JUnit] 1751330902180 launch terminated: ATestCase testDiv: org.eclipse.debug.core.Launch@11edbb9d [JUnit] 1751330902209 launch added : ATestCase testDiv[0]: org.eclipse.debug.core.Launch@1067de36 1751330902214 launch changed : ATestCase testDiv[0]: org.eclipse.debug.core.Launch@1067de36 [JUnit] 1751330902364 launch terminated: ATestCase testDiv[0]: org.eclipse.debug.core.Launch@1067de36 [JUnit] 1751330902397 launch added : ATestCase [1]: org.eclipse.debug.core.Launch@6ee3abe1 1751330902402 launch changed : ATestCase [1]: org.eclipse.debug.core.Launch@6ee3abe1 [JUnit] 1751330902558 launch terminated: ATestCase [1]: org.eclipse.debug.core.Launch@6ee3abe1 [JUnit] 1751330902583 launch added : ATestCase pack.ATestCase: org.eclipse.debug.core.Launch@34f3b913 1751330902588 launch changed : ATestCase pack.ATestCase: org.eclipse.debug.core.Launch@34f3b913 [JUnit] 1751330902732 launch terminated: ATestCase pack.ATestCase: org.eclipse.debug.core.Launch@34f3b913 [JUnit] 1751330902753 launch added : ATestCase testDiv[0]: org.eclipse.debug.core.Launch@4bf15425 1751330902757 launch changed : ATestCase testDiv[0]: org.eclipse.debug.core.Launch@4bf15425 [JUnit] 1751330902906 launch terminated: ATestCase testDiv[0]: org.eclipse.debug.core.Launch@4bf15425 [JUnit] 1751330902926 launch added : ATestCase [0]: org.eclipse.debug.core.Launch@15566915 1751330902931 launch changed : ATestCase [0]: org.eclipse.debug.core.Launch@15566915 [JUnit] 1751330903078 launch terminated: ATestCase [0]: org.eclipse.debug.core.Launch@15566915 [JUnit] 1751330903097 launch added : FailingSuite: org.eclipse.debug.core.Launch@16cbe7ef 1751330903102 launch changed : FailingSuite: org.eclipse.debug.core.Launch@16cbe7ef [JUnit] 1751330903217 launch terminated: FailingSuite: org.eclipse.debug.core.Launch@16cbe7ef [JUnit] 1751330903252 launch added : AllTests: org.eclipse.debug.core.Launch@3a7296d9 1751330903257 launch changed : AllTests: org.eclipse.debug.core.Launch@3a7296d9 [JUnit] 1751330904398 launch terminated: AllTests: org.eclipse.debug.core.Launch@3a7296d9 [JUnit] 1751330904463 launch added : ATestSuite: org.eclipse.debug.core.Launch@52538267 1751330904468 launch changed : ATestSuite: org.eclipse.debug.core.Launch@52538267 [JUnit] 1751330905613 launch terminated: ATestSuite: org.eclipse.debug.core.Launch@52538267 [JUnit] 1751330905694 launch added : ATestCase.testSucceed: org.eclipse.debug.core.Launch@75a16726 1751330905698 launch changed : ATestCase.testSucceed: org.eclipse.debug.core.Launch@75a16726 [JUnit] 1751330905826 launch terminated: ATestCase.testSucceed: org.eclipse.debug.core.Launch@75a16726 [JUnit] 1751330905852 launch added : ATestCase: org.eclipse.debug.core.Launch@58485298 1751330905856 launch changed : ATestCase: org.eclipse.debug.core.Launch@58485298 [JUnit] 1751330906986 launch terminated: ATestCase: org.eclipse.debug.core.Launch@58485298 [JUnit] 1751330907043 launch added : Failures: org.eclipse.debug.core.Launch@10569d59 1751330907048 launch changed : Failures: org.eclipse.debug.core.Launch@10569d59 [JUnit] 1751330907158 launch terminated: Failures: org.eclipse.debug.core.Launch@10569d59 [JUnit] 1751330907207 launch added : AllTests: org.eclipse.debug.core.Launch@51b10469 1751330907214 launch changed : AllTests: org.eclipse.debug.core.Launch@51b10469 [JUnit] 1751330908417 launch terminated: AllTests: org.eclipse.debug.core.Launch@51b10469 [JUnit] 1751330908470 launch added : ATestSuite: org.eclipse.debug.core.Launch@7800dd9b 1751330908478 launch changed : ATestSuite: org.eclipse.debug.core.Launch@7800dd9b [JUnit] 1751330909647 launch terminated: ATestSuite: org.eclipse.debug.core.Launch@7800dd9b [JUnit] 1751330909743 launch added : ATestCase: org.eclipse.debug.core.Launch@58b998af 1751330909751 launch changed : ATestCase: org.eclipse.debug.core.Launch@58b998af [JUnit] 1751330910920 launch terminated: ATestCase: org.eclipse.debug.core.Launch@58b998af [JUnit] 1751330910989 launch added : Failures: org.eclipse.debug.core.Launch@5df865d4 1751330910998 launch changed : Failures: org.eclipse.debug.core.Launch@5df865d4 [JUnit] 1751330911144 launch terminated: Failures: org.eclipse.debug.core.Launch@5df865d4 [JUnit] 1751330912202 launch added : ATestCase: org.eclipse.debug.core.Launch@b6c8384 1751330912208 launch changed : ATestCase: org.eclipse.debug.core.Launch@b6c8384 [JUnit] 1751330912565 launch terminated: ATestCase: org.eclipse.debug.core.Launch@b6c8384 [JUnit] !ENTRY org.eclipse.jdt.core 1 0 2025-06-30 20:48:32.670 !MESSAGE Can not index empty zip /Dummy project/src/archive.zip !ENTRY org.eclipse.jdt.core 1 0 2025-06-30 20:48:33.218 !MESSAGE Can not index empty zip /Dummy project/src/archive.zip !ENTRY org.eclipse.jdt.ui 4 10001 2025-06-30 20:48:33.651 !MESSAGE Null entry for container 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17' !ENTRY org.eclipse.jdt.ui 4 10001 2025-06-30 20:48:33.654 !MESSAGE Null entry for container 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17' !ENTRY org.eclipse.jdt.ui 4 10001 2025-06-30 20:48:33.655 !MESSAGE Null entry for container 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.3' !ENTRY org.eclipse.core.resources 2 10035 2025-06-30 20:49:09.047 !MESSAGE The workspace will exit with unsaved changes in this session. CoreSVG has logged an error. Set environment variabe "CORESVG_VERBOSE" to learn more.