Inference/src/Semantic/SSAAlgorithm/SSAHelper.cs
/// <summary>
/// To clone one simple clone type in the SSA algorithm
/// </summary>
/// <param name="typeExpression">The type to be cloned</param>
/// <param name="methodAnalyzed">The method that is being analyzed when the operation is performed.</param>
/// <returns>The cloned type</returns>
To clone one simple clone type in the SSA algorithm
To clone one simple clone type in the SSA algorithm
public static TypeExpression CloneType(TypeExpression typeExpression, MethodType methodAnalyzed) {
            IDictionary<int, TypeVariable> clonedTypeVariables = new Dictionary<int, TypeVariable>();
            IList<EquivalenceClass> equivalenceClasses = new List<EquivalenceClass>();
            TypeExpression newTypeExpression = typeExpression.Clone(clonedTypeVariables, equivalenceClasses, methodAnalyzed);
            CloneEquivalenceClasses(clonedTypeVariables, equivalenceClasses, methodAnalyzed);
            return newTypeExpression;
        }
public static TypeExpression CloneType ( TypeExpression typeExpression , MethodType methodAnalyzed ) { IDictionary < int , TypeVariable > clonedTypeVariables = new Dictionary < int , TypeVariable > ( ) ; IList < EquivalenceClass > equivalenceClasses = new List < EquivalenceClass > ( ) ; TypeExpression newTypeExpression = typeExpression . Clone ( clonedTypeVariables , equivalenceClasses , methodAnalyzed ) ; CloneEquivalenceClasses ( clonedTypeVariables , equivalenceClasses , methodAnalyzed ) ; return newTypeExpression ; }
To clone one simple clone type in the SSA algorithm
To clone one simple clone type in the SSA algorithm
The cloned type
The cloned type
typeExpression
TypeExpression
The type to be cloned
The type to be cloned
methodAnalyzed
MethodType
The method that is being analyzed when the operation is performed.
The method that is being analyzed when the operation is performed .