OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2005 Frerich Raabe <raabe@kde.org> | 2 * Copyright (C) 2005 Frerich Raabe <raabe@kde.org> |
3 * Copyright (C) 2006, 2009 Apple Inc. | 3 * Copyright (C) 2006, 2009 Apple Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 } | 96 } |
97 const HeapVector<Member<Predicate>>& mergedPredicates() const { | 97 const HeapVector<Member<Predicate>>& mergedPredicates() const { |
98 return m_mergedPredicates; | 98 return m_mergedPredicates; |
99 } | 99 } |
100 | 100 |
101 private: | 101 private: |
102 Kind m_kind; | 102 Kind m_kind; |
103 AtomicString m_data; | 103 AtomicString m_data; |
104 AtomicString m_namespaceURI; | 104 AtomicString m_namespaceURI; |
105 | 105 |
106 // When possible, we merge some or all predicates with node test for better
performance. | 106 // When possible, we merge some or all predicates with node test for better |
| 107 // performance. |
107 HeapVector<Member<Predicate>> m_mergedPredicates; | 108 HeapVector<Member<Predicate>> m_mergedPredicates; |
108 }; | 109 }; |
109 | 110 |
110 Step(Axis, const NodeTest&); | 111 Step(Axis, const NodeTest&); |
111 Step(Axis, const NodeTest&, HeapVector<Member<Predicate>>&); | 112 Step(Axis, const NodeTest&, HeapVector<Member<Predicate>>&); |
112 ~Step() override; | 113 ~Step() override; |
113 DECLARE_VIRTUAL_TRACE(); | 114 DECLARE_VIRTUAL_TRACE(); |
114 | 115 |
115 void optimize(); | 116 void optimize(); |
116 | 117 |
(...skipping 16 matching lines...) Expand all Loading... |
133 HeapVector<Member<Predicate>> m_predicates; | 134 HeapVector<Member<Predicate>> m_predicates; |
134 }; | 135 }; |
135 | 136 |
136 bool optimizeStepPair(Step*, Step*); | 137 bool optimizeStepPair(Step*, Step*); |
137 | 138 |
138 } // namespace XPath | 139 } // namespace XPath |
139 | 140 |
140 } // namespace blink | 141 } // namespace blink |
141 | 142 |
142 #endif // XPathStep_h | 143 #endif // XPathStep_h |
OLD | NEW |