public void Collect() { foreach (ContractDefinition contract in context.ContractDefinitions) { foreach (int baseId in contract.LinearizedBaseContracts) { ContractDefinition baseContract = context.GetASTNodeById(baseId) as ContractDefinition; Debug.Assert(baseContract != null); context.AddSubTypeToContract(baseContract, contract); } } }