1 // This file was autogenerated by binjs_generate_spidermonkey, 2 // please DO NOT EDIT BY HAND. 3 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 4 * vim: set ts=8 sts=2 et sw=2 tw=80: 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 8 9 // To generate this file, see the documentation in 10 // js/src/frontend/binast/README.md. 11 12 #ifndef frontend_BinASTEnum_h 13 #define frontend_BinASTEnum_h 14 15 namespace js { 16 namespace frontend { 17 namespace binast { 18 19 // ----- Declaring string enums (by lexicographical order) 20 21 enum class AssertedDeclaredKind { 22 // "var" 23 Var, 24 // "non-const lexical" 25 NonConstLexical, 26 // "const lexical" 27 ConstLexical, 28 }; 29 30 enum class BinaryOperator { 31 // "," 32 Comma, 33 // "||" 34 LogicalOr, 35 // "&&" 36 LogicalAnd, 37 // "|" 38 BitOr, 39 // "^" 40 BitXor, 41 // "&" 42 BitAnd, 43 // "==" 44 Eq, 45 // "!=" 46 Neq, 47 // "===" 48 StrictEq, 49 // "!==" 50 StrictNeq, 51 // "<" 52 LessThan, 53 // "<=" 54 LeqThan, 55 // ">" 56 GreaterThan, 57 // ">=" 58 GeqThan, 59 // "in" 60 In, 61 // "instanceof" 62 Instanceof, 63 // "<<" 64 Lsh, 65 // ">>" 66 Rsh, 67 // ">>>" 68 Ursh, 69 // "+" 70 Plus, 71 // "-" 72 Minus, 73 // "*" 74 Mul, 75 // "/" 76 Div, 77 // "%" 78 Mod, 79 // "**" 80 Pow, 81 }; 82 83 enum class CompoundAssignmentOperator { 84 // "+=" 85 PlusAssign, 86 // "-=" 87 MinusAssign, 88 // "*=" 89 MulAssign, 90 // "/=" 91 DivAssign, 92 // "%=" 93 ModAssign, 94 // "**=" 95 PowAssign, 96 // "<<=" 97 LshAssign, 98 // ">>=" 99 RshAssign, 100 // ">>>=" 101 UrshAssign, 102 // "|=" 103 BitOrAssign, 104 // "^=" 105 BitXorAssign, 106 // "&=" 107 BitAndAssign, 108 }; 109 110 enum class UnaryOperator { 111 // "+" 112 Plus, 113 // "-" 114 Minus, 115 // "!" 116 Not, 117 // "~" 118 BitNot, 119 // "typeof" 120 Typeof, 121 // "void" 122 Void, 123 // "delete" 124 Delete, 125 }; 126 127 enum class UpdateOperator { 128 // "++" 129 Incr, 130 // "--" 131 Decr, 132 }; 133 134 enum class VariableDeclarationKind { 135 // "var" 136 Var, 137 // "let" 138 Let, 139 // "const" 140 Const, 141 }; 142 143 } // namespace binast 144 } // namespace frontend 145 } // namespace js 146 147 #endif // frontend_BinASTEnum_h 148