use of org.checkerframework.dataflow.cfg.node.StringConcatenateAssignmentNode in project checker-framework by typetools.
the class CFAbstractTransfer method visitStringConcatenateAssignment.
@Override
public TransferResult<V, S> visitStringConcatenateAssignment(StringConcatenateAssignmentNode n, TransferInput<V, S> in) {
// This gets the type of LHS + RHS
TransferResult<V, S> result = super.visitStringConcatenateAssignment(n, in);
Node lhs = n.getLeftOperand();
Node rhs = n.getRightOperand();
// update the results store if the assignment target is something we can
// process
S info = result.getRegularStore();
// ResultValue is the type of LHS + RHS
V resultValue = result.getResultValue();
if (lhs instanceof FieldAccessNode && shouldPerformWholeProgramInference(n.getTree(), lhs.getTree())) {
// Updates inferred field type
analysis.atypeFactory.getWholeProgramInference().updateInferredFieldType((FieldAccessNode) lhs, rhs, analysis.getContainingClass(n.getTree()), analysis.getTypeFactory());
}
processCommonAssignment(in, lhs, rhs, info, resultValue);
return new RegularTransferResult<>(finishValue(resultValue, info), info);
}
Aggregations