View | Details | Raw Unified | Return to bug 172633 | Differences between
and this patch

Collapse All | Expand All

(-)dom/org/eclipse/jdt/core/dom/TypeBinding.java (-7 / +33 lines)
Lines 255-261 Link Here
255
				int length = members.length;
255
				int length = members.length;
256
				ITypeBinding[] newMembers = new ITypeBinding[length];
256
				ITypeBinding[] newMembers = new ITypeBinding[length];
257
				for (int i = 0; i < length; i++) {
257
				for (int i = 0; i < length; i++) {
258
					newMembers[i] = this.resolver.getTypeBinding(members[i]);
258
					ITypeBinding typeBinding = this.resolver.getTypeBinding(members[i]);
259
					if (typeBinding == null) {
260
						return NO_TYPE_BINDINGS;
261
					}
262
					newMembers[i] = typeBinding;
259
				}
263
				}
260
				return newMembers;
264
				return newMembers;
261
			}
265
			}
Lines 406-412 Link Here
406
		} else {
410
		} else {
407
			ITypeBinding[] newInterfaces = new ITypeBinding[length];
411
			ITypeBinding[] newInterfaces = new ITypeBinding[length];
408
			for (int i = 0; i < length; i++) {
412
			for (int i = 0; i < length; i++) {
409
				newInterfaces[i] = this.resolver.getTypeBinding(interfaces[i]);
413
				ITypeBinding typeBinding = this.resolver.getTypeBinding(interfaces[i]);
414
				if (typeBinding == null) {
415
					return NO_TYPE_BINDINGS;
416
				}
417
				newInterfaces[i] = typeBinding;
410
			}
418
			}
411
			return newInterfaces;
419
			return newInterfaces;
412
		}
420
		}
Lines 484-490 Link Here
484
				IMethod declaringMethod = (IMethod) declaringTypeBinding.getJavaElement();
492
				IMethod declaringMethod = (IMethod) declaringTypeBinding.getJavaElement();
485
				return (JavaElement) declaringMethod.getTypeParameter(typeVariableName);
493
				return (JavaElement) declaringMethod.getTypeParameter(typeVariableName);
486
			} else {
494
			} else {
487
				declaringTypeBinding = this.resolver.getTypeBinding((org.eclipse.jdt.internal.compiler.lookup.TypeBinding) declaringElement);
495
				ITypeBinding typeBinding2 = this.resolver.getTypeBinding((org.eclipse.jdt.internal.compiler.lookup.TypeBinding) declaringElement);
496
				if (typeBinding == null) return null;
497
				declaringTypeBinding = typeBinding2;
488
				IType declaringType = (IType) declaringTypeBinding.getJavaElement();
498
				IType declaringType = (IType) declaringTypeBinding.getJavaElement();
489
				return (JavaElement) declaringType.getTypeParameter(typeVariableName);
499
				return (JavaElement) declaringType.getTypeParameter(typeVariableName);
490
			}
500
			}
Lines 841-847 Link Here
841
				int argumentsLength = arguments.length;
851
				int argumentsLength = arguments.length;
842
				ITypeBinding[] typeArguments = new ITypeBinding[argumentsLength];
852
				ITypeBinding[] typeArguments = new ITypeBinding[argumentsLength];
843
				for (int i = 0; i < argumentsLength; i++) {
853
				for (int i = 0; i < argumentsLength; i++) {
844
					typeArguments[i] = this.resolver.getTypeBinding(arguments[i]);
854
					ITypeBinding typeBinding = this.resolver.getTypeBinding(arguments[i]);
855
					if (typeBinding == null) {
856
						return NO_TYPE_BINDINGS;
857
					}
858
					typeArguments[i] = typeBinding;
845
				}
859
				}
846
				return typeArguments;
860
				return typeArguments;
847
			}
861
			}
Lines 877-887 Link Here
877
				ITypeBinding[] typeBounds = new ITypeBinding[boundsLength];
891
				ITypeBinding[] typeBounds = new ITypeBinding[boundsLength];
878
				int boundsIndex = 0;
892
				int boundsIndex = 0;
879
				if (firstClassOrArrayBound != null) {
893
				if (firstClassOrArrayBound != null) {
880
					typeBounds[boundsIndex++] = this.resolver.getTypeBinding(firstClassOrArrayBound);
894
					ITypeBinding typeBinding = this.resolver.getTypeBinding(firstClassOrArrayBound);
895
					if (typeBinding == null) {
896
						return NO_TYPE_BINDINGS;
897
					}
898
					typeBounds[boundsIndex++] = typeBinding;
881
				}
899
				}
882
				if (superinterfaces != null) {
900
				if (superinterfaces != null) {
883
					for (int i = 0; i < superinterfacesLength; i++, boundsIndex++) {
901
					for (int i = 0; i < superinterfacesLength; i++, boundsIndex++) {
884
						typeBounds[boundsIndex] = this.resolver.getTypeBinding(superinterfaces[i]);
902
						ITypeBinding typeBinding = this.resolver.getTypeBinding(superinterfaces[i]);
903
						if (typeBinding == null) {
904
							return NO_TYPE_BINDINGS;
905
						}
906
						typeBounds[boundsIndex] = typeBinding;
885
					}
907
					}
886
				}
908
				}
887
				return typeBounds;
909
				return typeBounds;
Lines 905-911 Link Here
905
			if (typeVariableBindingsLength != 0) {
927
			if (typeVariableBindingsLength != 0) {
906
				ITypeBinding[] typeParameters = new ITypeBinding[typeVariableBindingsLength];
928
				ITypeBinding[] typeParameters = new ITypeBinding[typeVariableBindingsLength];
907
				for (int i = 0; i < typeVariableBindingsLength; i++) {
929
				for (int i = 0; i < typeVariableBindingsLength; i++) {
908
					typeParameters[i] = this.resolver.getTypeBinding(typeVariableBindings[i]);
930
					ITypeBinding typeBinding = this.resolver.getTypeBinding(typeVariableBindings[i]);
931
					if (typeBinding == null) {
932
						return NO_TYPE_BINDINGS;
933
					}
934
					typeParameters[i] = typeBinding;
909
				}
935
				}
910
				return typeParameters;
936
				return typeParameters;
911
			}
937
			}
(-)dom/org/eclipse/jdt/core/dom/MethodBinding.java (-4 / +20 lines)
Lines 160-166 Link Here
160
			for (int i = 0; i < length; i++) {
160
			for (int i = 0; i < length; i++) {
161
				final TypeBinding parameterBinding = parameters[i];
161
				final TypeBinding parameterBinding = parameters[i];
162
				if (parameterBinding != null) {
162
				if (parameterBinding != null) {
163
					this.parameterTypes[i] = this.resolver.getTypeBinding(parameterBinding);
163
					ITypeBinding typeBinding = this.resolver.getTypeBinding(parameterBinding);
164
					if (typeBinding == null) {
165
						return this.parameterTypes = NO_TYPE_BINDINGS;
166
					}
167
					this.parameterTypes[i] = typeBinding;
164
				} else {
168
				} else {
165
					// log error
169
					// log error
166
					StringBuffer message = new StringBuffer("Report method binding where a parameter is null:\n");  //$NON-NLS-1$
170
					StringBuffer message = new StringBuffer("Report method binding where a parameter is null:\n");  //$NON-NLS-1$
Lines 204-210 Link Here
204
		} else {
208
		} else {
205
			this.exceptionTypes = new ITypeBinding[length];
209
			this.exceptionTypes = new ITypeBinding[length];
206
			for (int i = 0; i < length; i++) {
210
			for (int i = 0; i < length; i++) {
207
				this.exceptionTypes[i] = this.resolver.getTypeBinding(exceptions[i]);
211
				ITypeBinding typeBinding = this.resolver.getTypeBinding(exceptions[i]);
212
				if (typeBinding == null) {
213
					return this.exceptionTypes = NO_TYPE_BINDINGS;
214
				}
215
				this.exceptionTypes[i] = typeBinding;
208
			}
216
			}
209
		}
217
		}
210
		return this.exceptionTypes;
218
		return this.exceptionTypes;
Lines 361-367 Link Here
361
			if (typeVariableBindingsLength != 0) {
369
			if (typeVariableBindingsLength != 0) {
362
				this.typeParameters = new ITypeBinding[typeVariableBindingsLength];
370
				this.typeParameters = new ITypeBinding[typeVariableBindingsLength];
363
				for (int i = 0; i < typeVariableBindingsLength; i++) {
371
				for (int i = 0; i < typeVariableBindingsLength; i++) {
364
					typeParameters[i] = this.resolver.getTypeBinding(typeVariableBindings[i]);
372
					ITypeBinding typeBinding = this.resolver.getTypeBinding(typeVariableBindings[i]);
373
					if (typeBinding == null) {
374
						return this.typeParameters = NO_TYPE_BINDINGS;
375
					}
376
					typeParameters[i] = typeBinding;
365
				}
377
				}
366
			} else {
378
			} else {
367
				this.typeParameters = NO_TYPE_BINDINGS;
379
				this.typeParameters = NO_TYPE_BINDINGS;
Lines 401-407 Link Here
401
				if (typeArgumentsLength != 0) {
413
				if (typeArgumentsLength != 0) {
402
					this.typeArguments = new ITypeBinding[typeArgumentsLength];
414
					this.typeArguments = new ITypeBinding[typeArgumentsLength];
403
					for (int i = 0; i < typeArgumentsLength; i++) {
415
					for (int i = 0; i < typeArgumentsLength; i++) {
404
						this.typeArguments[i] = this.resolver.getTypeBinding(typeArgumentsBindings[i]);
416
						ITypeBinding typeBinding = this.resolver.getTypeBinding(typeArgumentsBindings[i]);
417
						if (typeBinding == null) {
418
							return this.typeArguments = NO_TYPE_BINDINGS;
419
						}
420
						this.typeArguments[i] = typeBinding;
405
					}
421
					}
406
				} else {
422
				} else {
407
					this.typeArguments = NO_TYPE_BINDINGS;
423
					this.typeArguments = NO_TYPE_BINDINGS;

Return to bug 172633