public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING, flowInfo); }
public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING); }
public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING, flowInfo); }
public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING); }
public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING, flowInfo); }
@Override public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING, flowInfo); }
public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING, flowInfo); }
public void recordUnboxing(Scope scope, Expression expression, int nullStatus, FlowInfo flowInfo) { if (nullStatus == FlowInfo.NULL) super.recordUnboxing(scope, expression, nullStatus, flowInfo); else // defer checking: recordNullReference(null, expression, IN_UNBOXING); }
@Override protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, FlowInfo flowInfo, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType, flowInfo); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, FlowInfo flowInfo, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType, flowInfo); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, FlowInfo flowInfo, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType, flowInfo); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, FlowInfo flowInfo, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType, flowInfo); return true; } }
protected boolean internalRecordNullityMismatch(Expression expression, TypeBinding providedType, FlowInfo flowInfo, int nullStatus, TypeBinding expectedType, int checkType) { recordProvidedExpectedTypes(providedType, expectedType, this.nullCount); recordNullReference(expression.localVariableBinding(), expression, checkType, flowInfo); return true; } }
/** Record the fact that we see an early exit (in 'reference') while 'trackingVar' is in scope and may be unclosed. */ public boolean recordExitAgainstResource(BlockScope scope, FlowInfo flowInfo, FakedTrackingVariable trackingVar, ASTNode reference) { LocalVariableBinding local = trackingVar.binding; if (flowInfo.isDefinitelyNonNull(local)) { return false; } if (flowInfo.isDefinitelyNull(local)) { scope.problemReporter().unclosedCloseable(trackingVar, reference); return true; // handled } if (flowInfo.isPotentiallyNull(local)) { scope.problemReporter().potentiallyUnclosedCloseable(trackingVar, reference); return true; // handled } recordNullReference(trackingVar.binding, reference, EXIT_RESOURCE, flowInfo); return true; // handled }
/** Record the fact that we see an early exit (in 'reference') while 'trackingVar' is in scope and may be unclosed. */ public boolean recordExitAgainstResource(BlockScope scope, FlowInfo flowInfo, FakedTrackingVariable trackingVar, ASTNode reference) { LocalVariableBinding local = trackingVar.binding; if (flowInfo.isDefinitelyNonNull(local)) { return false; } if (flowInfo.isDefinitelyNull(local)) { scope.problemReporter().unclosedCloseable(trackingVar, reference); return true; // handled } if (flowInfo.isPotentiallyNull(local)) { scope.problemReporter().potentiallyUnclosedCloseable(trackingVar, reference); return true; // handled } recordNullReference(trackingVar.binding, reference, EXIT_RESOURCE); return true; // handled }
/** Record the fact that we see an early exit (in 'reference') while 'trackingVar' is in scope and may be unclosed. */ public boolean recordExitAgainstResource(BlockScope scope, FlowInfo flowInfo, FakedTrackingVariable trackingVar, ASTNode reference) { LocalVariableBinding local = trackingVar.binding; if (flowInfo.isDefinitelyNonNull(local)) { return false; } if (flowInfo.isDefinitelyNull(local)) { scope.problemReporter().unclosedCloseable(trackingVar, reference); return true; // handled } if (flowInfo.isPotentiallyNull(local)) { scope.problemReporter().potentiallyUnclosedCloseable(trackingVar, reference); return true; // handled } recordNullReference(trackingVar.binding, reference, EXIT_RESOURCE, flowInfo); return true; // handled }