Changeset 28854 in webkit for trunk/JavaScriptCore/kjs/Parser.h
- Timestamp:
- Dec 18, 2007, 11:42:29 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/Parser.h
r28604 r28854 29 29 #include <wtf/Noncopyable.h> 30 30 #include <wtf/OwnPtr.h> 31 #include <wtf/RefPtr.h> 31 32 #include "nodes.h" 32 33 … … 38 39 39 40 struct UChar; 41 42 template <typename T> struct ParserRefCountedData : ParserRefCounted { 43 T data; 44 }; 40 45 41 46 class Parser : Noncopyable { … … 49 54 int sourceId() const { return m_sourceId; } 50 55 51 void didFinishParsing(SourceElements* sourceElements, int lastLine) 56 void didFinishParsing(SourceElements* sourceElements, ParserRefCountedData<DeclarationStacks::VarStack>* varStack, 57 ParserRefCountedData<DeclarationStacks::FunctionStack>* funcStack, int lastLine) 52 58 { 53 59 m_sourceElements.set(sourceElements); 60 m_varDeclarations = varStack; 61 m_funcDeclarations = funcStack; 54 62 m_lastLine = lastLine; 55 63 } … … 65 73 int m_sourceId; 66 74 OwnPtr<SourceElements> m_sourceElements; 75 RefPtr<ParserRefCountedData<DeclarationStacks::VarStack> > m_varDeclarations; 76 RefPtr<ParserRefCountedData<DeclarationStacks::FunctionStack> > m_funcDeclarations; 67 77 int m_lastLine; 68 78 }; … … 81 91 return 0; 82 92 } 83 RefPtr<ParsedNode> node = new ParsedNode(m_sourceElements.release()); 93 RefPtr<ParsedNode> node = new ParsedNode(m_sourceElements.release(), 94 m_varDeclarations ? &m_varDeclarations->data : 0, 95 m_funcDeclarations ? &m_funcDeclarations->data : 0); 96 m_varDeclarations = 0; 97 m_funcDeclarations = 0; 84 98 m_sourceURL = UString(); 85 99 node->setLoc(startingLineNumber, m_lastLine);
Note:
See TracChangeset
for help on using the changeset viewer.