Title: [198349] trunk/Source/_javascript_Core
Revision
198349
Author
[email protected]
Date
2016-03-17 13:38:56 -0700 (Thu, 17 Mar 2016)

Log Message

Make FunctionMode an enum class.
https://bugs.webkit.org/show_bug.cgi?id=155587

Reviewed by Saam Barati.

* bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
* parser/NodeConstructors.h:
(JSC::BaseFuncExprNode::BaseFuncExprNode):
(JSC::FuncExprNode::FuncExprNode):
(JSC::FuncDeclNode::FuncDeclNode):
(JSC::ArrowFuncExprNode::ArrowFuncExprNode):
(JSC::MethodDefinitionNode::MethodDefinitionNode):
* parser/ParserModes.h:
(JSC::functionNameIsInScope):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (198348 => 198349)


--- trunk/Source/_javascript_Core/ChangeLog	2016-03-17 20:13:18 UTC (rev 198348)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-03-17 20:38:56 UTC (rev 198349)
@@ -1,3 +1,21 @@
+2016-03-17  Mark Lam  <[email protected]>
+
+        Make FunctionMode an enum class.
+        https://bugs.webkit.org/show_bug.cgi?id=155587
+
+        Reviewed by Saam Barati.
+
+        * bytecode/UnlinkedFunctionExecutable.cpp:
+        (JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
+        * parser/NodeConstructors.h:
+        (JSC::BaseFuncExprNode::BaseFuncExprNode):
+        (JSC::FuncExprNode::FuncExprNode):
+        (JSC::FuncDeclNode::FuncDeclNode):
+        (JSC::ArrowFuncExprNode::ArrowFuncExprNode):
+        (JSC::MethodDefinitionNode::MethodDefinitionNode):
+        * parser/ParserModes.h:
+        (JSC::functionNameIsInScope):
+
 2016-03-17  Michael Saboff  <[email protected]>
 
         [ES6] Getters and Setters should be prefixed appropriately

Modified: trunk/Source/_javascript_Core/bytecode/UnlinkedFunctionExecutable.cpp (198348 => 198349)


--- trunk/Source/_javascript_Core/bytecode/UnlinkedFunctionExecutable.cpp	2016-03-17 20:13:18 UTC (rev 198348)
+++ trunk/Source/_javascript_Core/bytecode/UnlinkedFunctionExecutable.cpp	2016-03-17 20:38:56 UTC (rev 198349)
@@ -97,7 +97,7 @@
     , m_isBuiltinFunction(kind == UnlinkedBuiltinFunction)
     , m_constructAbility(static_cast<unsigned>(constructAbility))
     , m_constructorKind(static_cast<unsigned>(node->constructorKind()))
-    , m_functionMode(node->functionMode())
+    , m_functionMode(static_cast<unsigned>(node->functionMode()))
     , m_superBinding(static_cast<unsigned>(node->superBinding()))
     , m_derivedContextType(static_cast<unsigned>(derivedContextType))
     , m_sourceParseMode(static_cast<unsigned>(node->parseMode()))
@@ -110,7 +110,7 @@
     // Make sure these bitfields are adequately wide.
     ASSERT(m_constructAbility == static_cast<unsigned>(constructAbility));
     ASSERT(m_constructorKind == static_cast<unsigned>(node->constructorKind()));
-    ASSERT(m_functionMode == node->functionMode());
+    ASSERT(m_functionMode == static_cast<unsigned>(node->functionMode()));
     ASSERT(m_superBinding == static_cast<unsigned>(node->superBinding()));
     ASSERT(m_derivedContextType == static_cast<unsigned>(derivedContextType));
     ASSERT(m_sourceParseMode == static_cast<unsigned>(node->parseMode()));

Modified: trunk/Source/_javascript_Core/parser/NodeConstructors.h (198348 => 198349)


--- trunk/Source/_javascript_Core/parser/NodeConstructors.h	2016-03-17 20:13:18 UTC (rev 198348)
+++ trunk/Source/_javascript_Core/parser/NodeConstructors.h	2016-03-17 20:38:56 UTC (rev 198349)
@@ -898,7 +898,7 @@
     }
 
     inline FuncExprNode::FuncExprNode(const JSTokenLocation& location, const Identifier& ident, FunctionMetadataNode* metadata, const SourceCode& source)
-        : BaseFuncExprNode(location, ident, metadata, source, FunctionExpression)
+        : BaseFuncExprNode(location, ident, metadata, source, FunctionMode::FunctionExpression)
     {
     }
 
@@ -911,16 +911,16 @@
         : StatementNode(location)
         , m_metadata(metadata)
     {
-        m_metadata->finishParsing(source, ident, FunctionDeclaration);
+        m_metadata->finishParsing(source, ident, FunctionMode::FunctionDeclaration);
     }
 
     inline ArrowFuncExprNode::ArrowFuncExprNode(const JSTokenLocation& location, const Identifier& ident, FunctionMetadataNode* metadata, const SourceCode& source)
-        : BaseFuncExprNode(location, ident, metadata, source, FunctionExpression)
+        : BaseFuncExprNode(location, ident, metadata, source, FunctionMode::FunctionExpression)
     {
     }
 
     inline MethodDefinitionNode::MethodDefinitionNode(const JSTokenLocation& location, const Identifier& ident, FunctionMetadataNode* metadata, const SourceCode& source)
-        : FuncExprNode(location, ident, metadata, source, MethodDefinition)
+        : FuncExprNode(location, ident, metadata, source, FunctionMode::MethodDefinition)
     {
     }
     

Modified: trunk/Source/_javascript_Core/parser/Nodes.cpp (198348 => 198349)


--- trunk/Source/_javascript_Core/parser/Nodes.cpp	2016-03-17 20:13:18 UTC (rev 198348)
+++ trunk/Source/_javascript_Core/parser/Nodes.cpp	2016-03-17 20:38:56 UTC (rev 198349)
@@ -166,7 +166,7 @@
     ASSERT(m_constructorKind == static_cast<unsigned>(constructorKind));
 }
 
-void FunctionMetadataNode::finishParsing(const SourceCode& source, const Identifier& ident, enum FunctionMode functionMode)
+void FunctionMetadataNode::finishParsing(const SourceCode& source, const Identifier& ident, FunctionMode functionMode)
 {
     m_source = source;
     m_ident = ident;
@@ -189,7 +189,7 @@
 {
 }
 
-void FunctionNode::finishParsing(const Identifier& ident, enum FunctionMode functionMode)
+void FunctionNode::finishParsing(const Identifier& ident, FunctionMode functionMode)
 {
     ASSERT(!source().isNull());
     m_ident = ident;

Modified: trunk/Source/_javascript_Core/parser/ParserModes.h (198348 => 198349)


--- trunk/Source/_javascript_Core/parser/ParserModes.h	2016-03-17 20:13:18 UTC (rev 198348)
+++ trunk/Source/_javascript_Core/parser/ParserModes.h	2016-03-17 20:38:56 UTC (rev 198349)
@@ -42,7 +42,7 @@
 enum ProfilerMode { ProfilerOff, ProfilerOn };
 enum DebuggerMode { DebuggerOff, DebuggerOn };
 
-enum FunctionMode { FunctionExpression, FunctionDeclaration, MethodDefinition };
+enum class FunctionMode { FunctionExpression, FunctionDeclaration, MethodDefinition };
 
 enum class SourceParseMode : uint8_t {
     NormalFunctionMode,
@@ -125,7 +125,7 @@
     if (name.isNull())
         return false;
 
-    if (functionMode != FunctionExpression)
+    if (functionMode != FunctionMode::FunctionExpression)
         return false;
 
     return true;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to