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
* Attempt add match! syntax to parser (as normal match) (does not work)
* Add name for MATCH_BANG token ("keyword 'match!')
* Make match! valid in (and only in) computational expressions
* match! works
* Add match! to xlf localization files
* Add two tests for match!
* Don't use left-pipe
* Give match! keyword a description
* Fix syntax error, and change match! description
* xlf updated
* Add match! keyword description to resx
* Update FSComp.fs
* Write quotation test for match!
* First crack at compile error tests
* Fix baselines
* Fix baseline one more time
* Add vs baseline
* Fix merge mistake
* Fix merge mistake (#2)
* Fix merge mistake in tests
Copy file name to clipboardExpand all lines: src/fsharp/FSComp.txt
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1372,6 +1372,7 @@ keywordDescriptionLazy,"Used to specify a computation that is to be performed on
1372
1372
keywordDescriptionLet,"Used to associate, or bind, a name to a value or function."
1373
1373
keywordDescriptionLetBang,"Used in asynchronous workflows to bind a name to the result of an asynchronous computation, or, in other computation expressions, used to bind a name to a result, which is of the computation type."
1374
1374
keywordDescriptionMatch,"Used to branch by comparing a value to a pattern."
1375
+
keywordDescriptionMatchBang,"Used in computation expressions to pattern match directly over the result of another computation expression."
1375
1376
keywordDescriptionMember,"Used to declare a property or method in an object type."
1376
1377
keywordDescriptionModule,"Used to associate a name with a group of related types, values, and functions, to logically separate it from other code."
1377
1378
keywordDescriptionMutable,"Used to declare a variable, that is, a value that can be changed."
| MatchBang ofmatchSeqPoint:SequencePointInfoForBinding*expr:SynExpr*clauses:SynMatchClauselist*isExnMatch:bool*range:range(* bool indicates if this is an exception match in a computation expression which throws unmatched exceptions *)
697
+
695
698
/// F# syntax: do! expr
696
699
/// Computation expressions only
697
700
| DoBang ofexpr:SynExpr*range:range
@@ -779,6 +782,7 @@ and
779
782
| SynExpr.YieldOrReturn (range=m)
780
783
| SynExpr.YieldOrReturnFrom (range=m)
781
784
| SynExpr.LetOrUseBang (range=m)
785
+
| SynExpr.MatchBang (range=m)
782
786
| SynExpr.DoBang (range=m)
783
787
| SynExpr.Fixed (range=m)-> m
784
788
| SynExpr.Ident id -> id.idRange
@@ -839,6 +843,7 @@ and
839
843
| SynExpr.YieldOrReturn (range=m)
840
844
| SynExpr.YieldOrReturnFrom (range=m)
841
845
| SynExpr.LetOrUseBang (range=m)
846
+
| SynExpr.MatchBang (range=m)
842
847
| SynExpr.DoBang (range=m)-> m
843
848
| SynExpr.DotGet (expr,_,lidwd,m)->if lidwd.ThereIsAnExtraDotAtTheEnd then unionRanges expr.Range lidwd.RangeSansAnyExtraDot else m
0 commit comments