| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2005 Maksim Orlovich <maksim@kde.org> | 2 * Copyright 2005 Maksim Orlovich <maksim@kde.org> |
| 3 * Copyright (C) 2006 Apple Computer, Inc. | 3 * Copyright (C) 2006 Apple Computer, Inc. |
| 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * | 9 * |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 HashSet<Vector<OwnPtr<Predicate> >*>::iterator pend = m_predicateVectors
.end(); | 481 HashSet<Vector<OwnPtr<Predicate> >*>::iterator pend = m_predicateVectors
.end(); |
| 482 for (HashSet<Vector<OwnPtr<Predicate> >*>::iterator it = m_predicateVect
ors.begin(); it != pend; ++it) | 482 for (HashSet<Vector<OwnPtr<Predicate> >*>::iterator it = m_predicateVect
ors.begin(); it != pend; ++it) |
| 483 delete *it; | 483 delete *it; |
| 484 m_predicateVectors.clear(); | 484 m_predicateVectors.clear(); |
| 485 | 485 |
| 486 HashSet<Vector<OwnPtr<Expression> >*>::iterator eend = m_expressionVecto
rs.end(); | 486 HashSet<Vector<OwnPtr<Expression> >*>::iterator eend = m_expressionVecto
rs.end(); |
| 487 for (HashSet<Vector<OwnPtr<Expression> >*>::iterator it = m_expressionVe
ctors.begin(); it != eend; ++it) | 487 for (HashSet<Vector<OwnPtr<Expression> >*>::iterator it = m_expressionVe
ctors.begin(); it != eend; ++it) |
| 488 delete *it; | 488 delete *it; |
| 489 m_expressionVectors.clear(); | 489 m_expressionVectors.clear(); |
| 490 | 490 |
| 491 deleteAllValues(m_strings); | |
| 492 m_strings.clear(); | 491 m_strings.clear(); |
| 493 | 492 |
| 494 deleteAllValues(m_nodeTests); | |
| 495 m_nodeTests.clear(); | 493 m_nodeTests.clear(); |
| 496 | 494 |
| 497 m_topExpr = 0; | 495 m_topExpr = 0; |
| 498 | 496 |
| 499 if (m_gotNamespaceError) | 497 if (m_gotNamespaceError) |
| 500 exceptionState.throwDOMException(NamespaceError, "The string '" + st
atement + "' contains unresolvable namespaces."); | 498 exceptionState.throwDOMException(NamespaceError, "The string '" + st
atement + "' contains unresolvable namespaces."); |
| 501 else | 499 else |
| 502 exceptionState.throwDOMException(SyntaxError, "The string '" + state
ment + "' is not a valid XPath expression."); | 500 exceptionState.throwDOMException(SyntaxError, "The string '" + state
ment + "' is not a valid XPath expression."); |
| 503 return 0; | 501 return 0; |
| 504 } | 502 } |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 580 delete vector; | 578 delete vector; |
| 581 } | 579 } |
| 582 | 580 |
| 583 void Parser::registerString(String* s) | 581 void Parser::registerString(String* s) |
| 584 { | 582 { |
| 585 if (s == 0) | 583 if (s == 0) |
| 586 return; | 584 return; |
| 587 | 585 |
| 588 ASSERT(!m_strings.contains(s)); | 586 ASSERT(!m_strings.contains(s)); |
| 589 | 587 |
| 590 m_strings.add(s); | 588 m_strings.add(adoptPtr(s)); |
| 591 } | 589 } |
| 592 | 590 |
| 593 void Parser::deleteString(String* s) | 591 void Parser::deleteString(String* s) |
| 594 { | 592 { |
| 595 if (s == 0) | 593 if (s == 0) |
| 596 return; | 594 return; |
| 597 | 595 |
| 598 ASSERT(m_strings.contains(s)); | 596 ASSERT(m_strings.contains(s)); |
| 599 | 597 |
| 600 m_strings.remove(s); | 598 m_strings.remove(s); |
| 601 delete s; | |
| 602 } | 599 } |
| 603 | 600 |
| 604 void Parser::registerNodeTest(Step::NodeTest* t) | 601 void Parser::registerNodeTest(Step::NodeTest* t) |
| 605 { | 602 { |
| 606 if (t == 0) | 603 if (t == 0) |
| 607 return; | 604 return; |
| 608 | 605 |
| 609 ASSERT(!m_nodeTests.contains(t)); | 606 ASSERT(!m_nodeTests.contains(t)); |
| 610 | 607 |
| 611 m_nodeTests.add(t); | 608 m_nodeTests.add(adoptPtr(t)); |
| 612 } | 609 } |
| 613 | 610 |
| 614 void Parser::deleteNodeTest(Step::NodeTest* t) | 611 void Parser::deleteNodeTest(Step::NodeTest* t) |
| 615 { | 612 { |
| 616 if (t == 0) | 613 if (t == 0) |
| 617 return; | 614 return; |
| 618 | 615 |
| 619 ASSERT(m_nodeTests.contains(t)); | 616 ASSERT(m_nodeTests.contains(t)); |
| 620 | 617 |
| 621 m_nodeTests.remove(t); | 618 m_nodeTests.remove(t); |
| 622 delete t; | |
| 623 } | 619 } |
| 624 | 620 |
| OLD | NEW |