From 41386e9cb918eed93b3f13648cbef387e371e451 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Wed, 20 May 2015 09:56:07 +0000 Subject: webkitgtk-2.4.9 --- Source/JavaScriptCore/parser/ParserModes.h | 107 +---------------------------- 1 file changed, 3 insertions(+), 104 deletions(-) (limited to 'Source/JavaScriptCore/parser/ParserModes.h') diff --git a/Source/JavaScriptCore/parser/ParserModes.h b/Source/JavaScriptCore/parser/ParserModes.h index a65603805..4e9a17cd2 100644 --- a/Source/JavaScriptCore/parser/ParserModes.h +++ b/Source/JavaScriptCore/parser/ParserModes.h @@ -27,115 +27,15 @@ #ifndef ParserModes_h #define ParserModes_h -#include "Identifier.h" - namespace JSC { -enum class JSParserStrictMode { NotStrict, Strict }; -enum class JSParserBuiltinMode { NotBuiltin, Builtin }; -enum class JSParserCodeType { Program, Function, Module }; - -enum class ConstructorKind { None, Base, Derived }; -enum class SuperBinding { Needed, NotNeeded }; -enum class ThisTDZMode { AlwaysCheck, CheckIfNeeded }; +enum JSParserStrictness { JSParseNormal, JSParseStrict }; +enum JSParserMode { JSParseProgramCode, JSParseFunctionCode }; enum ProfilerMode { ProfilerOff, ProfilerOn }; enum DebuggerMode { DebuggerOff, DebuggerOn }; -enum FunctionMode { FunctionExpression, FunctionDeclaration }; - -enum class SourceParseMode { - NormalFunctionMode, - GetterMode, - SetterMode, - MethodMode, - ArrowFunctionMode, - ProgramMode, - ModuleAnalyzeMode, - ModuleEvaluateMode -}; - -inline bool isFunctionParseMode(SourceParseMode parseMode) -{ - switch (parseMode) { - case SourceParseMode::NormalFunctionMode: - case SourceParseMode::GetterMode: - case SourceParseMode::SetterMode: - case SourceParseMode::MethodMode: - case SourceParseMode::ArrowFunctionMode: - return true; - - case SourceParseMode::ProgramMode: - case SourceParseMode::ModuleAnalyzeMode: - case SourceParseMode::ModuleEvaluateMode: - return false; - } - RELEASE_ASSERT_NOT_REACHED(); - return false; -} - -inline bool isModuleParseMode(SourceParseMode parseMode) -{ - switch (parseMode) { - case SourceParseMode::ModuleAnalyzeMode: - case SourceParseMode::ModuleEvaluateMode: - return true; - - case SourceParseMode::NormalFunctionMode: - case SourceParseMode::GetterMode: - case SourceParseMode::SetterMode: - case SourceParseMode::MethodMode: - case SourceParseMode::ArrowFunctionMode: - case SourceParseMode::ProgramMode: - return false; - } - RELEASE_ASSERT_NOT_REACHED(); - return false; -} - -inline bool isProgramParseMode(SourceParseMode parseMode) -{ - switch (parseMode) { - case SourceParseMode::ProgramMode: - return true; - - case SourceParseMode::NormalFunctionMode: - case SourceParseMode::GetterMode: - case SourceParseMode::SetterMode: - case SourceParseMode::MethodMode: - case SourceParseMode::ArrowFunctionMode: - case SourceParseMode::ModuleAnalyzeMode: - case SourceParseMode::ModuleEvaluateMode: - return false; - } - RELEASE_ASSERT_NOT_REACHED(); - return false; -} - -inline bool functionNameIsInScope(const Identifier& name, FunctionMode functionMode) -{ - if (name.isNull()) - return false; - - if (functionMode != FunctionExpression) - return false; - - return true; -} - -inline bool functionNameScopeIsDynamic(bool usesEval, bool isStrictMode) -{ - // If non-strict eval is in play, a function gets a separate object in the scope chain for its name. - // This enables eval to declare and then delete a name that shadows the function's name. - - if (!usesEval) - return false; - - if (isStrictMode) - return false; - - return true; -} +enum FunctionNameIsInScopeToggle { FunctionNameIsNotInScope, FunctionNameIsInScope }; typedef unsigned CodeFeatures; @@ -148,7 +48,6 @@ const CodeFeatures ThisFeature = 1 << 4; const CodeFeatures StrictModeFeature = 1 << 5; const CodeFeatures ShadowsArgumentsFeature = 1 << 6; const CodeFeatures ModifiedParameterFeature = 1 << 7; -const CodeFeatures ModifiedArgumentsFeature = 1 << 8; const CodeFeatures AllFeatures = EvalFeature | ArgumentsFeature | WithFeature | CatchFeature | ThisFeature | StrictModeFeature | ShadowsArgumentsFeature | ModifiedParameterFeature; -- cgit v1.2.1