You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
letmkValSpec g (tcref:TyconRef)tmty vis slotsig methn ty argData =
883
+
884
+
letmkValSpec g (tcref:TyconRef)ty vis slotsig methn valTy argData =
891
885
letm= tcref.Range
892
886
lettps= tcref.Typars m
893
887
letmembInfo=
894
888
match slotsig with
895
889
| None -> nonVirtualMethod tcref
896
890
| Some slotsig ->
897
-
letfinal= isUnionTy g tmty|| isRecdTy g tmty|| isStructTy g tmty
891
+
letfinal= isUnionTy g ty|| isRecdTy g ty|| isStructTy g ty
898
892
slotImplMethod(final, tcref, slotsig)
899
893
letinl= ValInline.Optional
900
894
letargs= ValReprInfo.unnamedTopArg :: argData
901
895
lettopValInfo= Some (ValReprInfo (ValReprInfo.InferTyparInfo tps, args, ValReprInfo.unnamedRetVal))
902
-
Construct.NewVal (methn, m, None,ty, Immutable,true, topValInfo, vis, ValNotInRecScope, Some membInfo, NormalVal,[], inl, XmlDoc.Empty,true,false,false,false,false,false, None, Parent tcref)
896
+
Construct.NewVal (methn, m, None,valTy, Immutable,true, topValInfo, vis, ValNotInRecScope, Some membInfo, NormalVal,[], inl, XmlDoc.Empty,true,false,false,false,false,false, None, Parent tcref)
903
897
904
898
letMakeValsForCompareAugmentation g (tcref:TyconRef)=
905
899
letm= tcref.Range
906
-
let_,tmty= mkMinimalTy g tcref
900
+
let_,ty= mkMinimalTy g tcref
907
901
lettps= tcref.Typars m
908
902
letvis= tcref.TypeReprAccessibility
909
903
910
-
mkValSpec g tcref tmty vis (Some(mkIComparableCompareToSlotSig g))"CompareTo"(tps +->(mkCompareObjTy g tmty)) unaryArg,
911
-
mkValSpec g tcref tmty vis (Some(mkGenericIComparableCompareToSlotSig g tmty))"CompareTo"(tps +->(mkCompareTy g tmty)) unaryArg
904
+
mkValSpec g tcref ty vis (Some(mkIComparableCompareToSlotSig g))"CompareTo"(tps +->(mkCompareObjTy g ty)) unaryArg,
905
+
mkValSpec g tcref ty vis (Some(mkGenericIComparableCompareToSlotSig g ty))"CompareTo"(tps +->(mkCompareTy g ty)) unaryArg
912
906
913
907
letMakeValsForCompareWithComparerAugmentation g (tcref:TyconRef)=
914
908
letm= tcref.Range
915
-
let_,tmty= mkMinimalTy g tcref
909
+
let_,ty= mkMinimalTy g tcref
916
910
lettps= tcref.Typars m
917
911
letvis= tcref.TypeReprAccessibility
918
-
mkValSpec g tcref tmty vis (Some(mkIStructuralComparableCompareToSlotSig g))"CompareTo"(tps +->(mkCompareWithComparerTy g tmty)) tupArg
912
+
mkValSpec g tcref ty vis (Some(mkIStructuralComparableCompareToSlotSig g))"CompareTo"(tps +->(mkCompareWithComparerTy g ty)) tupArg
919
913
920
914
letMakeValsForEqualsAugmentation g (tcref:TyconRef)=
921
915
letm= tcref.Range
922
-
let_,tmty= mkMinimalTy g tcref
916
+
let_,ty= mkMinimalTy g tcref
923
917
letvis= tcref.TypeReprAccessibility
924
918
lettps= tcref.Typars m
925
919
926
-
letobjEqualsVal= mkValSpec g tcref tmty vis (Some(mkEqualsSlotSig g))"Equals"(tps +->(mkEqualsObjTy g tmty)) unaryArg
927
-
letnocEqualsVal= mkValSpec g tcref tmty vis (if tcref.Deref.IsExceptionDecl then None else Some(mkGenericIEquatableEqualsSlotSig g tmty))"Equals"(tps +->(mkEqualsTy g tmty)) unaryArg
920
+
letobjEqualsVal= mkValSpec g tcref ty vis (Some(mkEqualsSlotSig g))"Equals"(tps +->(mkEqualsObjTy g ty)) unaryArg
921
+
letnocEqualsVal= mkValSpec g tcref ty vis (if tcref.Deref.IsExceptionDecl then None else Some(mkGenericIEquatableEqualsSlotSig g ty))"Equals"(tps +->(mkEqualsTy g ty)) unaryArg
928
922
objEqualsVal, nocEqualsVal
929
923
930
924
letMakeValsForEqualityWithComparerAugmentation g (tcref:TyconRef)=
931
-
let_,tmty= mkMinimalTy g tcref
925
+
let_,ty= mkMinimalTy g tcref
932
926
letvis= tcref.TypeReprAccessibility
933
927
lettps= tcref.Typars tcref.Range
934
-
letobjGetHashCodeVal= mkValSpec g tcref tmty vis (Some(mkGetHashCodeSlotSig g))"GetHashCode"(tps +->(mkHashTy g tmty)) unitArg
935
-
letwithcGetHashCodeVal= mkValSpec g tcref tmty vis (Some(mkIStructuralEquatableGetHashCodeSlotSig g))"GetHashCode"(tps +->(mkHashWithComparerTy g tmty)) unaryArg
936
-
letwithcEqualsVal= mkValSpec g tcref tmty vis (Some(mkIStructuralEquatableEqualsSlotSig g))"Equals"(tps +->(mkEqualsWithComparerTy g tmty)) tupArg
928
+
letobjGetHashCodeVal= mkValSpec g tcref ty vis (Some(mkGetHashCodeSlotSig g))"GetHashCode"(tps +->(mkHashTy g ty)) unitArg
929
+
letwithcGetHashCodeVal= mkValSpec g tcref ty vis (Some(mkIStructuralEquatableGetHashCodeSlotSig g))"GetHashCode"(tps +->(mkHashWithComparerTy g ty)) unaryArg
930
+
letwithcEqualsVal= mkValSpec g tcref ty vis (Some(mkIStructuralEquatableEqualsSlotSig g))"Equals"(tps +->(mkEqualsWithComparerTy g ty)) tupArg
0 commit comments