Build fix for non-Mac platforms. Move NodeInfo into its own header so that the YYTYP...
authormrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Dec 2007 09:10:16 +0000 (09:10 +0000)
committermrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Dec 2007 09:10:16 +0000 (09:10 +0000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28859 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/NodeInfo.h [new file with mode: 0644]
JavaScriptCore/kjs/grammar.y
JavaScriptCore/kjs/lexer.cpp

index cc2c4bd..2bddebd 100644 (file)
@@ -1,3 +1,17 @@
+2007-12-09  Mark Rowe  <mrowe@apple.com>
+
+        Reviewed by Oliver Hunt.
+
+        Build fix for non-Mac platforms.  Move NodeInfo into its own header so that the YYTYPE
+        declaration in grammar.h is able to declare members of that type.
+
+        * kjs/NodeInfo.h: Added.
+        (KJS::createNodeInfo):
+        (KJS::mergeDeclarationLists):
+        (KJS::appendToVarDeclarationList):
+        * kjs/grammar.y:
+        * kjs/lexer.cpp:
+
 2007-12-19  Oliver Hunt  <oliver@apple.com>
 
         Make appendToVarDeclarationList static
diff --git a/JavaScriptCore/kjs/NodeInfo.h b/JavaScriptCore/kjs/NodeInfo.h
new file mode 100644 (file)
index 0000000..79d8e5c
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ *  Copyright (C) 2007 Apple Inc. All rights reserved.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ */
+
+#ifndef NodeInfo_h
+#define NodeInfo_h
+
+#include "nodes.h"
+#include "Parser.h"
+
+namespace KJS {
+
+template <typename T> struct NodeInfo {
+    T m_node;
+    ParserRefCountedData<DeclarationStacks::VarStack>* m_varDeclarations;
+    ParserRefCountedData<DeclarationStacks::FunctionStack>* m_funcDeclarations;
+};
+
+typedef NodeInfo<StatementNode*> StatementNodeInfo;
+typedef NodeInfo<CaseBlockNode*> CaseBlockNodeInfo;
+typedef NodeInfo<CaseClauseNode*> CaseClauseNodeInfo;
+typedef NodeInfo<SourceElementsStub*> SourceElementsInfo;
+typedef NodeInfo<ClauseList> ClauseListInfo;
+typedef NodeInfo<VarDeclList> VarDeclListInfo;
+
+} // namespace KJS
+
+#endif // NodeInfo_h
index a601b16..8b102d2 100644 (file)
@@ -32,6 +32,7 @@
 #include "lexer.h"
 #include "internal.h"
 #include "CommonIdentifiers.h"
+#include "NodeInfo.h"
 #include "Parser.h"
 #include <wtf/MathExtras.h>
 
@@ -84,12 +85,6 @@ static NumberNode* makeNumberNode(double);
 
 #endif
 
-template <typename T> struct NodeInfo {
-    T m_node;
-    ParserRefCountedData<DeclarationStacks::VarStack>* m_varDeclarations;
-    ParserRefCountedData<DeclarationStacks::FunctionStack>* m_funcDeclarations;
-};
-
 template <typename T> NodeInfo<T> createNodeInfo(T node, ParserRefCountedData<DeclarationStacks::VarStack>* varDecls, 
                                                  ParserRefCountedData<DeclarationStacks::FunctionStack>* funcDecls) 
 {
@@ -123,12 +118,6 @@ static void appendToVarDeclarationList(ParserRefCountedData<DeclarationStacks::V
     varDecls->data.append(decl);
 }
 
-typedef NodeInfo<StatementNode*> StatementNodeInfo;
-typedef NodeInfo<CaseBlockNode*> CaseBlockNodeInfo;
-typedef NodeInfo<CaseClauseNode*> CaseClauseNodeInfo;
-typedef NodeInfo<SourceElementsStub*> SourceElementsInfo;
-typedef NodeInfo<ClauseList> ClauseListInfo;
-typedef NodeInfo<VarDeclList> VarDeclListInfo;
 %}
 
 %union {
index 9a559af..4c088b4 100644 (file)
@@ -27,6 +27,7 @@
 #include "dtoa.h"
 #include "function.h"
 #include "nodes.h"
+#include "NodeInfo.h"
 #include <ctype.h>
 #include <limits.h>
 #include <string.h>