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

Collapse All | Expand All

(-)src/org/eclipse/wst/jsdt/internal/compiler/ast/Assignment.java (-1 / +1 lines)
Lines 92-98 Link Here
92
//	} else if (leftField != null && !leftField.isStatic() && leftField.declaringClass != null /*length pseudo field*/&& leftField.declaringClass.isRawType()) {
92
//	} else if (leftField != null && !leftField.isStatic() && leftField.declaringClass != null /*length pseudo field*/&& leftField.declaringClass.isRawType()) {
93
//	    scope.problemReporter().unsafeRawFieldAssignment(leftField, rhsType, this.lhs);
93
//	    scope.problemReporter().unsafeRawFieldAssignment(leftField, rhsType, this.lhs);
94
//	} else
94
//	} else
95
		if (rhsType.needsUncheckedConversion(lhsType)) {
95
	if (rhsType != null && rhsType.needsUncheckedConversion(lhsType)) {
96
	    scope.problemReporter().unsafeTypeConversion(this.expression, rhsType, lhsType);
96
	    scope.problemReporter().unsafeTypeConversion(this.expression, rhsType, lhsType);
97
	}
97
	}
98
}
98
}
(-)src/org/eclipse/wst/jsdt/internal/compiler/ast/AllocationExpression.java (-2 / +3 lines)
Lines 27-32 Link Here
27
import org.eclipse.wst.jsdt.internal.compiler.lookup.NestedTypeBinding;
27
import org.eclipse.wst.jsdt.internal.compiler.lookup.NestedTypeBinding;
28
import org.eclipse.wst.jsdt.internal.compiler.lookup.ProblemMethodBinding;
28
import org.eclipse.wst.jsdt.internal.compiler.lookup.ProblemMethodBinding;
29
import org.eclipse.wst.jsdt.internal.compiler.lookup.ProblemReasons;
29
import org.eclipse.wst.jsdt.internal.compiler.lookup.ProblemReasons;
30
import org.eclipse.wst.jsdt.internal.compiler.lookup.ProblemReferenceBinding;
30
import org.eclipse.wst.jsdt.internal.compiler.lookup.ReferenceBinding;
31
import org.eclipse.wst.jsdt.internal.compiler.lookup.ReferenceBinding;
31
import org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding;
32
import org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding;
32
import org.eclipse.wst.jsdt.internal.compiler.lookup.SyntheticArgumentBinding;
33
import org.eclipse.wst.jsdt.internal.compiler.lookup.SyntheticArgumentBinding;
Lines 68-74 Link Here
68
	}
69
	}
69
	// record some dependency information for exception types
70
	// record some dependency information for exception types
70
	ReferenceBinding[] thrownExceptions;
71
	ReferenceBinding[] thrownExceptions;
71
	if (((thrownExceptions = this.binding.thrownExceptions).length) != 0) {
72
	if (this.binding != null && this.binding.thrownExceptions != null && (thrownExceptions = this.binding.thrownExceptions).length != 0) {
72
		// check exception handling
73
		// check exception handling
73
		flowContext.checkExceptionHandlers(
74
		flowContext.checkExceptionHandlers(
74
			thrownExceptions,
75
			thrownExceptions,
Lines 276-282 Link Here
276
//			return this.resolvedType;
277
//			return this.resolvedType;
277
//		}
278
//		}
278
	}
279
	}
279
	if (this.resolvedType == null || this.resolvedType.isAnyType())
280
	if (this.resolvedType == null || this.resolvedType.isAnyType()|| this.resolvedType instanceof ProblemReferenceBinding)
280
	{
281
	{
281
		this.binding= new ProblemMethodBinding(
282
		this.binding= new ProblemMethodBinding(
282
				TypeConstants.INIT,
283
				TypeConstants.INIT,
(-)src/org/eclipse/wst/jsdt/internal/compiler/ast/AbstractMethodDeclaration.java (-1 / +1 lines)
Lines 137-143 Link Here
137
			}
137
			}
138
			boolean used = this.binding.isAbstract() || this.binding.isNative();
138
			boolean used = this.binding.isAbstract() || this.binding.isNative();
139
			AnnotationBinding[][] paramAnnotations = null;
139
			AnnotationBinding[][] paramAnnotations = null;
140
			for (int i = 0, length = this.arguments.length; i < length; i++) {
140
			for (int i = 0, length = this.arguments.length; i < length && i < this.binding.parameters.length; i++) {
141
				IArgument argument = this.arguments[i];
141
				IArgument argument = this.arguments[i];
142
				argument.bind(this.scope, this.binding.parameters[i], used);
142
				argument.bind(this.scope, this.binding.parameters[i], used);
143
//				if (argument.getAnnotation() != null) {
143
//				if (argument.getAnnotation() != null) {
(-)src/org/eclipse/wst/jsdt/internal/compiler/flow/UnconditionalFlowInfo.java (-1 / +1 lines)
Lines 1162-1168 Link Here
1162
}
1162
}
1163
1163
1164
public void markAsDefinitelyAssigned(LocalVariableBinding local) {
1164
public void markAsDefinitelyAssigned(LocalVariableBinding local) {
1165
 	if (this != DEAD_END)
1165
 	if (this != DEAD_END && local != null)
1166
 	{
1166
 	{
1167
		markAsDefinitelyAssigned(getLocalID(local));
1167
		markAsDefinitelyAssigned(getLocalID(local));
1168
 	}
1168
 	}

Return to bug 243889