예제 #1
0
파일: TypeScheme.cs 프로젝트: minib00m/JNP2
        public override Type RemoveRigids(Dictionary <TypeVariable, TypeVariable> dict)
        {
            var inner = Inner.RemoveRigids(dict);

            // C# lacks return value covariance (unlike Java), so an explicit cast is needed
            return(new TypeScheme(
                       new HashSet <TypeVariable>(Arguments.Select(x => (TypeVariable)x.RemoveRigids(dict))),
                       inner
                       ));
        }
예제 #2
0
 public override Type RemoveRigids(Dictionary <TypeVariable, TypeVariable> dict)
 {
     return(new FunctionType(Argument.RemoveRigids(dict), Result.RemoveRigids(dict)));
 }