Skip to content

Commit ee71c6a

Browse files
authored
Mark Range.Zero as obsolete in favor of Range.range0 (#18664)
1 parent bac7602 commit ee71c6a

25 files changed

+49
-46
lines changed

docs/release-notes/.FSharp.Compiler.Service/10.0.100.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@
2121
* Scoped Nowarn: Add the #warnon compiler directive ([Language suggestion #278](https://github.com/fsharp/fslang-suggestions/issues/278), [RFC FS-1146 PR](https://github.com/fsharp/fslang-design/pull/782), [PR #18049](https://github.com/dotnet/fsharp/pull/18049) and [PR #18637](https://github.com/dotnet/fsharp/pull/18637))
2222
* Simplify creation of `FSharpDiagnostics`. In a few cases, errors without ranges were assigned to the currently checked file, while in other cases they carried an empty range. The latter is now true in all cases. In a few cases, ranges at eof were corrected, while in others they were not. They are now always left uncorrected. This is a prerequisit for [#18553](https://github.com/dotnet/fsharp/issues/18553). ([PR #18610](https://github.com/dotnet/fsharp/pull/18610)).
2323
* `SynExprRecordField` now includes a `range` field ([PR #18617](https://github.com/dotnet/fsharp/pull/18617))
24+
* Mark `Range.Zero` as obsolete in favor of `Range.range0` ([PR #18664](https://github.com/dotnet/fsharp/pull/18664))

src/Compiler/Checking/CheckIncrementalClasses.fs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ open FSharp.Compiler.NameResolution
1818
open FSharp.Compiler.Syntax
1919
open FSharp.Compiler.SyntaxTreeOps
2020
open FSharp.Compiler.Text
21+
open FSharp.Compiler.Text.Range
2122
open FSharp.Compiler.Xml
2223
open FSharp.Compiler.TcGlobals
2324
open FSharp.Compiler.TypedTree
@@ -111,7 +112,7 @@ let TcStaticImplicitCtorInfo_Phase2A(cenv: cenv, env, tcref: TyconRef, m, copyOf
111112
let prelimValReprInfo = TranslateSynValInfo cenv m (TcAttributes cenv env) valSynData
112113
let prelimTyschemeG = GeneralizedType(copyOfTyconTypars, cctorTy)
113114
let valReprInfo = InferGenericArityFromTyScheme prelimTyschemeG prelimValReprInfo
114-
let cctorValScheme = ValScheme(id, prelimTyschemeG, Some valReprInfo, None, Some memberInfo, false, ValInline.Never, NormalVal, Some (SynAccess.Private Range.Zero), false, true, false, false)
115+
let cctorValScheme = ValScheme(id, prelimTyschemeG, Some valReprInfo, None, Some memberInfo, false, ValInline.Never, NormalVal, Some (SynAccess.Private range0), false, true, false, false)
115116

116117
let cctorVal = MakeAndPublishVal cenv env (Parent tcref, false, ModuleOrMemberBinding, ValNotInRecScope, cctorValScheme, [(* no attributes*)], XmlDoc.Empty, None, false)
117118
cctorArgs, cctorVal, cctorValScheme

src/Compiler/Checking/Expressions/CheckExpressions.fs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -811,10 +811,10 @@ let TcConst (cenv: cenv) (overallTy: TType) m env synConst =
811811
Measure.Prod(tcMeasure ms1, tcMeasure ms2, m)
812812
| SynMeasure.Divide(ms1, _, (SynMeasure.Seq (_ :: _ :: _, _) as ms2), m) ->
813813
warning(Error(FSComp.SR.tcImplicitMeasureFollowingSlash(), m))
814-
let factor1 = ms1 |> Option.defaultValue (SynMeasure.One Range.Zero)
814+
let factor1 = ms1 |> Option.defaultValue (SynMeasure.One range0)
815815
Measure.Prod(tcMeasure factor1, Measure.Inv (tcMeasure ms2), ms.Range)
816816
| SynMeasure.Divide(measure1 = ms1; measure2 = ms2) ->
817-
let factor1 = ms1 |> Option.defaultValue (SynMeasure.One Range.Zero)
817+
let factor1 = ms1 |> Option.defaultValue (SynMeasure.One range0)
818818
Measure.Prod(tcMeasure factor1, Measure.Inv (tcMeasure ms2), ms.Range)
819819
| SynMeasure.Seq(mss, _) -> ProdMeasures (List.map tcMeasure mss)
820820
| SynMeasure.Anon _ -> error(Error(FSComp.SR.tcUnexpectedMeasureAnon(), m))
@@ -2307,7 +2307,7 @@ module GeneralizationHelpers =
23072307
declaredTypars
23082308
|> List.map(fun typar -> typar.Range)
23092309

2310-
let m = declaredTyparsRange |> List.fold (fun r a -> unionRanges r a) range.Zero
2310+
let m = declaredTyparsRange |> List.fold (fun r a -> unionRanges r a) range0
23112311

23122312
errorR(Error(FSComp.SR.tcPropertyRequiresExplicitTypeParameters(), m))
23132313
| SynMemberKind.Constructor ->

src/Compiler/Checking/import.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -565,10 +565,10 @@ let rec ImportProvidedType (env: ImportMap) (m: range) (* (tinst: TypeInst) *) (
565565
| TType_app (tcref, [], _) when tcref.TypeOrMeasureKind = TyparKind.Measure -> Measure.Const(tcref, tcref.Range)
566566
| TType_app (tcref, _, _) ->
567567
errorR(Error(FSComp.SR.impInvalidMeasureArgument1(tcref.CompiledName, tp.Name), m))
568-
Measure.One(tcref.Range)
568+
Measure.One tcref.Range
569569
| _ ->
570570
errorR(Error(FSComp.SR.impInvalidMeasureArgument2(tp.Name), m))
571-
Measure.One(Range.Zero)
571+
Measure.One range0
572572

573573
TType_measure (conv genericArg)
574574
else

src/Compiler/CodeGen/IlxGenSupport.fs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ open System.Reflection
77
open Internal.Utilities.Library
88
open FSharp.Compiler.AbstractIL.IL
99
open FSharp.Compiler.TcGlobals
10+
open FSharp.Compiler.Text.Range
1011
open FSharp.Compiler.TypedTreeOps
1112
open FSharp.Compiler.TypedTree
1213

@@ -404,10 +405,7 @@ let rec GetNullnessFromTType (g: TcGlobals) ty =
404405
else if isValueType then
405406
// Generic value type: 0, followed by the representation of the type arguments in order including containing types
406407
yield NullnessInfo.AmbivalentToNull
407-
else if
408-
IsUnionTypeWithNullAsTrueValue g tcref.Deref
409-
|| TypeHasAllowNull tcref g FSharp.Compiler.Text.Range.Zero
410-
then
408+
else if IsUnionTypeWithNullAsTrueValue g tcref.Deref || TypeHasAllowNull tcref g range0 then
411409
yield NullnessInfo.WithNull
412410
else
413411
// Reference type: the nullability (0, 1, or 2), followed by the representation of the type arguments in order including containing types

src/Compiler/Driver/CompilerDiagnostics.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -889,7 +889,7 @@ type Exception with
889889
|> List.map (fun (name, tTy) ->
890890
tTy,
891891
{
892-
ArgReprInfo.Name = name |> Option.map (fun name -> Ident(name, range.Zero))
892+
ArgReprInfo.Name = name |> Option.map (fun name -> Ident(name, range0))
893893
ArgReprInfo.Attribs = []
894894
ArgReprInfo.OtherRange = None
895895
})

src/Compiler/Service/FSharpCheckerResults.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3388,7 +3388,7 @@ type FSharpCheckFileResults
33883388
| None -> ()
33893389
| Some kwDescription ->
33903390
let kwText = kw |> TaggedText.tagKeyword |> wordL |> LayoutRender.toArray
3391-
yield ToolTipElement.Single(kwText, FSharpXmlDoc.FromXmlText(Xml.XmlDoc([| kwDescription |], range.Zero)))
3391+
yield ToolTipElement.Single(kwText, FSharpXmlDoc.FromXmlText(Xml.XmlDoc([| kwDescription |], range0)))
33923392
]
33933393

33943394
/// Resolve the names at the given location to give a data tip

src/Compiler/Service/ServiceDeclarationLists.fs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ open FSharp.Compiler.Symbols.SymbolHelpers
2424
open FSharp.Compiler.Syntax.PrettyNaming
2525
open FSharp.Compiler.TcGlobals
2626
open FSharp.Compiler.Text
27+
open FSharp.Compiler.Text.Range
2728
open FSharp.Compiler.Text.Layout
2829
open FSharp.Compiler.Text.LayoutRender
2930
open FSharp.Compiler.Text.TaggedText
@@ -100,7 +101,7 @@ module DeclarationListHelpers =
100101
/// Generate the structured tooltip for a method info
101102
let FormatOverloadsToList (infoReader: InfoReader) m denv (item: ItemWithInst) minfos symbol (width: int option) : ToolTipElement =
102103
ToolTipFault |> Option.iter (fun msg ->
103-
let exn = Error((0, msg), range.Zero)
104+
let exn = Error((0, msg), range0)
104105
let ph = PhasedDiagnostic.Create(exn, BuildPhase.TypeCheck)
105106
simulateError ph)
106107

src/Compiler/Service/ServiceNavigation.fs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,14 @@ type NavigationItems(declarations: NavigationTopLevelDeclaration[]) =
100100

101101
module NavigationImpl =
102102
let unionRangesChecked r1 r2 =
103-
if equals r1 range.Zero then r2
104-
elif equals r2 range.Zero then r1
103+
if equals r1 range0 then r2
104+
elif equals r2 range0 then r1
105105
else unionRanges r1 r2
106106

107107
let rangeOfDecls2 f decls =
108108
match decls |> List.map (f >> (fun (d: NavigationItem) -> d.bodyRange)) with
109109
| hd :: tl -> tl |> List.fold unionRangesChecked hd
110-
| [] -> range.Zero
110+
| [] -> range0
111111

112112
let rangeOfDecls = rangeOfDecls2 fst
113113

@@ -118,7 +118,7 @@ module NavigationImpl =
118118
match fldspec with
119119
| SynUnionCaseKind.Fields(flds) ->
120120
flds
121-
|> List.fold (fun st (SynField(range = m)) -> unionRangesChecked m st) range.Zero
121+
|> List.fold (fun st (SynField(range = m)) -> unionRangesChecked m st) range0
122122
| SynUnionCaseKind.FullType(ty, _) -> ty.Range
123123

124124
let bodyRange mBody decls =
@@ -357,7 +357,7 @@ module NavigationImpl =
357357
]
358358
| _ -> []))
359359

360-
let m2 = members |> Seq.map fst |> Seq.fold unionRangesChecked range.Zero
360+
let m2 = members |> Seq.map fst |> Seq.fold unionRangesChecked range0
361361
let items = members |> List.collect snd
362362
m2, items
363363

src/Compiler/Symbols/FSharpDiagnostic.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ type FSharpDiagnostic(m: range, severity: FSharpDiagnosticSeverity, message: str
235235
| _ -> diagnostic.FormatCore(flatErrors, suggestNames)
236236

237237
let errorNum = diagnostic.Number
238-
let m = match diagnostic.Range with Some m -> m | None -> range.Zero
238+
let m = match diagnostic.Range with Some m -> m | None -> range0
239239
FSharpDiagnostic(m, severity, msg, diagnostic.Subcategory(), errorNum, "FS", extendedData)
240240

241241
static member NewlineifyErrorString(message) = NewlineifyErrorString(message)

src/Compiler/Symbols/Symbols.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,7 @@ type FSharpEntity(cenv: SymbolEnv, entity: EntityRef, tyargs: TType list) =
742742

743743
if entity.IsILEnumTycon then
744744
let (TILObjectReprData(_scoref, _enc, tdef)) = entity.ILTyconInfo
745-
let formalTypars = entity.Typars(range.Zero)
745+
let formalTypars = entity.Typars range0
746746
let formalTypeInst = generalizeTypars formalTypars
747747
let ty = TType_app(entity, formalTypeInst, cenv.g.knownWithoutNull)
748748
let formalTypeInfo = ILTypeInfo.FromType cenv.g ty

src/Compiler/SyntaxTree/ParseHelpers.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ let adjustHatPrefixToTyparLookup mFull rightExpr =
677677
let mkSynTypeTuple (elementTypes: SynTupleTypeSegment list) : SynType =
678678
let range =
679679
match elementTypes with
680-
| [] -> Range.Zero
680+
| [] -> range0
681681
| head :: tail ->
682682

683683
(head.Range, tail)
@@ -889,7 +889,7 @@ let mkLocalBindings (mWhole, BindingSetPreAttrs(_, isRec, isUse, declsPreAttrs,
889889
let mLetOrUse =
890890
match decls with
891891
| SynBinding(trivia = trivia) :: _ -> trivia.LeadingKeyword.Range
892-
| _ -> Range.Zero
892+
| _ -> range0
893893

894894
SynExpr.LetOrUse(
895895
isRec,

src/Compiler/SyntaxTree/SyntaxTrivia.fs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace FSharp.Compiler.SyntaxTrivia
44

55
open FSharp.Compiler.Text
6+
open FSharp.Compiler.Text.Range
67

78
[<RequireQualifiedAccess; NoEquality; NoComparison>]
89
type IdentTrivia =
@@ -98,7 +99,7 @@ type SynExprLetOrUseTrivia =
9899
static member Zero: SynExprLetOrUseTrivia =
99100
{
100101
InKeyword = None
101-
LetOrUseKeyword = Range.Zero
102+
LetOrUseKeyword = range0
102103
}
103104

104105
[<NoEquality; NoComparison>]
@@ -110,7 +111,7 @@ type SynExprLetOrUseBangTrivia =
110111

111112
static member Zero: SynExprLetOrUseBangTrivia =
112113
{
113-
LetOrUseBangKeyword = Range.Zero
114+
LetOrUseBangKeyword = range0
114115
EqualsRange = None
115116
}
116117

@@ -134,18 +135,15 @@ type SynExprYieldOrReturnTrivia =
134135
YieldOrReturnKeyword: range
135136
}
136137

137-
static member Zero: SynExprYieldOrReturnTrivia = { YieldOrReturnKeyword = Range.Zero }
138+
static member Zero: SynExprYieldOrReturnTrivia = { YieldOrReturnKeyword = range0 }
138139

139140
[<NoEquality; NoComparison>]
140141
type SynExprYieldOrReturnFromTrivia =
141142
{
142143
YieldOrReturnFromKeyword: range
143144
}
144145

145-
static member Zero: SynExprYieldOrReturnFromTrivia =
146-
{
147-
YieldOrReturnFromKeyword = Range.Zero
148-
}
146+
static member Zero: SynExprYieldOrReturnFromTrivia = { YieldOrReturnFromKeyword = range0 }
149147

150148
[<NoEquality; NoComparison>]
151149
type SynExprDoBangTrivia = { DoBangKeyword: range }
@@ -288,7 +286,7 @@ type SynLeadingKeyword =
288286
| MemberVal(m1, m2)
289287
| OverrideVal(m1, m2)
290288
| StaticMemberVal(m1, _, m2) -> Range.unionRanges m1 m2
291-
| Synthetic -> Range.Zero
289+
| Synthetic -> range0
292290

293291
[<NoEquality; NoComparison>]
294292
type SynBindingTrivia =

src/Compiler/SyntaxTree/XmlDoc.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ type PreXmlDoc =
238238
if part1.IsEmpty then part2.Range
239239
elif part2.IsEmpty then part1.Range
240240
else unionRanges part1.Range part2.Range
241-
| PreXmlDocEmpty -> Range.Zero
241+
| PreXmlDocEmpty -> range0
242242
| PreXmlDoc(pos, collector) -> collector.LinesRange pos
243243

244244
member x.IsEmpty =

src/Compiler/TypedTree/TypedTreePickle.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2906,12 +2906,12 @@ and p_tycon_objmodel_kind x st =
29062906
| TFSharpEnum -> p_byte 4 st
29072907
| TFSharpUnion ->
29082908
if st.oglobals.compilingFSharpCore then
2909-
raise (Error(FSComp.SR.pickleFsharpCoreBackwardsCompatible ("union as FSharpTyconKind ", st.ofile), range.Zero))
2909+
raise (Error(FSComp.SR.pickleFsharpCoreBackwardsCompatible ("union as FSharpTyconKind ", st.ofile), range0))
29102910

29112911
p_byte 5 st
29122912
| TFSharpRecord ->
29132913
if st.oglobals.compilingFSharpCore then
2914-
raise (Error(FSComp.SR.pickleFsharpCoreBackwardsCompatible ("record as FSharpTyconKind ", st.ofile), range.Zero))
2914+
raise (Error(FSComp.SR.pickleFsharpCoreBackwardsCompatible ("record as FSharpTyconKind ", st.ofile), range0))
29152915

29162916
p_byte 6 st
29172917

src/Compiler/Utilities/range.fs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ module FileIndex =
264264
[<Struct; CustomEquality; NoComparison>]
265265
[<System.Diagnostics.DebuggerDisplay("({StartLine},{StartColumn}-{EndLine},{EndColumn}) {ShortFileName} -> {DebugCode}")>]
266266
type Range(code1: int64, code2: int64) =
267+
[<Obsolete("Use Range.range0 instead")>]
267268
static member Zero = range (0L, 0L)
268269

269270
new(fIdx, bl, bc, el, ec) =

src/Compiler/Utilities/range.fsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// The Range and Pos types form part of the public API of FSharp.Compiler.Service
44
namespace FSharp.Compiler.Text
55

6+
open System
67
open System.Collections.Generic
78

89
/// An index into a global tables of filenames
@@ -121,6 +122,7 @@ type Range =
121122
member internal IsAdjacentTo: otherRange: Range -> bool
122123

123124
/// The range where all values are zero
125+
[<Obsolete("Use Range.range0 instead")>]
124126
static member Zero: range
125127

126128
/// Represents a range within a file

tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/codepage.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ module Codepage =
6464
|> compile
6565
|> shouldFail
6666
|> withDiagnostics [
67-
(Error 193, Line 0, Col 1, Line 0, Col 1, "No data is available for encoding 65535. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.")
67+
(Error 193, Line 1, Col 1, Line 1, Col 1, "No data is available for encoding 65535. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.")
6868
]
6969

7070
//# Boundary case

tests/FSharp.Compiler.Service.Tests/RangeTests.fs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ open Xunit
88

99
[<Fact>]
1010
let ``withStartEnd Test`` () =
11-
let z = Range.Zero
11+
let z = range0
1212
let newStart = mkPos 2 4
1313
let newEnd = mkPos 7 23
1414
let r = withStartEnd newStart newEnd z
@@ -17,21 +17,21 @@ let ``withStartEnd Test`` () =
1717

1818
[<Fact>]
1919
let ``withStart Test`` () =
20-
let z = Range.Zero
20+
let z = range0
2121
let newStart = mkPos 2 4
2222
let r = withStart newStart z
2323
r.Start |> shouldEqual newStart
2424

2525
[<Fact>]
2626
let ``withEnd Test`` () =
27-
let z = Range.Zero
27+
let z = range0
2828
let newEnd = mkPos 2 4
2929
let r = withEnd newEnd z
3030
r.End |> shouldEqual newEnd
3131

3232
[<Fact>]
3333
let ``shiftStart Test`` () =
34-
let z = Range.Zero
34+
let z = range0
3535
let lineDelta = 10
3636
let columnDelta = 20
3737
let r = shiftStart lineDelta columnDelta z
@@ -40,7 +40,7 @@ let ``shiftStart Test`` () =
4040

4141
[<Fact>]
4242
let ``shiftEnd Test`` () =
43-
let z = Range.Zero
43+
let z = range0
4444
let lineDelta = 10
4545
let columnDelta = 20
4646
let r = shiftEnd lineDelta columnDelta z

tests/FSharp.Compiler.Service.Tests/SourceTextTests.fs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
open System
44
open FSharp.Compiler.Text
5+
open FSharp.Compiler.Text.Range
56
open Xunit
67

78
[<Fact>]
@@ -36,7 +37,7 @@ let ``Inconsistent return carriage return correct text`` () =
3637
[<Fact>]
3738
let ``Zero range should return empty string`` () =
3839
let sourceText = SourceText.ofString "a"
39-
let v = sourceText.GetSubTextFromRange Range.Zero
40+
let v = sourceText.GetSubTextFromRange range0
4041
Assert.Equal(String.Empty, v)
4142

4243
[<Fact>]

tests/FSharp.Compiler.Service.Tests/TestDoubles.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
module FSharp.Compiler.Service.Tests.TestDoubles
44

55
open System.IO
6-
open FSharp.Compiler.Text
6+
open FSharp.Compiler.Text.Range
77
open FSharp.Compiler.AbstractIL.ILBinaryReader
88
open FSharp.Compiler.CompilerConfig
99
open Internal.Utilities
@@ -20,4 +20,4 @@ let internal getArbitraryTcConfigBuilder() =
2020
CopyFSharpCoreFlag.No,
2121
(fun _ -> None),
2222
None,
23-
Range.Zero)
23+
range0)

tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net9.0.bsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x0000000B][found Char] Unexpected type on the stack.
6060
[IL]: Error [StackUnexpected]: : FSharp.Compiler.AbstractIL.IL::parseILVersion(string)][offset 0x00000021][found Char] Unexpected type on the stack.
6161
[IL]: Error [StackUnexpected]: : <StartupCode$FSharp-Compiler-Service>.$FSharp.Compiler.DiagnosticsLogger::.cctor()][offset 0x000000CD][found Char] Unexpected type on the stack.
62-
[IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer@558::System.Collections.Generic.IEqualityComparer<FSharp.Compiler.Text.Range>.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method.
62+
[IL]: Error [CallVirtOnValueType]: : FSharp.Compiler.Text.RangeModule+comparer@559::System.Collections.Generic.IEqualityComparer<FSharp.Compiler.Text.Range>.GetHashCode([FSharp.Compiler.Service]FSharp.Compiler.Text.Range)][offset 0x00000002] Callvirt on a value type method.
6363
[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000037][found Char] Unexpected type on the stack.
6464
[IL]: Error [StackUnexpected]: : Internal.Utilities.PathMapModule::applyDir([FSharp.Compiler.Service]Internal.Utilities.PathMap, string)][offset 0x00000043][found Char] Unexpected type on the stack.
6565
[IL]: Error [StackUnexpected]: : <StartupCode$FSharp-Compiler-Service>.$Internal.Utilities.XmlAdapters::.cctor()][offset 0x0000000A][found Char] Unexpected type on the stack.

0 commit comments

Comments
 (0)