Assertions
Syntax
Assertion :
PointsToAssertion
| PredicateAssertion
| TypePredicateAssertion
| BooleanAssertion
| PatternMatchingEqualityAssertion
| ConditionalAssertion
| MatchAssertion
| Assertion&*&
AssertionPointsToAssertion : (
[
VFPattern]
)? Expression (|->
||-?->
) VFPatternVFPattern :
_
|?
( IDENTIFIER |_
) | ExpressionPredicateAssertion : (
[
VFPattern]
)? Expression VFPatternList ? VFPatternListVFPatternList :
(
(( VFPattern,
)* VFPattern )?)
TypePredicateAssertion :
<
Type>
.
IDENTIFIER VFPatternListBooleanAssertion : Expression
PatternMatchingEqualityAssertion : Expression
==
VFPatternConditionalAssertion :
if
Expression{
Assertion}
else
{
Assertion}
MatchAssertion :
match
Scrutinee{
( MatchAssertionArm,
? )*}
MatchAssertionArm : Pattern
=>
Assertion