1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- 2 * vim: set ts=8 sts=4 et sw=4 tw=99: 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 /* Code related to various SpiderMonkey-specific language syntax extensions. */ 8 9 #ifndef frontend_LanguageExtensions_h 10 #define frontend_LanguageExtensions_h 11 12 namespace js { 13 14 /** 15 * Numeric identifiers for various deprecated language extensions. 16 * 17 * The initializer numbers are directly used in telemetry, so while it's okay 18 * to *remove* values as language extensions are removed from SpiderMonkey, 19 * it's *not* okay to compact or reorder them. When an initializer falls into 20 * disuse, remove it without reassigning its value to a new or existing 21 * initializer. The *only* initializer whose value should ever change is 22 * DeprecatedLanguageExtension::Count. 23 */ 24 enum class DeprecatedLanguageExtension { 25 // NO LONGER USING 0 26 // NO LONGER USING 1 27 // NO LONGER USING 2 28 ExpressionClosure = 3, // Added in JS 1.8 29 // NO LONGER USING 4 30 // NO LONGER USING 5 31 // NO LONGER USING 6 32 // NO LONGER USING 7 33 // NO LONGER USING 8 34 // NO LONGER USING 9 35 // NO LONGER USING 10 36 37 // Sentinel value. MAY change as extension initializers are added (only to 38 // the end) above. 39 Count 40 }; 41 42 } // namespace js 43 44 #endif /* frontend_LanguageExtensions_h */ 45