Skip to content

Commit afc0ce8

Browse files
authored
Clean up Printer.emitExpression (#190)
1 parent 721c39f commit afc0ce8

File tree

2 files changed

+86
-86
lines changed

2 files changed

+86
-86
lines changed

internal/ast/precedence.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@ const (
6262
OperatorPrecedenceLogicalAND
6363
// BitwiseORExpression:
6464
// BitwiseXORExpression
65-
// BitwiseORExpression `^` BitwiseXORExpression
65+
// BitwiseORExpression `|` BitwiseXORExpression
6666
OperatorPrecedenceBitwiseOR
6767
// BitwiseXORExpression:
6868
// BitwiseANDExpression
6969
// BitwiseXORExpression `^` BitwiseANDExpression
7070
OperatorPrecedenceBitwiseXOR
7171
// BitwiseANDExpression:
7272
// EqualityExpression
73-
// BitwiseANDExpression `^` EqualityExpression
73+
// BitwiseANDExpression `&` EqualityExpression
7474
OperatorPrecedenceBitwiseAND
7575
// EqualityExpression:
7676
// RelationalExpression
@@ -174,10 +174,12 @@ const (
174174
// AsyncGeneratorExpression
175175
// RegularExpressionLiteral
176176
// TemplateLiteral
177-
// CoverParenthesizedExpressionAndArrowParameterList
178177
OperatorPrecedencePrimary
178+
// PrimaryExpression:
179+
// CoverParenthesizedExpressionAndArrowParameterList
180+
OperatorPrecedenceParentheses
179181
OperatorPrecedenceLowest = OperatorPrecedenceComma
180-
OperatorPrecedenceHighest = OperatorPrecedencePrimary
182+
OperatorPrecedenceHighest = OperatorPrecedenceParentheses
181183
OperatorPrecedenceDisallowComma = OperatorPrecedenceYield
182184
// -1 is lower than all other precedences. Returning it will cause binary expression
183185
// parsing to stop.
@@ -316,13 +318,16 @@ func GetOperatorPrecedence(nodeKind Kind, operatorKind Kind, flags OperatorPrece
316318
KindRegularExpressionLiteral,
317319
KindNoSubstitutionTemplateLiteral,
318320
KindTemplateExpression,
319-
KindParenthesizedExpression,
320321
KindOmittedExpression,
321322
KindJsxElement,
322323
KindJsxSelfClosingElement,
323324
KindJsxFragment:
324325
return OperatorPrecedencePrimary
325326

327+
// !!! By necessity, this differs from the old compiler to support emit. consider backporting
328+
case KindParenthesizedExpression:
329+
return OperatorPrecedenceParentheses
330+
326331
default:
327332
return OperatorPrecedenceInvalid
328333
}

0 commit comments

Comments
 (0)