Class InitializationTransfer

All Implemented Interfaces:
ForwardTransferFunction<CFValue,InitializationStore>, TransferFunction<CFValue,InitializationStore>, NodeVisitor<TransferResult<CFValue,InitializationStore>,TransferInput<CFValue,InitializationStore>>

public class InitializationTransfer extends CFAbstractTransfer<CFValue,InitializationStore,InitializationTransfer>
A transfer function that extends CFAbstractTransfer and tracks InitializationStores. In addition to the features of CFAbstractTransfer, this transfer function also tracks which fields of the current class ('self' receiver) have been initialized.

More precisely, the following refinements are performed:

  1. After the call to a constructor ("this()" call), all fields of the current class can safely be considered initialized.
  2. After the call to a super constructor ("super()" call), all fields of the super class can safely be considered initialized.