### Eclipse Workspace Patch 1.0 #P org.eclipse.wst.jsdt.core Index: src/org/eclipse/wst/jsdt/internal/compiler/ast/CombinedBinaryExpression.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/ast/CombinedBinaryExpression.java,v retrieving revision 1.5 diff -u -r1.5 CombinedBinaryExpression.java --- src/org/eclipse/wst/jsdt/internal/compiler/ast/CombinedBinaryExpression.java 30 Apr 2008 21:32:18 -0000 1.5 +++ src/org/eclipse/wst/jsdt/internal/compiler/ast/CombinedBinaryExpression.java 31 Jul 2008 16:17:58 -0000 @@ -128,21 +128,23 @@ if (this.referencesTable == null) { return super.analyseCode(currentScope, flowContext, flowInfo); } - BinaryExpression cursor; - if ((cursor = this.referencesTable[0]).resolvedType.id != - TypeIds.T_JavaLangString) { - cursor.left.checkNPE(currentScope, flowContext, flowInfo); - } - flowInfo = cursor.left.analyseCode(currentScope, flowContext, flowInfo). - unconditionalInits(); - for (int i = 0, end = this.arity; i < end; i ++) { - if ((cursor = this.referencesTable[i]).resolvedType.id != + if (this.referencesTable[0] != null && this.referencesTable[0].resolvedType != null) { + BinaryExpression cursor; + if ((cursor = this.referencesTable[0]).resolvedType.id != TypeIds.T_JavaLangString) { - cursor.right.checkNPE(currentScope, flowContext, flowInfo); + cursor.left.checkNPE(currentScope, flowContext, flowInfo); + } + flowInfo = cursor.left.analyseCode(currentScope, flowContext, flowInfo). + unconditionalInits(); + for (int i = 0, end = this.arity; i < end; i ++) { + if ((cursor = this.referencesTable[i]).resolvedType.id != + TypeIds.T_JavaLangString) { + cursor.right.checkNPE(currentScope, flowContext, flowInfo); + } + flowInfo = cursor.right. + analyseCode(currentScope, flowContext, flowInfo). + unconditionalInits(); } - flowInfo = cursor.right. - analyseCode(currentScope, flowContext, flowInfo). - unconditionalInits(); } if (this.resolvedType.id != TypeIds.T_JavaLangString) { this.right.checkNPE(currentScope, flowContext, flowInfo);