While working on removing the "Impl" suffix from class names in WebCore, I discovered a conflict between KJS::Node and WebCore::Node. This happens because KJS::Node is exposed to WebCore. But it should not be. The best fix would be to not use "internal.h" at all in WebCore. This is impractical at the moment because it's used for a number of different reasons. Instead, I factored out the only thing in "internal.h" that needs KJS::Node out into a separate file. It's the parser, and the new file is "Parser.h". This fits with our future direction for JavaScriptCore of naming files after the classes in them.
Created attachment 6875 [details] patch with change log