Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
740 changes: 374 additions & 366 deletions src/absil/il.fs

Large diffs are not rendered by default.

498 changes: 249 additions & 249 deletions src/absil/ilbinary.fs

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions src/absil/illib.fs
Original file line number Diff line number Diff line change
Expand Up @@ -1348,9 +1348,9 @@ module Shim =

member __.FileStreamReadShim (fileName: string) = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) :> Stream

member __.FileStreamCreateShim (fileName: string) = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Read , 0x1000, false) :> Stream
member __.FileStreamCreateShim (fileName: string) = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Read, 0x1000, false) :> Stream

member __.FileStreamWriteExistingShim (fileName: string) = new FileStream(fileName, FileMode.Open, FileAccess.Write, FileShare.Read , 0x1000, false) :> Stream
member __.FileStreamWriteExistingShim (fileName: string) = new FileStream(fileName, FileMode.Open, FileAccess.Write, FileShare.Read, 0x1000, false) :> Stream

member __.GetFullPathShim (fileName: string) = System.IO.Path.GetFullPath fileName

Expand Down
2 changes: 1 addition & 1 deletion src/absil/ilmorph.fs
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ let mref_ty2ty (f: ILType -> ILType) (x:ILMethodRef) =

type formal_scopeCtxt = Choice<ILMethodSpec, ILFieldSpec>

let mspec_ty2ty (((factualty : ILType -> ILType) , (fformalty: formal_scopeCtxt -> ILType -> ILType))) (x: ILMethodSpec) =
let mspec_ty2ty (((factualty : ILType -> ILType), (fformalty: formal_scopeCtxt -> ILType -> ILType))) (x: ILMethodSpec) =
mkILMethSpecForMethRefInTy(mref_ty2ty (fformalty (Choice1Of2 x)) x.MethodRef,
factualty x.DeclaringType,
tys_ty2ty factualty x.GenericArgs)
Expand Down
897 changes: 449 additions & 448 deletions src/absil/ilread.fs

Large diffs are not rendered by default.

742 changes: 374 additions & 368 deletions src/absil/ilreflect.fs

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/absil/ilsupp.fs
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ let MAX_PATH = 260

let E_FAIL = 0x80004005

let bytesToWord ((b0: byte) , (b1: byte)) =
let bytesToWord ((b0: byte), (b1: byte)) =
(int16)b0 ||| ((int16)b1 <<< 8)
let bytesToDWord ((b0: byte) , (b1: byte) , (b2: byte) , (b3: byte)) =
let bytesToDWord ((b0: byte), (b1: byte), (b2: byte), (b3: byte)) =
(int)b0 ||| ((int)b1 <<< 8) ||| ((int)b2 <<< 16) ||| ((int)b3 <<< 24)
let bytesToQWord ((b0: byte) , (b1: byte) , (b2: byte) , (b3: byte) , (b4: byte) , (b5: byte) , (b6: byte) , (b7: byte)) =
let bytesToQWord ((b0: byte), (b1: byte), (b2: byte), (b3: byte), (b4: byte), (b5: byte), (b6: byte), (b7: byte)) =
(int64)b0 ||| ((int64)b1 <<< 8) ||| ((int64)b2 <<< 16) ||| ((int64)b3 <<< 24) ||| ((int64)b4 <<< 32) ||| ((int64)b5 <<< 40) ||| ((int64)b6 <<< 48) ||| ((int64)b7 <<< 56)

let dwToBytes n = [| (byte)(n &&& 0xff) ; (byte)((n >>> 8) &&& 0xff) ; (byte)((n >>> 16) &&& 0xff) ; (byte)((n >>> 24) &&& 0xff) |], 4
Expand Down
654 changes: 327 additions & 327 deletions src/absil/ilwrite.fs

Large diffs are not rendered by default.

38 changes: 19 additions & 19 deletions src/fsharp/AugmentWithHashCompare.fs
Original file line number Diff line number Diff line change
Expand Up @@ -712,38 +712,38 @@ let CheckAugmentationAttribs isImplementation g amap (tycon: Tycon) =
// THESE ARE THE LEGITIMATE CASES

// [< >] on anything
| _, _ , None , None, None , None, None , None , None
| _, _, None, None, None, None, None, None, None

// [<CustomEquality; CustomComparison>] on union/record/struct
| true, _, None, Some(true), None , None , None , Some(true), None
| true, _, None, Some(true), None, None, None, Some(true), None

// [<CustomEquality; NoComparison>] on union/record/struct
| true, _, None, Some(true), None , None , Some(true), None , None ->
| true, _, None, Some(true), None, None, Some(true), None, None ->
()

// [<ReferenceEquality; NoComparison>] on union/record/struct
| true, _, None, None , Some(true), None , Some(true), None , None
| true, _, None, None, Some(true), None, Some(true), None, None

// [<ReferenceEquality>] on union/record/struct
| true, _, None, None , Some(true), None , None , None , None ->
| true, _, None, None, Some(true), None, None, None, None ->
if isTrueFSharpStructTycon g tycon then
errorR(Error(FSComp.SR.augNoRefEqualsOnStruct(), m))
else ()

// [<StructuralEquality; StructuralComparison>] on union/record/struct
| true, true, None, None , None , Some(true), None , None , Some(true)
| true, true, None, None, None, Some(true), None, None, Some(true)

// [<StructuralEquality; NoComparison>]
| true, _, None, None , None , Some(true), Some(true), None , None
| true, _, None, None, None, Some(true), Some(true), None, None

// [<StructuralEquality; CustomComparison>]
| true, _, None, None , None , Some(true), None , Some(true), None
| true, _, None, None, None, Some(true), None, Some(true), None

// [<NoComparison>] on anything
| _ , _, None, None , None , None , Some(true), None , None
| _, _, None, None, None, None, Some(true), None, None

// [<NoEquality; NoComparison>] on anything
| _ , _, Some(true), None, None , None , Some(true), None , None ->
| _, _, Some(true), None, None, None, Some(true), None, None ->

()

Expand All @@ -754,18 +754,18 @@ let CheckAugmentationAttribs isImplementation g amap (tycon: Tycon) =
errorR(Error(FSComp.SR.augNoEqualityNeedsNoComparison(), m))

// [<StructuralComparison(_)>]
| true, true, _, _, _ , None , _, _, Some(true) ->
| true, true, _, _, _, None, _, _, Some(true) ->
errorR(Error(FSComp.SR.augStructCompNeedsStructEquality(), m))
// [<StructuralEquality(_)>]
| true, _, _, _, _ , Some(true), None, _, None ->
| true, _, _, _, _, Some(true), None, _, None ->
errorR(Error(FSComp.SR.augStructEqNeedsNoCompOrStructComp(), m))

// [<StructuralEquality(_)>]
| true, _, _, Some(true), _ , _, None, None, _ ->
| true, _, _, Some(true), _, _, None, None, _ ->
errorR(Error(FSComp.SR.augCustomEqNeedsNoCompOrCustomComp(), m))

// [<ReferenceEquality; StructuralEquality>]
| true, _, _, _, Some(true) , Some(true) , _, _, _
| true, _, _, _, Some(true), Some(true), _, _, _

// [<ReferenceEquality; StructuralComparison(_) >]
| true, _, _, _, Some(true), _, _, _, Some(true) ->
Expand All @@ -774,9 +774,9 @@ let CheckAugmentationAttribs isImplementation g amap (tycon: Tycon) =
// non augmented type, [<ReferenceEquality; ... >]
// non augmented type, [<StructuralEquality; ... >]
// non augmented type, [<StructuralComparison(_); ... >]
| false, _, _, _, Some(true), _ , _ , _, _
| false, _, _, _, _ , Some(true), _ , _, _
| false, _, _, _, _ , _ , _ , _, Some(true) ->
| false, _, _, _, Some(true), _, _, _, _
| false, _, _, _, _, Some(true), _, _, _
| false, _, _, _, _, _, _, _, Some(true) ->
errorR(Error(FSComp.SR.augOnlyCertainTypesCanHaveAttrs(), m))
// All other cases
| _ ->
Expand Down Expand Up @@ -829,7 +829,7 @@ let TyconIsCandidateForAugmentationWithCompare (g: TcGlobals) (tycon: Tycon) =
not (TyconRefHasAttribute g tycon.Range g.attrib_IsByRefLikeAttribute (mkLocalTyconRef tycon)) &&
match getAugmentationAttribs g tycon with
// [< >]
| true, true, None, None, None, None , None, None, None
| true, true, None, None, None, None, None, None, None
// [<StructuralEquality; StructuralComparison>]
| true, true, None, None, None, Some(true), None, None, Some(true)
// [<StructuralComparison>]
Expand All @@ -845,7 +845,7 @@ let TyconIsCandidateForAugmentationWithEquals (g: TcGlobals) (tycon: Tycon) =

match getAugmentationAttribs g tycon with
// [< >]
| true, _, None, None, None, None , _, _, _
| true, _, None, None, None, None, _, _, _
// [<StructuralEquality; _ >]
// [<StructuralEquality; StructuralComparison>]
| true, _, None, None, None, Some(true), _, _, _ -> true
Expand Down
Loading