### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java,v retrieving revision 1.172 diff -u -r1.172 DefaultBindingResolver.java --- dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java 24 Feb 2011 19:31:37 -0000 1.172 +++ dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java 13 Apr 2011 12:29:20 -0000 @@ -1523,8 +1523,11 @@ return null; } ArrayType arrayType = (ArrayType) type; - ArrayBinding arrayBinding = (ArrayBinding) typeBinding; - return getTypeBinding(this.scope.createArrayType(arrayBinding.leafComponentType, arrayType.getDimensions())); + if (typeBinding.isArrayType()) { + ArrayBinding arrayBinding = (ArrayBinding) typeBinding; + return getTypeBinding(this.scope.createArrayType(arrayBinding.leafComponentType, arrayType.getDimensions())); + } + return getTypeBinding(this.scope.createArrayType(binding, arrayType.getDimensions())); } if (typeBinding.isArrayType()) { typeBinding = ((ArrayBinding) typeBinding).leafComponentType; @@ -1564,8 +1567,11 @@ if (this.scope == null) { return null; } - ArrayBinding arrayBinding = (ArrayBinding) binding; - return getTypeBinding(this.scope.createArrayType(arrayBinding.leafComponentType, arrayType.getDimensions())); + if (binding.isArrayType()) { + ArrayBinding arrayBinding = (ArrayBinding) binding; + return getTypeBinding(this.scope.createArrayType(arrayBinding.leafComponentType, arrayType.getDimensions())); + } + return getTypeBinding(this.scope.createArrayType(binding, arrayType.getDimensions())); } else if (binding.isArrayType()) { ArrayBinding arrayBinding = (ArrayBinding) binding; return getTypeBinding(arrayBinding.leafComponentType);