-rolled in KDE fix to <rdar://problem/4167660> JavaScript fails to
authorggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Jul 2005 00:45:50 +0000 (00:45 +0000)
committerggaren <ggaren@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Jul 2005 00:45:50 +0000 (00:45 +0000)
commit804707dbfdf8bb7459e98e61876da6a2e647ccb0
tree72c3e6f4dd8a4431dfb8fa7febbb54519e07722f
parent3fe7af88e85e3d196fd42aca64928052ac53901e
    -rolled in KDE fix to <rdar://problem/4167660> JavaScript fails to
        throw exceptions for invalid break/continue statements

        No layout tests because it's already covered by the Mozilla suite

        Reviewed by mjs.

        * kjs/internal.h: LabelStack now tracks where you are relative to
        switch and iteration (loop) statements

        (KJS::LabelStack::LabelStack):
        (KJS::LabelStack::pushIteration):
        (KJS::LabelStack::popIteration):
        (KJS::LabelStack::inIteration):
        (KJS::LabelStack::pushSwitch):
        (KJS::LabelStack::popSwitch):
        (KJS::LabelStack::inSwitch):

        * kjs/nodes.cpp:
        These files were updated to use the new LabelStack:
        (DoWhileNode::execute):
        (WhileNode::execute):
        (ForNode::execute):
        (ForInNode::execute):
        (SwitchNode::execute):

        These files were updated to throw exceptions for invalid
        break/continue statements:
        (BreakNode::execute):
        (ContinueNode::execute):

        * tests/mozilla/expected.html: Updated expected results to reflect fix

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore/ChangeLog
JavaScriptCore/kjs/internal.h
JavaScriptCore/kjs/nodes.cpp
JavaScriptCore/tests/mozilla/expected.html