Skip to content

Commit 57d3d8d

Browse files
committed
Expression.variant no longer can be a string so all checks for that have been removed.
1 parent b3e136e commit 57d3d8d

3 files changed

Lines changed: 8 additions & 17 deletions

File tree

src/slang-nodes/ConditionalExpression.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,13 @@ function experimentalTernaries(
2929
const isNestedAsTrueExpression =
3030
isNested && grandparent.trueExpression.variant === node;
3131
const falseExpressionInSameLine =
32-
typeof node.falseExpression.variant !== 'string' &&
33-
(node.falseExpression.variant.kind === NonterminalKind.TupleExpression ||
34-
node.falseExpression.variant.kind ===
35-
NonterminalKind.ConditionalExpression);
32+
node.falseExpression.variant.kind === NonterminalKind.TupleExpression ||
33+
node.falseExpression.variant.kind === NonterminalKind.ConditionalExpression;
3634

3735
// If the `condition` breaks into multiple lines, we add parentheses,
3836
// unless it already is a `TupleExpression`.
3937
const operand = path.call(print, 'operand');
4038
const operandDoc = group([
41-
typeof node.operand.variant !== 'string' &&
4239
node.operand.variant.kind === NonterminalKind.TupleExpression
4340
? operand
4441
: ifBreak(['(', printSeparatedItem(operand), ')'], operand),
@@ -137,13 +134,10 @@ export class ConditionalExpression implements SlangNode {
137134
// `condition` must be a single `bool` value.
138135
const operandLoc = this.operand.loc;
139136
while (
140-
typeof this.operand.variant !== 'string' &&
141137
this.operand.variant.kind === NonterminalKind.TupleExpression &&
142138
this.operand.variant.items.items.length === 1 &&
143-
(typeof this.operand.variant.items.items[0].expression!.variant ===
144-
'string' ||
145-
this.operand.variant.items.items[0].expression!.variant.kind !==
146-
NonterminalKind.ConditionalExpression)
139+
this.operand.variant.items.items[0].expression!.variant.kind !==
140+
NonterminalKind.ConditionalExpression
147141
) {
148142
this.operand = this.operand.variant.items.items[0].expression!;
149143
}

src/slang-nodes/ReturnStatement.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@ function printExpression(
1717
options: ParserOptions<AstNode>
1818
): Doc {
1919
if (node.expression) {
20-
return typeof node.expression.variant !== 'string' &&
21-
(node.expression.variant.kind === NonterminalKind.TupleExpression ||
22-
(options.experimentalTernaries &&
23-
node.expression.variant.kind ===
24-
NonterminalKind.ConditionalExpression))
20+
return node.expression.variant.kind === NonterminalKind.TupleExpression ||
21+
(options.experimentalTernaries &&
22+
node.expression.variant.kind === NonterminalKind.ConditionalExpression)
2523
? [' ', path.call(print, 'expression')]
2624
: group(indent([line, path.call(print, 'expression')]));
2725
}

src/slang-nodes/StateVariableDefinitionValue.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ export class StateVariableDefinitionValue implements SlangNode {
3737
path: AstPath<StateVariableDefinitionValue>,
3838
print: PrintFunction
3939
): Doc {
40-
return typeof this.value.variant !== 'string' &&
41-
this.value.variant.kind === NonterminalKind.ArrayExpression
40+
return this.value.variant.kind === NonterminalKind.ArrayExpression
4241
? [' = ', path.call(print, 'value')]
4342
: group([' =', indent([line, path.call(print, 'value')])]);
4443
}

0 commit comments

Comments
 (0)