Home Manual Reference Source Test Repository

src/utils/ast/expressionPrecedence.js

export default {
   // Definitions
   ArrayExpression: 20,
   TaggedTemplateExpression: 20,
   ThisExpression: 20,
   Identifier: 20,
   Literal: 18,
   TemplateLiteral: 20,
   Super: 20,
   SequenceExpression: 20,
   // Operations
   MemberExpression: 19,
   CallExpression: 19,
   NewExpression: 19,
   ArrowFunctionExpression: 18,
   // Other definitions
   // Value 17 enables parenthesis in an `ExpressionStatement` node
   ClassExpression: 17,
   FunctionExpression: 17,
   ObjectExpression: 17,
   // Other operations
   UpdateExpression: 16,
   UnaryExpression: 15,
   BinaryExpression: 14,
   LogicalExpression: 13,
   ConditionalExpression: 4,
   AssignmentExpression: 3,
   YieldExpression: 2,
   RestElement: 1,

   // Babylon AST nodes ---------------------------------------------------------------------------------------------

   BooleanLiteral: 18,
   DirectiveLiteral: 18,
   NullLiteral: 18,
   NumericLiteral: 18,
   StringLiteral: 18
};