OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999-2000 Harri Porten (porten@kde.org) | 2 * Copyright (C) 1999-2000 Harri Porten (porten@kde.org) |
3 * Copyright (C) 2001 Peter Kelly (pmk@post.com) | 3 * Copyright (C) 2001 Peter Kelly (pmk@post.com) |
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reser
ved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reser
ved. |
5 * Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca) | 5 * Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca) |
6 * Copyright (C) 2007 Maks Orlovich | 6 * Copyright (C) 2007 Maks Orlovich |
7 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 2060 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2071 bool usesArguments() const { return m_features & ArgumentsFeature; } | 2071 bool usesArguments() const { return m_features & ArgumentsFeature; } |
2072 void setUsesArguments() { m_features |= ArgumentsFeature; } | 2072 void setUsesArguments() { m_features |= ArgumentsFeature; } |
2073 bool usesThis() const { return m_features & ThisFeature; } | 2073 bool usesThis() const { return m_features & ThisFeature; } |
2074 bool needsActivation() const { return m_features & (EvalFeature | Closur
eFeature | WithFeature | CatchFeature); } | 2074 bool needsActivation() const { return m_features & (EvalFeature | Closur
eFeature | WithFeature | CatchFeature); } |
2075 | 2075 |
2076 VarStack& varStack() { return m_varStack; } | 2076 VarStack& varStack() { return m_varStack; } |
2077 FunctionStack& functionStack() { return m_functionStack; } | 2077 FunctionStack& functionStack() { return m_functionStack; } |
2078 | 2078 |
2079 int neededConstants() | 2079 int neededConstants() |
2080 { | 2080 { |
2081 // We may need 1 more constant than the count given by the parser, | 2081 // We may need 2 more constants than the count given by the parser, |
2082 // because of the various uses of jsUndefined(). | 2082 // because of the various uses of jsUndefined() and jsNull(). |
2083 return m_numConstants + 1; | 2083 return m_numConstants + 2; |
2084 } | 2084 } |
2085 | 2085 |
2086 protected: | 2086 protected: |
2087 void setSource(const SourceCode& source) { m_source = source; } | 2087 void setSource(const SourceCode& source) { m_source = source; } |
2088 | 2088 |
2089 VarStack m_varStack; | 2089 VarStack m_varStack; |
2090 FunctionStack m_functionStack; | 2090 FunctionStack m_functionStack; |
2091 | 2091 |
2092 private: | 2092 private: |
2093 SourceCode m_source; | 2093 SourceCode m_source; |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2378 }; | 2378 }; |
2379 | 2379 |
2380 struct ClauseList { | 2380 struct ClauseList { |
2381 ClauseListNode* head; | 2381 ClauseListNode* head; |
2382 ClauseListNode* tail; | 2382 ClauseListNode* tail; |
2383 }; | 2383 }; |
2384 | 2384 |
2385 } // namespace JSC | 2385 } // namespace JSC |
2386 | 2386 |
2387 #endif // NODES_H_ | 2387 #endif // NODES_H_ |
OLD | NEW |