Bug 577171 - Exception processing async thread queue Change-Id: I3b5a921c2ad9c5bfaef7449242880517884fafd7 Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.debug/+/187576 Tested-by: JDT Bot <jdt-bot@eclipse.org> Tested-by: Sarika Sinha <sarika.sinha@in.ibm.com> Reviewed-by: Sarika Sinha <sarika.sinha@in.ibm.com>
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java index 26e65b9..4f6bbb4 100644 --- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java +++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java
@@ -149,13 +149,15 @@ wordBuffer.append(codeSnippet.charAt(i)); } // add semicolon at the end if missing - if (chars[chars.length -1] !=';' && chars[chars.length -1] !='}') { - wordBuffer.append(';'); - } else if (chars[chars.length -1] !=';' && chars[chars.length -1] =='}'){ - int j = lastSentence.lastIndexOf('=') ; - int k = lastSentence.lastIndexOf("==") ; //$NON-NLS-1$ - if (j != -1 && (j != k)) { + if (chars.length > 0) { + if (chars[chars.length - 1] != ';' && chars[chars.length - 1] != '}') { wordBuffer.append(';'); + } else if (chars[chars.length - 1] != ';' && chars[chars.length - 1] == '}') { + int j = lastSentence.lastIndexOf('='); + int k = lastSentence.lastIndexOf("=="); //$NON-NLS-1$ + if (j != -1 && (j != k)) { + wordBuffer.append(';'); + } } }