-
Notifications
You must be signed in to change notification settings - Fork 85
Expand file tree
/
Copy pathExpression.ts
More file actions
39 lines (38 loc) · 1.91 KB
/
Expression.ts
File metadata and controls
39 lines (38 loc) · 1.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import * as ast from '@nomicfoundation/slang/ast';
import { TerminalNode } from '@nomicfoundation/slang/cst';
// This is to ensure that we have handled all variants of `Expression`.
export function checkExpressionVariant(
variant: ast.Expression['variant']
): void {
if (variant instanceof TerminalNode) return;
if (variant instanceof ast.AssignmentExpression) return;
if (variant instanceof ast.ConditionalExpression) return;
if (variant instanceof ast.OrExpression) return;
if (variant instanceof ast.AndExpression) return;
if (variant instanceof ast.EqualityExpression) return;
if (variant instanceof ast.InequalityExpression) return;
if (variant instanceof ast.BitwiseOrExpression) return;
if (variant instanceof ast.BitwiseXorExpression) return;
if (variant instanceof ast.BitwiseAndExpression) return;
if (variant instanceof ast.ShiftExpression) return;
if (variant instanceof ast.AdditiveExpression) return;
if (variant instanceof ast.MultiplicativeExpression) return;
if (variant instanceof ast.ExponentiationExpression) return;
if (variant instanceof ast.PostfixExpression) return;
if (variant instanceof ast.PrefixExpression) return;
if (variant instanceof ast.FunctionCallExpression) return;
if (variant instanceof ast.CallOptionsExpression) return;
if (variant instanceof ast.MemberAccessExpression) return;
if (variant instanceof ast.IndexAccessExpression) return;
if (variant instanceof ast.NewExpression) return;
if (variant instanceof ast.TupleExpression) return;
if (variant instanceof ast.TypeExpression) return;
if (variant instanceof ast.ArrayExpression) return;
if (variant instanceof ast.HexNumberExpression) return;
if (variant instanceof ast.DecimalNumberExpression) return;
if (variant instanceof ast.StringExpression) return;
if (variant instanceof ast.ElementaryType) return;
/* c8 ignore next 3 */
const _exhaustiveCheck: never = variant;
return _exhaustiveCheck;
}