⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 198349 in webkit


Ignore:
Timestamp:
Mar 17, 2016, 1:38:56 PM (10 years ago)
Author:
mark.lam@apple.com
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):

Location:
trunk/Source/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r198348 r198349  
     12016-03-17  Mark Lam  <mark.lam@apple.com>
     2
     3        Make FunctionMode an enum class.
     4        https://bugs.webkit.org/show_bug.cgi?id=155587
     5
     6        Reviewed by Saam Barati.
     7
     8        * bytecode/UnlinkedFunctionExecutable.cpp:
     9        (JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
     10        * parser/NodeConstructors.h:
     11        (JSC::BaseFuncExprNode::BaseFuncExprNode):
     12        (JSC::FuncExprNode::FuncExprNode):
     13        (JSC::FuncDeclNode::FuncDeclNode):
     14        (JSC::ArrowFuncExprNode::ArrowFuncExprNode):
     15        (JSC::MethodDefinitionNode::MethodDefinitionNode):
     16        * parser/ParserModes.h:
     17        (JSC::functionNameIsInScope):
     18
    1192016-03-17  Michael Saboff  <msaboff@apple.com>
    220
  • trunk/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp

    r198332 r198349  
    9898    , m_constructAbility(static_cast<unsigned>(constructAbility))
    9999    , m_constructorKind(static_cast<unsigned>(node->constructorKind()))
    100     , m_functionMode(node->functionMode())
     100    , m_functionMode(static_cast<unsigned>(node->functionMode()))
    101101    , m_superBinding(static_cast<unsigned>(node->superBinding()))
    102102    , m_derivedContextType(static_cast<unsigned>(derivedContextType))
     
    111111    ASSERT(m_constructAbility == static_cast<unsigned>(constructAbility));
    112112    ASSERT(m_constructorKind == static_cast<unsigned>(node->constructorKind()));
    113     ASSERT(m_functionMode == node->functionMode());
     113    ASSERT(m_functionMode == static_cast<unsigned>(node->functionMode()));
    114114    ASSERT(m_superBinding == static_cast<unsigned>(node->superBinding()));
    115115    ASSERT(m_derivedContextType == static_cast<unsigned>(derivedContextType));
  • trunk/Source/JavaScriptCore/parser/NodeConstructors.h

    r198332 r198349  
    899899
    900900    inline FuncExprNode::FuncExprNode(const JSTokenLocation& location, const Identifier& ident, FunctionMetadataNode* metadata, const SourceCode& source)
    901         : BaseFuncExprNode(location, ident, metadata, source, FunctionExpression)
     901        : BaseFuncExprNode(location, ident, metadata, source, FunctionMode::FunctionExpression)
    902902    {
    903903    }
     
    912912        , m_metadata(metadata)
    913913    {
    914         m_metadata->finishParsing(source, ident, FunctionDeclaration);
     914        m_metadata->finishParsing(source, ident, FunctionMode::FunctionDeclaration);
    915915    }
    916916
    917917    inline ArrowFuncExprNode::ArrowFuncExprNode(const JSTokenLocation& location, const Identifier& ident, FunctionMetadataNode* metadata, const SourceCode& source)
    918         : BaseFuncExprNode(location, ident, metadata, source, FunctionExpression)
     918        : BaseFuncExprNode(location, ident, metadata, source, FunctionMode::FunctionExpression)
    919919    {
    920920    }
    921921
    922922    inline MethodDefinitionNode::MethodDefinitionNode(const JSTokenLocation& location, const Identifier& ident, FunctionMetadataNode* metadata, const SourceCode& source)
    923         : FuncExprNode(location, ident, metadata, source, MethodDefinition)
     923        : FuncExprNode(location, ident, metadata, source, FunctionMode::MethodDefinition)
    924924    {
    925925    }
  • trunk/Source/JavaScriptCore/parser/Nodes.cpp

    r198288 r198349  
    167167}
    168168
    169 void FunctionMetadataNode::finishParsing(const SourceCode& source, const Identifier& ident, enum FunctionMode functionMode)
     169void FunctionMetadataNode::finishParsing(const SourceCode& source, const Identifier& ident, FunctionMode functionMode)
    170170{
    171171    m_source = source;
     
    190190}
    191191
    192 void FunctionNode::finishParsing(const Identifier& ident, enum FunctionMode functionMode)
     192void FunctionNode::finishParsing(const Identifier& ident, FunctionMode functionMode)
    193193{
    194194    ASSERT(!source().isNull());
  • trunk/Source/JavaScriptCore/parser/ParserModes.h

    r198332 r198349  
    4343enum DebuggerMode { DebuggerOff, DebuggerOn };
    4444
    45 enum FunctionMode { FunctionExpression, FunctionDeclaration, MethodDefinition };
     45enum class FunctionMode { FunctionExpression, FunctionDeclaration, MethodDefinition };
    4646
    4747enum class SourceParseMode : uint8_t {
     
    126126        return false;
    127127
    128     if (functionMode != FunctionExpression)
     128    if (functionMode != FunctionMode::FunctionExpression)
    129129        return false;
    130130
Note: See TracChangeset for help on using the changeset viewer.