Changeset 133668 in webkit for trunk/Source/JavaScriptCore/parser/Lexer.cpp
- Timestamp:
- Nov 6, 2012, 2:01:51 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Lexer.cpp
r132853 r133668 1687 1687 1688 1688 template <typename T> 1689 static inline void orCharacter(UChar&, UChar); 1690 1691 template <> 1692 inline void orCharacter<LChar>(UChar&, UChar) { } 1693 1694 template <> 1695 inline void orCharacter<UChar>(UChar& orAccumulator, UChar character) 1696 { 1697 orAccumulator |= character; 1698 } 1699 1700 template <typename T> 1689 1701 bool Lexer<T>::scanRegExp(const Identifier*& pattern, const Identifier*& flags, UChar patternPrefix) 1690 1702 { … … 1693 1705 bool lastWasEscape = false; 1694 1706 bool inBrackets = false; 1707 UChar charactersOredTogether = 0; 1695 1708 1696 1709 if (patternPrefix) { … … 1715 1728 1716 1729 record16(prev); 1730 orCharacter<T>(charactersOredTogether, prev); 1717 1731 1718 1732 if (lastWasEscape) { … … 1734 1748 } 1735 1749 1736 pattern = makeIdentifierSameType(m_buffer16.data(), m_buffer16.size()); 1750 pattern = makeRightSizedIdentifier(m_buffer16.data(), m_buffer16.size(), charactersOredTogether); 1751 1737 1752 m_buffer16.resize(0); 1753 charactersOredTogether = 0; 1738 1754 1739 1755 while (isIdentPart(m_current)) { 1740 1756 record16(m_current); 1741 shift(); 1742 } 1743 1744 flags = makeIdentifierSameType(m_buffer16.data(), m_buffer16.size()); 1757 orCharacter<T>(charactersOredTogether, m_current); 1758 shift(); 1759 } 1760 1761 flags = makeRightSizedIdentifier(m_buffer16.data(), m_buffer16.size(), charactersOredTogether); 1745 1762 m_buffer16.resize(0); 1746 1763
Note:
See TracChangeset
for help on using the changeset viewer.